我已将<F5>
配置为使用Windows启动命令,但尝试使用命令行选项“/ wait”会混淆VIM,以便找不到该命令。
这是我的旧映射:
noremap <F5> :w<CR>:!start "%:p"<CR>
我将映射更改为:
nnoremap <F5> :w<CR>:!start /wait "%:p"<CR>
使用后者会导致以下错误:
E371:找不到命令
但为什么“命令未找到”,命令仍然是“开始”,不是吗?
提前致谢!
答案 0 :(得分:2)
Vim实现:!start
命令it-self,因为Vim必须正确处理后台命令。它没有/wait
选项。见:help :!start
。
使用“start”停止Vim切换到另一个屏幕,打开一个新的控制台, 或等待程序完成;它表明你正在运行一个 程序不会影响您正在编辑的文件。计划开始了 使用:!开始不要通过Vim的打开文件句柄,这意味着他们这样做 不必在Vim之前关闭。
为避免这种特殊待遇,请使用“:!start”。
:nnoremap <F5> :w<CR>:! start /wait %:p<CR>
仅供参考:原始启动命令不需要参数的双引号。