Vim——正如你可能已经了解的那样——是一个包含很多特性的强大的编辑器。我们已经写了好多关于Vim的教程,覆盖了基本用法、插件,还有一些其他的有用的特性。鉴于Vim提供了多如海洋的特性,我们总能找到一些有用的东西来和我们的读者分享。
在这篇教程中,我们将会重点关注你如何在编辑窗口执行外部的命令,并且访问命令行shell。
但是在我们开始之前,很有必要提醒一下,在这篇教程中提及到的所有例子、命令行和说明,我们已经在Ubuntu14.04上测试过,我们使用的的Vim版本是7.4。
在Vim中执行外部命令
有的时候,你可能需要在Vim编辑窗口中执行外部的命令。例如,想象一下这种场景:你已经在Vim中打开了一个文件,并做了一些修改,然后等你尝试保存这些修改的时候,Vim抛出一个错误说你没有足够的权限。
现在,退出当前的vim会话,重新使用足够的权限打开文件将意味着你会丢失所做的所有修改,所以,你可能赞同,在大多数情况不是只有一个选择。像这样的情况,在编辑器内部运行外部命令的能力将会派上用场。
稍后我们再回来上面的用例,但是现在,让我们了解下如何在vim中运行基本的命令。
假设你在编辑一个文件,希望知道这个文件包含的行数、单词数和字符数。为了达到这个目的,在vim的命令行模式下,只需要输入冒号:,接下来一个感叹号!,最后是要执行的命令(这个例子中使用的是wc)和紧接着的文件名(使用%表示当前文件)。
:!wc%