我们曾经在第三章简单提到过历史记录功能。其基本用法就是你可以用 <Up>【先按冒号,
向上方向键】 键调用较早的命令行。而 <Down> 键则让你回到较晚的命令行。
历史记录功能实际上共有四种。我们在这里要提到的是 用于 ":" 冒号命令以及 用于 "/"
和 "?" 搜索命令的历史记录功能. "/" 和 "?" 命令共享同一历史记录。因为两者同为
搜索命令。另外两种历史记录功能用于函数 input() 的表达式和输入行。
|cmdline-history|
假定你完成了一个 ":set" 命令,又键入了十个冒号命令,然后要再次执行那个 ":set"
命令。你本可以按一个 ":" ,然后按十次 <Up>. 更快捷的方法是:
你现在就回到以前执行过的,以 "se" 开头的命令。没准儿那就是你想找的 ":set" 命
令。至少你不至于按很多 <Up> 键 (除非你执行的都是 ":set" 命令)。
<Up> 键用你在命令行上已经键入的文本去跟历史记录里的命令作比较。只有匹配的命
令才被显示出来。
从头来过。
显示历史记录里所有的命令:
那是 ":" 冒号命令的历史记录。搜索历史记录用这个命令来显示:
如果你不愿用光标方向键,CTRL-P 作用就跟 <Up> 一样。而 CTRL-N 跟 <Down> 一样。
CTRL-P 意指前一个,CTRL-N 意指下一个。
--------------------------------------------------------------------------------
*20.5*
在命令行上键入文本跟插入模式下键入文本有所不同。许多修改文本的命令都不能用。对
大多数命令而言,那问题不大,但有时你必须键入一个复杂的命令。那样的场合用命令行
窗口就非常有用了.
用这个命令来打开命令行窗口【包含所有历史命令行】:
Vim 现在就在屏幕底部打开了一个 (很小的) 窗口。它存放着命令行历史记录,以及一行
空行在末尾:
现在你处于普通模式下。你可以用 "hjkl" 键来移动光标。例如,用 "5k" 上移至
":e config.h.in" 那一行。键入 "$h" 移到 "in" 的 "i" 字符上,并键入 "cwout"。
现在你把这一行改成了这样:
现在按 <Enter> 执行这个命令。命令行窗口就关上了。
按 <Enter> 键执行光标下的那个命令。这跟 Vim 处于插入模式抑或普通模式无关。
是你执行的命令将被加到历史记录的末尾,跟所有执行过的命令一样.
在你要总览历史记录时,命令行窗口十分有用,查找类似命令,修改一点点,然后执行它。
一个搜索命令可用来寻找某些东西。
的命令。这有点儿奇怪,因为你是在命令行窗口内用命令行作搜索。在键入搜索命令时,
你打不开另一个命令行窗口,命令行窗口是唯一的。