Vimで選択した行を取り込み、一度インデントし、先頭にジャンプしてコードを挿入し、最後にジャンプしていくつかのコードを挿入しますか?選択したコードをインデントするVimスクリプト
最初と最後に挿入する必要があるコードは静的であり、変更する必要はありません(少なくとも、この時点ではありません)。
Vimで選択した行を取り込み、一度インデントし、先頭にジャンプしてコードを挿入し、最後にジャンプしていくつかのコードを挿入しますか?選択したコードをインデントするVimスクリプト
最初と最後に挿入する必要があるコードは静的であり、変更する必要はありません(少なくとも、この時点ではありません)。
はのは、テキストが---
で始まり、テキストを終了するとしましょう、あなたはマクロにそれを記録したい場合は、視覚的な選択で始まる、「A」をバッファ言う***
:execute "normal gv>i---\<Esc>`>a***"
です使用:
Qa
に記録開始>インデント
私挿入モード
-- -最後の視覚的な選択の開始テキスト
Escキーノーマルモード
`>エンド
01の後に挿入
次のキーシーケンス手順が有効です。
x
ラインの必要数(S)である
a
マクロ
またはこのようなものです。
HTH
を記録 ***エンドテキスト
Escキーノーマルモード
Q終わりこれは、古い質問ですが、私はとにかく貢献しようと思いました。これは、段落を囲んでテキストを囲む方法です。ちょうどあなたが求めているものではありませんが、コードの小さな素敵な小さな塊を書くなら、これはほんのちょっとばかりです。どこでも段落タイプから:
> IP(インデント段落)
はKI(最初の行の前にジャンプし、新しいものを開く)あなたが最初に何をしたい
タイプ段落ここ
< Escキー>}(段落の最後の行の後にジャンプ)
段落
<のの終わりに何をしたいタイプCR > < Escキー>
暗示として、ここで注意事項は、あり、これは「段落」(空行)でなければならず、段落の後に改行がない場合、これは正しく動作しません。これに対処するには、oの代わりにiを使用しますが、挿入するコードの最下位ビットの前に空の行が表示されます。これを考慮したい場合は、vimscriptに何かを書く必要があります。< Escキー>} orescue <CR>端<CR> ipkibegin
QT>:ここ
はI開始/レスキュー/終了(例えば)のブロックを実行するマクロt
を設定するために使用するすべてのストロークであります< Escキー> Q
は確かに良い方法がありますが、これはマルコ・レベルでそれを保っています。
いいね、ブロックコメント? – Rook
これもうまくいくはずです。この特定のケースでは、デバッグのためにtry/catchブロックにいくつかの行をラップすることを考えています(エラーをstderrにリダイレクトする必要があります)。 – exupero