vi命令行历史命令及命令行窗口

我们曾经在第三章简单提到过历史记录功能。其基本用法就是你可以用 <Up>【先按冒号,

向上方向键】 键调用较早的命令行。而 <Down> 键则让你回到较晚的命令行。


历史记录功能实际上共有四种。我们在这里要提到的是 用于 ":" 冒号命令以及 用于 "/"
和 "?" 搜索命令的历史记录功能. "/" 和 "?" 命令共享同一历史记录。因为两者同为
搜索命令。另外两种历史记录功能用于函数 input() 的表达式和输入行。
|cmdline-history|

假定你完成了一个 ":set" 命令,又键入了十个冒号命令,然后要再次执行那个 ":set"
命令。你本可以按一个 ":" ,然后按十次 <Up>. 更快捷的方法是:

              :se<Up>

你现在就回到以前执行过的,以 "se" 开头的命令。没准儿那就是你想找的 ":set" 命
令。至少你不至于按很多 <Up> 键 (除非你执行的都是 ":set" 命令)。

<Up> 键用你在命令行上已经键入的文本去跟历史记录里的命令作比较。只有匹配的命
令才被显示出来。
     如果你没找到你要找的命令,用 <Down> 回到你键入的文本作修改。或者用 CTRL-U
从头来过。

显示历史记录里所有的命令:

              :history

那是 ":" 冒号命令的历史记录。搜索历史记录用这个命令来显示:

              :history /

如果你不愿用光标方向键,CTRL-P 作用就跟 <Up> 一样。而 CTRL-N 跟 <Down> 一样。
CTRL-P 意指前一个,CTRL-N 意指下一个。



--------------------------------------------------------------------------------

*20.5*    命令行窗口

在命令行上键入文本跟插入模式下键入文本有所不同。许多修改文本的命令都不能用。对
大多数命令而言,那问题不大,但有时你必须键入一个复杂的命令。那样的场合用命令行
窗口就非常有用了.

用这个命令来打开命令行窗口【包含所有历史命令行】:

        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=========================|
                                                                         |
              +-------------------------------------+

现在你处于普通模式下。你可以用 "hjkl" 键来移动光标。例如,用 "5k" 上移至
":e config.h.in" 那一行。键入 "$h" 移到 "in" 的 "i" 字符上,并键入 "cwout"。
现在你把这一行改成了这样:

              :e config.h.out

现在按 <Enter> 执行这个命令。命令行窗口就关上了。
按 <Enter> 键执行光标下的那个命令。这跟 Vim 处于插入模式抑或普通模式无关。
     在命令行窗口内所作的修改不会被保存. 它们不会导致历史记录被修改. 唯一例外就
是你执行的命令将被加到历史记录的末尾,跟所有执行过的命令一样.

在你要总览历史记录时,命令行窗口十分有用,查找类似命令,修改一点点,然后执行它。
一个搜索命令可用来寻找某些东西。
     在前面那个例子中,搜索命令 "?config" 本来可以用来发现先前那个含有 "config"
的命令。这有点儿奇怪,因为你是在命令行窗口内用命令行作搜索。在键入搜索命令时,
你打不开另一个命令行窗口,命令行窗口是唯一的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值