2011-10-27 58 views
0

我在写一些运行外部命令的map命令。例如,我可能有以下map命令来编译工作项目。vim中的回声shell命令

nnoremap <F5> :!mvn compile test<CR> 

但是,当vim切换到shell时,不清楚命令运行的是什么。有没有一种方法让命令在shell上显示,但没有回应它?每次需要写下面的内容似乎很乏味,但它会做我想做的事情。

nnoremap <F5> :!echo "mvn compile test"<CR>:!mvn compile test<CR> 
+1

使用nnoremap是一个更好的主意 – JuanPablo

+0

我理解为什么第一个'n'很重要,为什么'nore'如此重要?如果已被映射,它会给出错误吗? – schmmd

+1

http://stevelosh.com/blog/2011/09/writing-vim-plugins/#imap-and-nmap-are-pure-vil – JuanPablo

回答

2

如果您的命令处理程序是一个UNIX风格的外壳,它有回音功能,你只需要x选项传递给它:

map <F5> :!sh -xc 'mvn compile test'<CR>