Vim

【vimめも】 5. insertモード・visualモードの基本的な操作

 インサートモード

  • <C-a> : 前回入力した値を挿入
  • <C-r> + ${レジスタ} : レジスタの内容を挿入
  • <C-h> : 1文字削除
  • <C-w> : 1単語削除
  • <C-u> : 1行削除
  • <C-t> : インデント(右)
  • <C-d> : インデント(左)
  • <C-o> + ${コマンド} : ノーマルモードのコマンドを実行し、挿入モードに戻る
  • <C-n> or <C-p> : 入力補完。補完の候補を前に:(n) 後ろに(p)
  • <C-r> + ${レジスタ} : レジスタの内容を貼り付け

ビジュアルモード

  • y : ヤンク
  • d or x : ヤンク+削除
  • c or s : ヤンク+削除+挿入モード
  • > : インデントを右にずらす
  • < : インデントを左にずらす
  • ~ : 大文字小文字入れ替え
  • u : 小文字に変換
  • U : 大文字に変換
  • p : or P ペースト(上書き。選択していた元の値がヤンクされる)
  • <C-a> : 数字をインクリメント
  • <C-x> : 数字をデクリメント
  • g<C-a> : 数字をインクリメント。複数行あるときは行カウントの数だけインクリメント
  • g<C-x> : 数字をデクリメント。複数行あるときは行カウントの数だけデクリメント

【使用例】

連番を作りたい時

元のテキスト
1

v : 選択
y : ヤンク
4p : 4回ペースト

1
1 #<-カーソルここ
1
1
1

<C-v> : 短形選択
G : 1番下まで移動

1
1 #<-ここから
1
1
1 #<-ここまで選択

g<C-a> : 連続してインクリメント

1
2
3
4
5

行頭に同じ文字を挿入したい時

元のテキスト
name #<= カーソルここの行頭(normalモード)
kana
height
width

<C-v> : 短形選択モード
G : 1番下まで移動
<S-i> : 選択範囲の前から挿入モード
self. : 任意文字の入力
<C-[ : 挿入モードを抜ける

self.name
self.kana
self.height
self.width

行末に同じ文字を挿入したい時

元のテキスト

元のテキスト
p "1" #<= カーソルここの行頭(normalモード)
p "1a"
p "a"
p "a1"
p "1a2"
p "&"

<C-v> : 短形選択モード
G : 番下まで移動
$ : 行末まで移動(各行の行末)
<S-a> : 選択範囲の後ろから挿入モード
.to_i : 任意文字の入力
<C-[ : 挿入モードを抜ける

p "1".to_i
p "1a".to_i
p "a".to_i
p "a1".to_i
p "1a2".to_i
p "&".to_i

前回:【vimめも】 4. テキストオブジェクト
次回:【vimめも】 6. 複雑な繰り返し処理