vimを使っていると、ついつい h, j, k, l で移動してしまって、後になってから本当はもっと効率よく移動することができたのではないかと思うことがある。
そこで、vim をもっと上手く使いこなすために、vimのカーソル移動についてまとめておく。
基本
h |
左 |
j |
下 |
k |
上 |
l |
右 |
gj |
表示行で下 |
gk |
表示行で上 |
0 |
行頭 |
g0 |
表示行の行頭 |
^ |
空白以外の行頭 |
g^ |
表示行の空白以外の行頭 |
$ |
行末 |
g$ |
表示行の行末 |
単語移動
w |
次の単語の先頭 |
b |
現在の単語または前の単語の末尾 |
e |
現在の単語または次の単語の末尾 |
ge |
前の単語の末尾 |
大文字
w、b、e、geにはそれぞれ大文字があり、W、B、E、gEがある。
小文字の場合は「.」や「'」は単語の区切りと見なされるが、大文字の場合の単語の区切りは空白となる。
検索
行内で検索
f{文字} |
{文字}まで前方移動 |
t{文字} |
{文字}の前まで前方移動 |
F{文字} |
{文字}まで後方移動 |
T{文字} |
{文字}の後まで後方移動 |
; |
f(F)、t(T)の繰り返し |
, |
逆方向に戻る |
ドキュメント内で検索
/{文字列} |
{文字列}を前方検索 |
?{文字列} |
{文字列}を後方検索 |
* |
カーソルの下にある単語を前方検索 |
# |
カーソルの下にある単語を後方検索 |
n |
/ 、? 、* 、# の繰り返し |
N |
逆方向に戻る |
挿入モードに入る時
挿入モードに入る時は i でカーソルの下、a でカーソルの右から挿入モードに入ることができるが、行頭や行末に文字を追加したい時はわざわざそこまで移動してから挿入モードに入るのではなく初めから行頭や行末で挿入モードに入ることができる。
I |
行頭に挿入 |
A |
行末に挿入 |
o |
1行後に挿入 |
O |
1行前に挿入 |
ジャンプ
gg |
ファイルの先頭 |
G |
ファイルの末尾 |
{行数}G |
指定した行 |
H |
画面の先頭 |
M |
画面の真ん中 |
L |
画面の末尾 |
( |
前の分の先頭 |
) |
次の文の先頭 |
{ |
前の段落の先頭 |
} |
次の段落の先頭 |
% |
対となる括弧 |
`` |
ジャンプ前にいた場所に戻る |
`. |
直前に変更した場所 |
以上。
本当はもっとあるのだろうが、とりあえず今はこのへんまで。
vimは本当に奥が深い。
もっと練習して、頭で考えなくても自然とタイプできるように体に覚えさせたい。
0 件のコメント :
コメントを投稿