如果你使用 (neo)vim 作为你的编辑器,首先你必须理解 buffer、tab 和 window 的概念。
:w
可以将 buffer 中的数据写入,使用 :q!
表示退出并丢弃 buffer 中的内容。每个 buffer 有一个特殊的数字表示,并且有可以有三种状态:active、inactive 和 hidden。
如果此时有一个处于 hidden 状态,并且内容已经被更改的 buffer,使用 :q
命令退出 neovim 时,neovim 会给出一个错误信息,指引我们可以将 buffer 中的内容写入(:wq)或者退出不写入(:q)。
:buffer
或者 :ls
: 列出所有 buffer, 每个 buffer 都有一个数字标识# `:ls` 列出所有 buffer
# a 表示 active buffer
# 每个 buffer 有一个数字标识
:ls
1 %a + "docs/开发者笔记/vim buffer.md" line 29
13 #h "~/projects/program/site-generator/docs/开发者笔记/Vscode Neovim.md" line 1
:b <number>
: 显示指定数字代表的 buffer:b <partial name>
:显示指定文件名称代表的 buffer,支持模糊匹配:new
:在水平 split window 创建一个 buffer:vnew
: 在竖直 split window 创建一个 buffer:enew
: 在新的 window 创建一个 buffer:bp
: 切换到前一个 buffer:bn
: 切换到后一个 buffer:bf
: 切换到第一个 buffer:bl
: 切换到最后一个 buffer:bd
: 移除一个 buffer:w
: 将当前 buffer 中的内容写入文件,保存:q
: 退出当前 buffer,如果 buffer 中有未保存的内容,退出失败:q!
: 强制退出当前 buffer,不保存 buffer 中的内容:wa
: 将所有 buffer 中的变更写入文件,并保存:xa
: 将所有 buffer 中的变更写入文件,保存并退出:qa!
: 退出,并丢弃 buffer 中的变更:qa
: 退出所有 buffer,如果有未保存的 buffer,退出失败以顶部 tab 的形式显示打开的 buffer。并且显示 buffer 的状态,buffer 是否未保存。
支持文件搜索,文件内容搜索和 buffer 搜索。
(完)