ようこそゲストさん

Wiki 小さなそして広がっていく世界

メッセージ欄

2011年10月の日記

一覧で表示する

ちょっと前にddで消した行を呼び出す

未分類
ddやyy等で切り取り,コピーした行はvimに番号を振られて保存されています.
1つ前にddで削除した行を呼び出したい場合,
"2p
とコマンドモードで入力するとできます.
この数字は新しくddやyyなどを使うごとに流れていきます.

また,頻繁に使うものに関してはアルファベットを振って記憶させることが可能で,対象文字列を選択した後,
"ay
などと打てばaという名前でその文字列が記憶されます.
ちょっとした際に便利なコマンドです.

指定した間隔で

未分類
23行目から35行目までの範囲で,24行目から5行ずつ\tcc\tという文字列を行頭に挿入.
:23,35g/^/ if (line('.')- 23)%6|s/^/\tcc\t/
あるいは明示的に0以外と書きたければ
:23,35g/^/ if (line('.')- 23)%6>0|s/^/\tcc\t/
これを削除にしたければ,パイプ以下をdとする.
:23,35g/^/ if (line('.')- 23)%6|d
要は,計算式「(line('.')- 23)%6」が0でない場合に処理を行うという操作です.
ただし,このdを使ったコマンドは失敗することがあるようなので,
行頭などにフラグの文字列を一度入れて,改めてその行を削除するのがより確実だと思います.
:23,35g/^/ if (line('.')- 23)%6|s/^/delete/
:23,35g/delete/d