我如何找出vim命令的作用?

idb*_*rii 1 vim

许多vim博客文章将提供一系列vim命令,但不解释所有细节.新用户如何使用vim的帮助来弄清楚它是如何工作的?

例如,这是来自此博客文章的命令:

ggjV/---<cr>k:v/layout:\|title:/d<cr>
Run Code Online (Sandbox Code Playgroud)

我认识到这/layout:\|title:/是一个正则表达式,但我怎样才能找出v/regex/d的作用?

idb*_*rii 5

Vim有三种查找帮助的方法:

  • :help 关键字
    • 查找关键字(支持部分匹配和制表符完成).
    • 如果你知道你在寻找什么,那就太好了.
  • :helpgrep 查询
    • 为特定文本查询提供所有帮助.
    • 如果你不知道你在寻找什么,那就太好了.
  • ķ
    • 查找光标下文本的帮助.
    • 仅在编辑vimscript时有意义.
    • tpope的VIM-scriptease具有改善K从上下文(区分计算出的命令的类型:callcall()).

在这种情况下,我们知道命令的一部分,以便我们可以使用:help.但是我们使用什么关键字?

使用正确的前缀完成选项卡可以很快找到您要查找的内容,如果您已经了解该命令的某些内容:

  • : 用于cmdline/Ex-mode命令
    • 例: :help :help
    • 这些是在屏幕底部输入的.看到:help :
  • ' 用于选项
    • 例: :help 'incsearch'
    • 这些是应用的vim设置:set.见:help :set:help option-list.
  • 正常模式命令没有前缀
    • 例: :help CTRL-]
    • 看到 :help Normal-mode
  • i_ 用于插入模式
    • 例: :help i_CTRL-[
    • 看到 :help Insert-mode
  • v_ 用于视觉模式
    • 例: :help v_CTRL-]
    • 看到 :help Visual-mode

Vim命令名称几乎总是以标点符号结尾(非单词字符).

如果我们输入命令序列,我们将看到v/layout从cmdline输入的内容(在屏幕底部输入).这意味着我们需要包括结肠.我们将忽略,/layout因为标点符号终止了命令名称.

:help :v
Run Code Online (Sandbox Code Playgroud)

Vim将为您提供命令的缩写名称以及有关使用它的信息.在这种情况下,它提到:v是"与...相同!",因此我们可以向上滚动以查找:g!(:全球).

简而言之,Vim帮助您拥有所需的一切::help help-summary拥有上述信息和更多新的用户提示.

  • 选项卡完成的一个很好的补充是CTRL-D,它将一次显示所有可能的完成,以便于浏览. (2认同)