0

:!次のようなシェルコマンドを実行するために使用する場合:

!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 %

4

1 に答える 1