0


2

READMEファイルに次のコマンドがあります。

./Setup ...
./Setup ...
./Setup ...

コードを視覚的に選択してから実行して実行します。

私はうまく走れなかった

: '<,'> !

彼の答えの中でLucがコメントした後の現在のコード

うまくいかなかった.vimrcの私のコード:

vmap v y:exe '!'。join(split(@ "、" \ n ")、 ';')

私はキーボードの組み合わせを作るようにしています

v yy
  • Vimで直接ファイルのコマンドを実行できるように、どうやって上記のコマンドを動作させることができますか?*

2 Answer


5


  • まずあなたのテキストを選択してください。

  • 次に、「+ y +」でコピーします。

  • 最後に、次を実行できます。

    :exe '!'.join(split(@", "\n"),';')


1


これは物事を単純化し過ぎているかもしれませんが、なぜそうしないのか:

:e README
:%!bash

これはbashを通して現在のファイルをフィルタし、各行をコマンドとして実行します。 現在のバッファは、ファイル内のすべてのコマンドを実行した結果の出力に置き換えられます。

最初に別のファイルとして保存するには、 `+:w RESULTS +`を実行すると役立つ場合があります。そうすれば、誤って元のファイルを上書きすることはありません。

:e README
:w RESULTS
:%!bash

視覚的な選択でこれを行いたいと言っていましたが、それでもうまくいきます。実行したいものを選択したら、「:」と入力します。 `+ '<、'> `は、現在のコマンドの前に自動的に追加されます。 ` '<`は現在の選択範囲の先頭のマークで、 `'> +`は現在の選択範囲の末尾のマークです。 上記のように選択したコマンドだけを実行することができます。

:'<,'>!bash

これは、選択されたコマンドだけをそれらのコマンドの実行の出力に置き換えます。