2009-11-07 27 views
26

外部コマンドを実行してその出力をレジスタに格納することはできますか? EXコマンドのではなく、外部コマンドのVIM:外部コマンドの出力をレジスタに格納する

  • :redir作品(私の知る限り)
  • :r !は、外部コマンドを実行しますが、直接の答えに上のユーザーのおかげで見つかり

答えて

35

カレントバッファに出力を挿入しますvimの使用メーリングリスト:

:let @a = system("ls -l")

は、引数としてカーソルの下のファイルを使用してコマンドを実行するには、次の

:let @a = system("ls -l " . shellescape(expand('<cfile>')))

+2

これは、シェルコマンドを構築するときに 'shellescape()'関数を使用することが賢明です。この例では、 ':let @a = system(" ls -l "。shellescape(expand( ''))')を実行します。 – jamessan

+1

回答を更新する良い点 –

関連する問題