カーソル移動(左右)
入力 | 説明 |
---|---|
h | 1 文字左へ |
l | 1 文字右へ |
0 | 行頭へ |
$ | 行末へ |
5| | カレント行の 5 文字目へ |
^ | 最初の表示可能な文字へ |
カーソル移動(行番号指定でジャンプ)
入力 | 説明 |
---|---|
gg :1 | 1 行目へジャンプ |
10gg 10G :10 | 10 行目へジャンプ |
G :$ | 最終行へジャンプ |
:$-3 | 最終行より 3 行上へジャンプ |
:+10 | カレント行から 10 行下へジャンプ |
カーソル移動(画面内でジャンプ)
入力 | 説明 |
---|---|
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
オプションで変更することができます。