VIM“!”和Windows启动命令

时间:2017-07-01 21:13:23

标签: windows shell vim

我已将<F5>配置为使用Windows启动命令,但尝试使用命令行选项“/ wait”会混淆VIM,以便找不到该命令。

这是我的旧映射:

noremap <F5> :w<CR>:!start "%:p"<CR>

我将映射更改为:

nnoremap <F5> :w<CR>:!start /wait "%:p"<CR>

使用后者会导致以下错误:

  

E371:找不到命令

但为什么“命令未找到”,命令仍然是“开始”,不是吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

Vim实现:!start命令it-self,因为Vim必须正确处理后台命令。它没有/wait选项。见:help :!start

  

使用“start”停止Vim切换到另一个屏幕,打开一个新的控制台,   或等待程序完成;它表明你正在运行一个   程序不会影响您正在编辑的文件。计划开始了   使用:!开始不要通过Vim的打开文件句柄,这意味着他们这样做   不必在Vim之前关闭。

     

为避免这种特殊待遇,请使用“:!start”。

:nnoremap <F5>  :w<CR>:! start /wait %:p<CR>

仅供参考:原始启动命令不需要参数的双引号。