技巧35-运行Shell命令

  • 不用离开Vim就能方便的调用外部程序。
  • 还可以吧缓冲区的内容作为标准输入发送给一个外部命令,或者吧外部命令的标准输出倒入缓冲区里。

执行Shell中的程序

  • 在Vim的命令行模式中,给命令加一个感叹号前缀就可以调用外部程序。

    • 例如查看当前目录的内容:
    :!ls
    
    • 执行一次性命令:!{cmd}
    • :shell 启动一个交互的shell会话。
    :shell
    
    • exit退出交互shell返回Vim.
    $exit
    
    • 把Vim置于后台
    Ctrl-z
    
    • fg命令返回挂起前的状态。
    $fg
    
    • jobs查看挂起进程。
    $ jobs
    [1]  + suspended  vim README.md
    
    

把缓冲区内容作为标准输入或输出

  • :read !{cmd} 命令把命令的标准输出读入到当前缓冲区中。
  • :write !{cmd} 命令把缓冲区内容作为指定{cmd}的标准输入。