VIM学习笔记 命令行模式 (Command-line Mode)

命令行模式 (Command-line Mode)

在以下三种情况下,将进入命令行模式:

用户可以在屏幕底部的命令行中输入命令,或者使用以下快捷键遍历之前的命令历史,然后点击<Enter>键来执行命令。

显示上一条命令
Ctrl + p
显示下一条命令
Ctrl + n
Ctrl + b移动到命令行开头
Ctrl + e移动到命令行末尾
Ctrl + ←向左移动一个单词
Shift + ←
Ctrl + →向右移动一个单词
Shift + →
Ctrl + w删除光标前的一个单词
Ctrl + u删除光标前的所有字符

输入部分命令,比如输入:set,然再点击上下光标键,将自动对命令历史纪录进行过滤,仅显示以“set”开头的命令历史纪录。在输入/?查找命令时,此特性同样有效。请注意,此时是大小写敏感的。

继续键入命令:set i之后,按下TabCtrl+D键,将显示以“i”开头的set命令;继续按Tab键,则可以在这些命令列表间移动,按下回车键就可以执行该命令。

set_i_tab

进入命令行模式之后,点击Ctrl-rCtrl-w键可以将当前光标下的word粘贴到命令行中;点击Ctrl-rCtrl-a键可以将当前光标下的WORD粘贴到命令行;点击Ctrl-r%键可以将当前文件名粘贴到命令行。

利用以上快捷键,可以大大简化命令行的输入。比如想要替换光标下的单词,那么只要输入:substitute命令,然后再点击Ctrl-r和Ctrl-w键,就可以将光标下的单词插入到命令行中,而不需要手工输入替换的文字了。

:%s/<Ctrl-r><Ctrl-w>//g

比如在编辑vimrc配置文件时,会面对大量的设置命令,只需要将光标移动到配置选项之上,输入:help命令,然后点击Ctrl-r和Ctrl-w键,就可以查询该关键字的帮助信息:

:help <Ctrl+r><Ctrl+w>

使用:help c_CTRL-R_CTRL-W命令,可以查看关于Ctrl+r和Ctrl+w键的帮助信息。使用:help c_CTRL-R命令,可以查看关于在命令行模式下Ctrl+r键的帮助信息。

使用:help cmdline-editing命令,可以查看关于命令行编辑的帮助信息。使用:help :命令,可以查看关于命令行模式的帮助信息。

命令行窗口 (Command-line Window)

可以使用以下四种方式,来打开命令行窗口:

  1. 在命令行模式下,使用CTRL-F快捷键打开命令行窗口,并显示命令历史纪录;
    请注意,您可以使用:set cedit命令,更改此快捷键。
  2. 在常规模式下,使用q:命令打开命令行窗口,并显示命令历史纪录;
    command-line-window
  3. 在常规模式下,使用q/命令打开命令行窗口,并显示向前查找(search forward)的历史纪录;
    command-line-window
  4. 在常规模式下,使用q?命令打开命令行窗口,并显示向后查找(search backward)的历史纪录;
    command-line-window

我们可以将命令行窗口,视为常规的缓冲区 (Buffer)来操作。使用kj键,可以在命令历史纪录中上下移动;也可以使用/命令查找命令历史纪录,并在此基础上进行修改,然后点击<Enter>键来执行命令(命令行窗口也将同时关闭)。

如果同时打开多个缓冲区 (Buffer),那么可以在一个缓冲区的命令行窗口使用yy命令复制一条命令,然后在另一个缓冲区的命令行窗口中粘贴并执行该命令,或者在命令行中使用:@"<CR>来执行复制的命令。也就是说,你可以很方便地在多个缓冲区中,重复执行命令(比如相同的:%s/old/new/g替换操作),而不必多次手工输入命令。

使用以下命令,可以设置命令行窗口的高度(默认值为7):

:set cmdwinheight=n

使用:q命令,可以关闭命令行窗口。

使用:help command-line-window命令,可以查看命令行窗口的更多帮助信息。

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>