左右の移動 left-right-motions
この節で説明するコマンドはどれも、カーソルをカレント行の指定の位置に移動させます。これらのコマンドは行の先頭と末尾でストップします。例外は $
で、カウントを指定した場合は下の行へ移動します。設定'whichwrap' をオンにすると、これらのコマンドが行をまたいで移動するようになります。
※{count}指定がなければデフォルトでは1が指定される
{conut} h | {count}文字分、左に移動します。{count}指定がなければ1文字移動 |
{conut} l | {count}文字分、右に移動します。{count}指定がなければ1文字移動 |
0 | その行の最初の文字に移動します |
^ | その行の最初の非空白文字に移動します |
$ | その行の最後に移動します。カウントが指定された場合は、{count - 1}行下にも移動します。ビジュアルモードではカーソルは行の最後の文字の後へ移動します。設定'virtualedit' がオンのときには、$ によってカーソルが行末の先から行の最後の文字へバックするかもしれません。 |
{count} | | 現在の行の {count} スクリーン桁位置に移動します |
{count} f{char} | 右に向かって {count} 番目に現れる {char} に移動し、カーソルがその {char} 上に置かれます |
{count} F{char} | 左に向かって {count} 番目に現れる {char} に移動し、カーソルがその {char} 上に置かれます |
{count} t{char} | 右に向かって {count} 番目に現れる {char} まで移動します。カーソルは {char} の左側の文字に置かれます |
{count} T{char} | 左に向かって {count} 番目に現れる {char} まで移動します。カーソルは {char} の右側の文字に置かれます |
{count} ; | {count} 回最後の f, t, F, T を繰り返します |
{count} , | {count} 回最後の f, t, F, T を反対方向に繰り返します |
上下の移動 up-down-motions
{conut} k | {count}行上に移動 |
{conut} j | {count}行下に移動 |
{count} gk | {count} 表示行上に移動。行が折り返されている場合とオペレータコマンドとともに使われた場合は k と違う動作になります(行単位ですから) |
{count} gj | {count} 表示行下に移動。行が折り返されている場合とオペレータコマンドとともに使われた場合は j と違う動作になります(行単位ですから) |
{count} - | 行上の最初の非空白文字に移動します(行単位) |
{count} + | 行下の最初の非空白文字に移動します(行単位) |
{count} _ | {count} -1 行下の最初の非空白文字に移動します(行単位) |
{count} G | {count} 行目の最初の非空白文字に移動します(行単位)。カウントの前置がなければ最後の行に移動します。設定'startofline' がセットされていなければ同じ桁位置に移動します。G はジャンプモーションです |
{count} gg | {count} 行目の最初の非空白文字に移動します(行単位)。カウントの前置がなければ最初の行に移動します。設定'startofline' がセットされていなければ同じ桁位置に移動します。 |
{count}% | ※{count}必須。ファイルの {count} パーセントの位置の最初の非空白文字に移動します |
単語単位の移動 word-motions
これらのコマンドは word もしくは WORD 単位で移動します。
word
word はアルファベット、数字、アンダースコア、もしくは他の非空白文字の連続で構成され、ホワイトスペース(スペース、タブ、)で区切られます。これらは設定'iskeyword' オプションで変更することができます。空行も word とみなされます。
WORD
WORD は非空白文字の連続で構成され、ホワイトスペースで区切られます。空行もまた1つの word と WORD と見なされます。折り畳まれた一連の行は1文字からなる1単語と数えられます。w
と W
, e
と E
は折り畳まれた行の範囲の後の最初の word や WORD の初め/終わりに移動します。b
と B
は折り畳みの前の最初の word や WORD の初めに移動します。
特殊なケース: カーソルが非空白文字の上にあれば cw
と cW
は ce
と cE
のように扱われます。これは cw
が単語を変更するコマンドだと解釈されるからで、単語には続くホワイトスペースは含まれていないからです。
もう一つの特殊なケース: オペレータコマンドと移動コマンド w
を組み合わせたときカーソルがその上を移動した最後の単語が行末にあった場合、その単語の終わりがオペレータの対象になるテキストの終わりになります。次の行の最初の単語ではありません。
{count} w | {count} word 前方に。 |
{count} W | {count} WORD 前方に。 |
{count} e | {count} word 前方の単語の終わりに。w や b と異なり、空行では止まりません。 |
{count} E | {count} WORD 前方の単語の終わりに。w や b と異なり、空行では止まりません。 |
{count} b | {count} word 後方に。 |
{count} B | {count} WORD 後方に。 |
{count} ge | {count} word 後方の単語の最後に。 |
{count} gE | {count} WORD 後方の単語の最後に。 |
オブジェクト単位で移動 object-motions
{count} ( | {count} 文後方に |
{count} ) | {count} 文前方に |
{count} { | {count} 段落後方に |
{count} } | {count} 段落前方に |
{count} ]] | {count} セクション前方に、もしくは1桁目が { で始まる次の場所に。オペレータコマンドの後で使われた場合は1桁目の } の下でも止まります。 |
{count} ][ | {count} セクション前方に、もしくは1桁目が '}' で始まる次の場所に。 |
{count} [[ | {count} セクション後方に、もしくは1桁目が '{' で始まる前の場所に。 |
{count} [] | {count} セクション後方に、もしくは1桁目が '}' で始まる前の場所に。 |
これらのコマンドは3種類のテキストのまとまりの単位で移動します。
sentence
文は .
, !
, ?
で終わり、その後に行末かスペースもしくはタブが続くものとし
て定義されます。任意の数の閉じ )
, ]
, "
, '
文字が .
, !
, ?
の後
に、そして改行もしくはスペースかタブの前に現れてもよいです。段落とセクションの
境界は文の境界でもあります。
もし 'J' フラグが 'cpoptions' にある場合は句読点の後に少なくとも二つのスペース
がある必要があります; はホワイトスペースとして認識されません。
文の定義を変更することはできません。