カーソル移動(左右)
| 入力 | 説明 |
|---|---|
h | 1 文字左へ |
l | 1 文字右へ |
0 | 行頭へ |
$ | 行末へ |
5| | カレント行の 5 文字目へ |
^ | 最初の表示可能な文字へ |
カーソル移動(行番号指定でジャンプ)
| 入力 | 説明 |
|---|---|
gg:1 | 1 行目へジャンプ |
10gg10G:10 | 10 行目へジャンプ |
G:$ | 最終行へジャンプ |
:$-3 | 最終行より 3 行上へジャンプ |
:+10 | カレント行から 10 行下へジャンプ |
dGカーソル移動(画面内でジャンプ)
| 入力 | 説明 |
|---|---|
H | 画面内の一番上にジャンプ(ホーム行) |
M | 画面内の中央行にジャンプ |
L | 画面内の一番下にジャンプ |
3H | 画面内の一番上から 3 行目にジャンプ |
3L | 画面内の一番下から 3 行目にジャンプ |
カーソル移動(ブロック単位でジャンプ)
| 入力 | 説明 |
|---|---|
w | 次の単語の先頭へ |
W | 次の単語の先頭へ(後続する記号も単語の一部とみなす) |
b | 前の単語の先頭へ |
B | 前の単語の先頭へ(後続する記号も単語の一部とみなす) |
e | 単語の末尾へ |
E | 単語の末尾へ(後続する記号も単語の一部とみなす) |
( | 現在の文の先頭へ |
) | 次の文の先頭へ |
{ | 現在の段落の先頭へ(空行で判断) |
} | 次の段落の先頭へ(空行で判断) |
[[ | 現在のセクションの先頭へ(行頭にある { を検索) |
]] | 次のセクションの先頭へ(行頭にある { を検索) |
w や b によるカーソル移動時に、どこまでを単語の切れ目と見なすかは、iskeyword オプションによって設定されています。
現在の設定値を見るには次のようにします。
:set iskeyword?
例えば、次のような値が設定されていることを確認できます。
iskeyword=@,48-57,_,192-255
@ は、C 言語の isalpha() が true を返す文字を示しています。
数値は ASCII コードを示しています。
小文字だけを単語に含むことができることを指定するには、次のようにします。
:set iskeyword=a-z
詳しくは、:help 'iskeyword' と :help 'isfname' で確認してください。
カーソル移動(特殊なジャンプ)
| 入力 | 説明 |
|---|---|
Enter | 次の行の表示可能な先頭文字へ |
+ | 次の行の表示可能な先頭文字へ |
- | 前の行の表示可能な先頭文字へ |
`` | ジャンプ前のカーソル位置へ戻る |
'' | ジャンプ前のカーソル位置へ戻る(表示可能な先頭文字へ) |
対応する括弧にジャンプする
| 入力 | 説明 |
|---|---|
% | 対になっている括弧へジャンプ |
ノーマルモードのとき、括弧の上にカーソルを合わせて % と入力することで、対応する括弧(()、{}、[] など)にジャンプすることができます。
括弧の上にカーソルを合わせなくても、カーソル行に対になっている括弧があれば、そこにジャンプすることができます。
このジャンプは、C 言語のコメントの /* と */ にも対応しており、さらに、プリプロセッサの #ifdef と #else、#endif 間のジャンプにも使用することができます。
デフォルトでは % によりマッチさせる括弧の種類は ()、{}、[] になっていますが、matchpairs オプションで変更することができます。
set matchpairs=(:),{:},[:]