Vim( Vi ) エディター

Vim

コマンドモード ... Escを押すことで確実にコマンドモードになる。カーソル移動やファイル保存、切り取りや貼り付けなど様々な機能を利用できる。

インサートモード ... iまたはaを押下して入るモード。ファイルに文字を入力できる。 * i ... カーソルの前側へ文字を入力 * a ... カーソルの後ろ側へ文字を入力

vimtutor ... Vimの使い方

コマンドモードでの操作

キー,コマンド 説明
h
j
k
l
:q! 保存せずに終了
:wq 保存して終了
i 挿入
a 追加
I 行頭でインサートモード
A 行末でインサートモード
o( O ) カーソル行の下(上)に空行を作りインサートモード
x コピーして削除
d 削除コマンド(モーションや数値を組み合わせて使用)
dd 行をコピーして削除 先頭に数値入力で行数を指定
u 最後のコマンドを取り消す
U 行全体の取消
Ctrl+R 取消の取消
p( P ) 最後に削除されたテキストをカーソルの後ろ(前)に貼り付ける(行単位で削除した場合はカーソル行の下(上)に貼り付ける)
y vでビジュアルモードにしてカーソル移動でコピー範囲を決めてyでコピー
数値yy 指定数値行分をコピー(数値を指定しない場合は1行のみ)
r カーソル下の文字を置き換える
R 1文字以上を置換する
c 変更コマンド(モーションや数値を組み合わせて使用)
/ /検索したい文字列 (nで下,Nで上に移動)
? 逆方向に検索する
Ctrl+o 元の場所に戻る
% 対になる括弧に移動
:s/old/new カーソル行の最初のoldをnewに置換
:s/old/new/g カーソル行の全てのoldをnewに置換
:数値,数値s/old/new/g 数値間で置換(数値に置換する範囲の開始と終了の行番号を指定)
:%s/old/new/g ファイルの中全てを置換
:%s/old/new/gc 置換の度に確認を求める
:set number 行数を表示
:set nonumber 行数表示をなくす
:数値 数値行に移動
Ctrl + f(d) 次(前)ページ移動
モーション 説明
w カーソル位置から単語の末尾まで(空白を含む)
e カーソル位置から単語の末尾まで(空白を含まない)
$ カーソル位置から行末まで

モーションの前に数値で繰り返す例

  • 2w ... 空白含む単語2つ分移動
  • 3e ... 3つ目の単語の末尾に移動
  • 0(ゼロ) ... 行頭に移動