:!
次のようなシェルコマンドを実行するために使用する場合:
!echo hi
VimScript コマンドとその出力の両方を表示するので、次のようになります。
:!echo hi
hi
これは、コマンド ライン モードで実行する場合は問題ありませんが、.vim
ファイル経由で実行する場合は表示したくありません。コマンドの結果を確認したいだけです。
VimScript コマンドのエコーを無効にする方法はありますか?
私は私が使用できることを知っています
echo system('echo hi')
しかし、それではインタラクティブなシェルプログラムで使用できなくなります...
ところで、私は Linux を使用しています。Windows では、シェル コマンドは新しいコンソール ウィンドウで実行されるため、これは実際には問題ではありません...
編集:
これは私の小さな実例です:
function! RunShellTask(cmd)
execute '!'.a:cmd
return v:shell_error
endfunction
call RunShellTask('echo hi')
私はそれを実行します:source %