“command”前缀的含义和“!”的后缀

时间:2014-11-13 21:19:14

标签: vim

我正在从vim学习vimtutor,我目前正在上第5课,他们引入了外部命令前缀!command和外部命令后缀command!。我测试了命令ls并执行了以下操作:

输入:!ls后,我得到了:

Desktop    Downloads  Music Public     TEST
Documents    Pictures   Templates  Videos

Press ENTER or type command to continue

当我看到文件夹和文件列表时,我知道它就像在终端中输入ls一样,但当我输入:ls!时,它得到了:

:ls!
  1 %a   "/tmp/tutorhN8t15"             line 600
Press ENTER or type command to continue

这使我对外部命令!的真正含义感到困惑。它究竟意味着什么?

1 个答案:

答案 0 :(得分:3)

  • :!command执行外部命令command

  • :command!使用“bang”执行内部命令command,通常会修改其行为。

因此...

  • :!ls执行shell的ls命令,该命令列出工作目录中的文件和目录。

    请参阅:help :!

  • :ls!执行Vim的ls命令,强制它显示列出的和未列出的缓冲区。

    请参阅:help :ls