ラベル vim の投稿を表示しています。 すべての投稿を表示
ラベル vim の投稿を表示しています。 すべての投稿を表示

2012年10月3日水曜日

vimで一括処理

文字コードや改行コードを一括で変換したい時や特定の文字列を置換したい時に、nkfがなくても、sedを知らなくても、vimさえあればなんとかなります。

1. Vimを起動する

2. カレントディレクトリを置換対象のファイルがあるディレクトリに移動する
:cd foo

3. 引数リストにファイルを追加する
例. カレントディレクトリ以下の拡張子がcのファイル。
:args  **/*.c

4. 確認する
:args

5. 置換する
例. エンコーディングをutf-8、改行コードをLF、タブをスペースにする。
:argdo fenc=utf8 ff=unix et | update

余談
argdoの他にbufdo、tabdo、windoもある。
argsの他に個別に追加削除するためのargaddやargdeleteもある。

2011年8月9日火曜日

vimdiffは忘れやすい

たまにしか使わないのでいつも忘れてしまう。
とりあえずdoとdpの使い方さえマスター出来れば、マージ作業の速度は10倍ぐらいに上がるはず。

起動
vimdiff file1 file2 [file3 [file4]]

起動 gvimの場合
gvim -d file1 file2 [file3 [file4]]

あるいは
alias gvimdiff='gvim -d' #もし無ければaliasを設定

gvimdiff file1 file2 [file3 [file4]]

前の差分へ移動
[c

次の差分へ移動
]c

現在のバッファをもう1つのバッファと同じくなるように変更をする
"o" は "obtain"の意味 (via :h vimdiff)
do

もう1つのバッファを現在のバッファと同じくなるように変更する
"p"何だろう?"put"のp?
dp