シェルコマンドをマッピングしてvimとして実行する

シェルコマンドをマッピングしてvimとして実行する

現在編集中のファイルからプログラムを実行するために、私の~/vimrcファイルのキーをマップしたいと思います。どうすればいいですか?これで互換性が壊れますか?<F4>vimindentvi

よろしくお願いします。

ベストアンサー1

マニュアルページにはヒントさえありませんが、stdin(つまりFD 0)から読み取ってstdout(つまりFD 1)に書き込むパイプの操作を処理することがわかり--helpました。indentこの職業以内にWim。

マップされたコマンドで始まります。

map <F4> :!indent<CR>

ファイルの最初の行に移動してビジュアルモード(Ctrl-v)に入ります。その後、キーを押すとCtrl-Endファイルの最後の行に移動します。すべての行を含む最後の行の幅に1ブロック(vimのすべての行の末尾にある改行文字)を加えた値が強調表示されているように見えます。外部コマンドを介してこのブロックを提供する場合、垂直方向が唯一の決定要因であるため、幅は重要ではありません。行が含まれている場合は、行全体になります。

今あなたは押して急いF4でください。 これが私がテストしたものです効果がある IMOは簡単です。必要に応じて、ファイル全体の代わりにセクションを簡単にインデントすることもできます。別のアイデアは、マッピングからreturnを削除して<CR>直接Enterキーを押す必要がありますが、goオプションも提供することですindent。その後、さまざまなスタイルを混合して一致させることができます。ハハ。

ファイル全体を自動的に選択するようにマッピングするには、呼び出してindentコマンドモードおよび/または元の場所に戻ります。より複雑な構成では、これが可能であると確信しています。残念ながら、私は現在vimプログラミングについて何も知らないので、それがどのように機能するのか私に言うことはできません。しかし、そのような人がいるかもしれません。その前には6つのキーストローク要件(:1ファイルの先頭に移動するには+ return、ctrl-vファイルの先頭に移動するには+ return、ctrl-endファイルの最後に移動するには+ return、最後に+ return)を満たす必要がありますF4

おすすめ記事