間違った方法で検索しているのかもしれませんが、その方法を見つけることができませんでした。
これがシナリオです。テキストファイルにリストがあり、同じWordを複数の行に挿入したい場合、テキストの例を次に示します。
12.1 Item1 12.2 Item2 12.3 Item3
次に、下にアンダースコアで示されている8番目の列を視覚的にブロックマークし、アイテムの列を移動せずに空白の一部をDone
に置き換える予定です。
12.1 _ Item1 12.2 _ Item2 12.3 _ Item3
置換モードに入ることができると思っていましたが、挿入(I
)、追加(A
)、または変更モード(c
)しか入力できません。変更モードは、私が望むものに近づきます。Wordの長さがわかっている場合は、ブロックを同じ幅に設定できます。
ここで見逃しているものはありますか?
4列を選択してc
を押してみませんか?
<C-v>
2j
3l
cDone
<Esc>
また、:h normal
を使用することもできます。
V
2j
:'<,'>norm 7lRDone
<Esc>
ビジュアルブロック内で置換する場合は、 vis.vim
プラグイン 。
http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block
インストールするには:
http://www.drchip.org/astronaut/vim/index.html#VIS からvis.vba.gzをダウンロードします
# Open vis.vba.gz in Vim 7.1 or later.
vim vis.vba.gz
# Source the open file.
:so %
# Quit Vim
:q
インストール後:
ctrl-v to enter visual-block mode
Move to select the block you want
:B s/pattern/newtext/
さらに、置換だけでなく、ビジュアルブロックに対して任意のExコマンドを実行できます。例えば :B !sort
。