行を選択し、を押し:
てコマンドモードに入ります。Vimは自動的に入力'<,'>
し、選択した行に範囲を制限します。あなたの例では、:s
コマンドを使用してスワップを実行できます。
:'<,'>s/\(\w\+\), \(\w\+\)/\2, \1/
これにより、ビジュアル選択のすべての行でコンマで区切られた2つの単語が入れ替わります。
使用することもできます'<
し、'>
他のブックマークやラインの位置のように、移動コマンドの一部として、例えば、その通常モードでd'<
視覚的な選択では最初の行の先頭に現在のカーソル位置から削除されます。ブロックが視覚的に強調表示されなくなっても、マークは有効なままです。
記録されたマクロをすべての行で再生する場合は、:normal
コマンドを使用してマクロを実行する必要があります。残念ながら、:normal
コマンドはある範囲の行では機能しませんが、:global
コマンドで修正できます。これにより:ex
、正規表現に一致するすべての行でコマンドが実行されるため、次のことができます。
:'<,'>g/^/ norm @a
説明:
:'<,'> for every line in the visual block
g/^/ on every line that matches the regex /^/ - i.e. every line
norm run in normal mode
@a the macro recorded in a