Nvim :help
页面,生成 自 源代码 使用 tree-sitter-vimdoc 解析器。
<BS>
键。这会擦除光标之前的字符。要擦除之前键入的另一个字符,请首先使用光标键移动光标。例如,您键入了以下内容:s/col/pig/在您按下
<Enter>
之前,您注意到“col”应该改为“cow”。要更正此问题,请键入 <Left>
五次。光标现在就在“col”之后。键入 <BS>
和“w”进行更正:s/cow/pig/现在您可以直接按下
<Enter>
。您无需在执行命令之前将光标移动到行尾。<Left>
左移一个字符 <Right>
右移一个字符 <S-Left>
或 <C-Left>
左移一个词 <S-Right>
或 <C-Right>
右移一个词 CTRL-B
或 <Home>
移动到命令行开头 CTRL-E
或 <End>
移动到命令行结尾<S-Left>
(按住 Shift 键并按下向左箭头键)和 <C-Left>
(按住 Ctrl 键并按下向左箭头键)在所有键盘上都不起作用。其他 Shift 和 Ctrl 组合也是如此。<BS>
删除光标之前的字符。要删除整个单词,请使用 CTRL-W
。CTRL-W
<Insert>
键在插入字符和替换现有字符之间切换。从以下文本开始<S-Left>
两次(或 <Left>
八次,如果 <S-Left>
不起作用)将光标移动到“fine”的开头。现在按下 <Insert>
切换到覆盖模式并键入“great”<BS>
,因为它会删除“t”(这与替换模式不同)。相反,按下 <Insert>
从覆盖模式切换到插入模式,然后键入空格CTRL-C
或 <Esc>
。<Esc>
是通用的“退出”键。不幸的是,在传统的 Vi 中,在命令行中按下 <Esc>
会执行命令!由于这可能被视为错误,因此 Vim 使用 <Esc>
取消命令。但是,使用 'cpoptions' 选项可以使其与 Vi 兼容。当使用映射(可能为 Vi 编写)时,<Esc>
也与 Vi 兼容。因此,使用 CTRL-C
是一种始终有效的办法。<BS>
将取消命令。这就像删除该行开头的 ":" 或 "/" 一样。:s[ubstitute]这意味着 ":substitute" 的最短形式是 ":s"。以下字符是可选的。因此 ":su" 和 ":sub" 也有效。
:set autoindent :set ai您可以在此处找到长名称和短名称的完整列表:option-list.
:edit bodyofthepaper.txt很容易键入错误。更快的办法是
:edit b<Tab>这将导致相同的命令。发生了什么?
<Tab>
键会自动完成光标之前的单词。在本例中为“b”。Vim 会在目录中查找,发现只有一个以“b”开头的文件。这肯定就是您要查找的文件,因此 Vim 会为您完成文件名。:edit i<Tab>Vim 会发出蜂鸣声,并显示
:edit info.txt蜂鸣声表示 Vim 找到多个匹配项。然后它使用找到的第一个匹配项(按字母顺序)。如果您再次按下
<Tab>
,您将看到:edit intro.txt因此,如果第一个
<Tab>
没有为您提供您要查找的文件,请再次按下它。如果还有更多匹配项,您将依次看到它们。如果您在最后一个匹配项上按下 <Tab>
,您将回到您最初键入的内容:edit i然后它会从头开始。因此,Vim 会循环遍历匹配项列表。使用
CTRL-P
反向遍历列表<Tab>
-------------------------+ | <Tab>
--> <Tab>
--> :edit i :edit info.txt :edit intro.txt <-- CTRL-P
<-- CTRL-P
| +---------------------- CTRL-P
------------------------><Tab>
时,您会看到:set icon为什么您没有看到 ":set info.txt"?这是因为 Vim 有上下文感知的自动完成功能。Vim 会查找的单词类型取决于它前面的命令。Vim 知道您不能在 ":set" 命令后面使用文件名,但可以使用选项名称。同样,如果您重复键入
<Tab>
,Vim 会循环遍历所有匹配项。有很多匹配项,最好先键入更多字符:set isk<Tab>显示
:set iskeyword现在键入“=”并按下
<Tab>
:set iskeyword=@,48-57,_,192-255这里发生的是 Vim 插入选项的旧值。现在您可以编辑它。使用
<Tab>
自动完成的内容是 Vim 在该位置预期的内容。只需尝试一下看看它是如何工作的。在某些情况下,您将无法获得您想要的内容。这可能是因为 Vim 不知道您想要什么,或者因为该情况没有实现自动完成。在这种情况下,您将看到插入了 <Tab>
(显示为 ^I)。CTRL-D
完成此操作。例如,在以下操作之后按 CTRL-D
:set is结果为
:set is incsearch isfname isident iskeyword isprint :set isVim 会列出匹配项,然后返回您键入的文本。您现在可以查看列表以查找您想要的内容。如果它不在那里,您可以使用
<BS>
更正该单词。如果有许多匹配项,请在按下 <Tab>
自动完成其余部分之前键入更多字符。如果您仔细观察,您会注意到“incsearch”不是以“is”开头的。在本例中,“is”代表“incsearch”的短名称。(许多选项都有短名称和长名称。)Vim 足够智能,知道您可能想将选项的短名称扩展为长名称。CTRL-L
命令将单词自动完成到最长的无歧义字符串。如果您键入 ":edit i" 并且有文件“info.txt”和“info_backup.txt”,您将看到 ":edit info"。<Up>
键来回忆以前的命令行。<Down>
然后带您回到更新的命令。<Up>
。有一个更快的办法:se<Up>Vim 现在将回到之前以 "se" 开头的命令。很有可能这就是你想要执行的 ":set" 命令。至少你应该不需要经常按
<Up>
键(除非你只执行了 ":set" 命令)。<Up>
键将使用你已输入的文本并将其与历史记录中的行进行比较。只有匹配的行才会被使用。如果你没有找到你要查找的行,请使用 <Down>
键返回到你的输入并进行修正。或者使用 CTRL-U
键重新开始。:history这就是 ":" 命令的历史记录。使用此命令可以显示搜索历史记录
:history /CTRL-P 将与
<Up>
键的功能类似,但它不关心你已经输入了什么内容。类似地,CTRL-N
和 <Down>
键也是如此。CTRL-P
代表上一个,CTRL-N
代表下一个。q:Vim 现在将在底部打开一个(较小的)窗口。它包含命令行历史记录,并在最后面有一个空行
+-------------------------------------+ |other window | |~ | |file.txt=============================| |:e c | |:e config.h.in | |:set path=.,/usr/include,, | |:set iskeyword=@,48-57,_,192-255 | |:set is | |:q | |: | |command-line=========================| | | +-------------------------------------+
<Enter>
键,该命令将被执行。命令行窗口将关闭。<Enter>
命令将执行光标所在的行。无论 Vim 是否处于插入模式或正常模式都没有关系。命令行窗口中的更改将丢失。它们不会导致历史记录发生改变。除了你执行的命令将被添加到历史记录的末尾,就像所有已执行的命令一样。