Nvim :help
页面,生成 自 源 使用 tree-sitter-vimdoc 解析器。
:split此命令将屏幕分成两个窗口,并将光标留在上面的窗口中
+----------------------------------+ |/* file one.c */ | |~ | |~ | |one.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
CTRL-W
w 命令可用于在窗口之间跳转。如果你在上面的窗口中,CTRL-W
w 会跳到下面的窗口。如果你在下面的窗口中,它将跳到第一个窗口。(CTRL-W
CTRL-W
做同样的事情,以防你稍后才松开 CTRL 键。):close实际上,任何退出编辑文件的命令都可以,例如 ":quit" 和 "ZZ"。但 ":close" 可以防止你在关闭最后一个窗口时意外退出 Vim。
:only这将关闭所有窗口,除了当前窗口。如果其他窗口中有更改,你将收到错误消息,并且该窗口不会关闭。
:split two.c如果你正在编辑 one.c,那么结果看起来像这样
+----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
:new你可以重复 ":split" 和 ":new" 命令来创建任意数量的窗口。
:3split alpha.c对于现有窗口,你可以通过多种方式更改大小。当你有可用的鼠标时,这很容易:将鼠标指针移动到分隔两个窗口的状态行,然后将其向上或向下拖动。
CTRL-W +要减小它
CTRL-W -这两个命令都接受一个计数,并将窗口大小增加或减少该计数行数。因此 "4
CTRL-W
+" 使窗口高出四行。{height}CTRL-W _那是:一个数字
{height}
,CTRL-W
然后是一个下划线(在英文-美国键盘上,Shift 键与 - 键一起使用)。要使窗口尽可能高,请使用 CTRL-W
_ 命令而不带计数。:vsplit或
:vsplit two.c结果看起来像这样
+--------------------------------------+ |/* file two.c */ |/* file one.c */ | |~ |~ | |~ |~ | |~ |~ | |two.c===============one.c=============| | | +--------------------------------------+
:vertical new":vertical" 命令可以插入到另一个分割窗口的命令之前。这将导致该命令垂直分割窗口,而不是水平分割窗口。(如果该命令不分割窗口,它将按原样工作。)
CTRL-W
h 移动到左边的窗口 CTRL-W
j 移动到下面的窗口 CTRL-W
k 移动到上面的窗口 CTRL-W
l 移动到右边的窗口CTRL-W
t 移动到顶部窗口 CTRL-W
b 移动到底部窗口+----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file three.c */ | |~ | |~ | |three.c===========================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
CTRL-W
w),然后键入以下命令CTRL-W K这使用了大写字母 K。发生的事情是窗口被移动到最顶部。你会注意到,K 再次用于向上移动。当你进行垂直分割时,
CTRL-W
K 会将当前窗口移动到顶部,并使其占据整个 Vim 窗口的宽度。如果这是你的布局+-------------------------------------------+ |/* two.c */ |/* three.c */ |/* one.c */ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |two.c=========three.c=========one.c========| | | +-------------------------------------------+
CTRL-W
K 将导致+-------------------------------------------+ |/* three.c */ | |~ | |~ | |three.c====================================| |/* two.c */ |/* one.c */ | |~ |~ | |two.c==================one.c===============| | | +-------------------------------------------+
CTRL-W
H 将窗口移动到最左边 CTRL-W
J 将窗口移动到底部 CTRL-W
L 将窗口移动到最右边:qall这代表 "退出所有"。如果任何窗口包含更改,Vim 将不会退出。光标将自动定位在有更改的窗口中。然后,你可以使用 ":write" 保存更改,或者使用 ":quit!" 丢弃它们。
:wall这代表 "写入所有"。但实际上,它只写入已更改的文件。Vim 知道,写入未更改的文件没有意义。然后是 ":qall" 和 ":wall" 的组合:"写入并退出所有" 命令
:wqall这将写入所有修改过的文件并退出 Vim。最后,有一个命令可以退出 Vim 并丢弃所有更改
:qall!小心,这个命令无法撤销!
vim -o one.txt two.txt three.txt这将导致
+-------------------------------+ |file one.txt | |~ | |one.txt========================| |file two.txt | |~ | |two.txt========================| |file three.txt | |~ | |three.txt======================| | | +-------------------------------+
nvim -d main.c~ main.cVim 将启动,并在窗口旁边并排显示两个窗口。你只会看到你添加字符的那一行,以及它上面和下面的几行。
VV VV +-----------------------------------------+ |+ +--123 lines: /* a|+ +--123 lines: /* a| <- fold | text | text | | text | text | | text | text | | text | changed text | <- changed line | text | text | | text | ------------------| <- deleted line | text | text | | text | text | | text | text | |+ +--432 lines: text|+ +--432 lines: text| <- fold | ~ | ~ | | ~ | ~ | |main.c~==============main.c==============| | | +-----------------------------------------+
:edit main.c :vertical diffsplit main.c~":vertical" 命令用于使窗口垂直分割。如果你省略此命令,你将获得水平分割。
:edit main.c :vertical diffpatch main.c.diff警告:补丁文件必须只包含一个补丁,用于您正在编辑的文件。否则您将收到许多错误消息,并且一些文件可能会被意外地修补。修补只会对 Vim 中的文件副本进行。硬盘上的文件将保持不变(直到您决定写入文件)。
:set noscrollbind
]c要反向跳转,请使用
[c在前面添加一个计数以跳转更远。
:diffupdate要删除差异,您可以将突出显示的块中的文本从一个窗口移动到另一个窗口。以上面的“main.c”和“main.c~”为例。将光标移动到左侧窗口,在另一个窗口中被删除的行上。现在输入以下命令
dp通过将当前窗口的文本放入另一个窗口中,更改将被删除。“dp”代表“diff put”。您也可以反过来做。将光标移动到右侧窗口,移动到插入“changed”的行。现在输入以下命令
do更改现在将通过从另一个窗口获取文本而被删除。由于现在没有剩余的更改,Vim 将所有文本放入一个关闭的折叠中。“do”代表“diff obtain”。“dg”本来会更好,但它已经有了不同的含义(“dgg”从光标删除到第一行)。
CTRL-W
。CTRL-^
跳转到备用文件,CTRL-W
CTRL-^
拆分窗口并编辑备用文件。{cmd}
当前窗口左侧或上方 :aboveleft {cmd}
同上 :rightbelow {cmd}
当前窗口右侧或下方 :belowright {cmd}
同上 :topleft {cmd}
在 Vim 窗口的顶部或左侧 :botright {cmd}
在 Vim 窗口的底部或右侧:tabedit thatfile这将在占据整个 Vim 窗口的窗口中编辑“thatfile”文件。您会注意到顶部有一条显示两个文件名。
+----------------------------------+ | thisfile | /thatfile/ __________X| (thatfile is bold) |/* thatfile */ | |that | |that | |~ | |~ | |~ | | | +----------------------------------+
+----------------------------------+ | /thisfile/ | thatfile __________X| (thisfile is bold) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +----------------------------------+
:tab split这将创建一个新的标签页,其中包含一个正在编辑与我们之前所在窗口相同的缓冲区的窗口。
+-------------------------------------+ | thisfile | /thisfile/ | thatfile __X| (thisfile is bold) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +-------------------------------------+
:tab help gt将在新的标签页中显示“gt”的帮助文本。