2011-10-27 7 views
0

私は外部コマンドを実行するいくつかのマップコマンドを書いています。例えば、次のmapコマンドを使って作業中のプロジェクトをコンパイルすることができます。vim内でエコーシェルコマンド

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

しかし、vimがシェルに切り替えると、実行されているコマンドが明確ではありません。コマンドをシェルに表示する方法はありますか?毎回次のように書く必要があるのは面倒ですが、それは私が望むことをするでしょう。

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

使用nnoremapは良いアイデア – JuanPablo

+0

であるIなぜ最初の 'n'が重要であるのか理解しています。なぜ 'nore'はそれほど重要なのでしょうか? が既にマップされているとエラーになりますか? – schmmd

+1

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

答えて

2

外部コマンドプロセッサがUNIXスタイルのシェルであれば、それはエコー機能を持っており、あなたがそれにxオプションを渡すだけですが:

map <F5> :!sh -xc 'mvn compile test'<CR> 
関連する問題