5.1 在 VIM 内执行外部命令的方法
** 输入 :! 然后紧接着输入一个外部命令可以执行该外部命令。**
- 按下我们所熟悉的
:
命令使光标移动到屏幕底部。这样您就可以输入一行命令了。 - 接着输入感叹号
!
这个字符,这样就允许您执行外部的 shell 命令了。 - 我们以
ls
命令为例。输入!ls <回车>
。该命令就会列举出您当前目录的
内容,就如同您在命令行提示符下输入ls
命令的结果一样。如果!ls
没起
作用,您可以试试:!dir
看看。
提示:所有的外部命令都可以以这种方式执行,包括带命令行参数的那些。
提示:所有的 :
命令都必须以敲 <回车>
键结束。从今以后我们就不会总是提到这一点
了。
5.2 关于保存文件的更多信息
** 要将对文件的改动保存到文件中,请输入 :w FILENAME 。**
- 输入
:!dir
或者:!ls
获知当前目录的内容。您应当已知道最后还得敲<回车>
吧。 - 选择一个未被用到的文件名,比如
TEST
。 - 接着输入
:w TEST
(此处TEST
是您所选择的文件名。) - 该命令会以
TEST
为文件名保存整个文件 (Vim 教程)。为了验证这一点,
请再次输入:!dir
或:!ls
查看您的目录列表内容。
请注意:如果您退出 Vim 然后在以命令 vim TEST
再次启动 Vim,那么该文件内
容应该同您保存时的文件内容是完全一样的。
- 现在您可以删除 TEST 文件了。
在 MS-DOS
下,请输入: :!del TEST
在 Unix
下,请输入: :!rm TEST
5.3 一个具有选择性的保存命令
** 要保存文件的部分内容,请输入 v motion :w FILENAME **
- 移动光标到本行。
- 接着按
v
键,将光标移动至下面第五个条目上。您会注意到之间的文本被高亮了。 - 然后按
:
字符。您将看到屏幕底部会出现:'<,'>
。 - 现在请输入
w TEST
,其中TEST
是一个未被使用的文件名。确认您看到了:'<,'>w TEST
之后按<回车>
键。 - 这时 Vim 会把选中的行写入到以 TEST 命名的文件中去。使用
:!dir
或:!ls
确认文件被正确保存。这次先别删除它!我们在下一讲中会用到它。
提示:按 v
键使 Vim
进入可视模式进行选取。您可以四处移动光标使选取区域变大或
变小。接着您可以使用一个操作符对选中文本进行操作。例如,按 d
键会删除
选中的文本内容。
5.4 提取和合并文件
** 要向当前文件中插入另外的文件的内容,请输入 :r FILENAME **
- 通过命令
:r TEST
将前面创建的名为 TEST 的文件提取进来。
您所提取进来的文件将从光标所在位置处开始置入。 - 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第
五讲第三节的内容,一份是原始内容,另外一份是来自文件的副本。
提示:您还可以读取外部命令的输出。例如, :r !ls
可以读取 ls
命令的输出,并
把它放置在光标下面。
总结
:!command
用于执行一个外部命令 command。请看一些实际例子:
(MS-DOS) (Unix)
:!dir
:!ls
- 用于显示当前目录的内容。
:!del FILENAME
:!rm FILENAME
- 用于删除名为 FILENAME 的文件。:w FILENAME
可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
件中。v motion :w FILENAME
可将当前编辑文件中可视模式下选中的内容保存到文件
FILENAME 中。:r FILENAME
可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
后面。:r !dir
可以读取dir
命令的输出并将其放置到当前文件的光标位置后面。