vimの移動コマンド
こんにちは。
よく使っているエディタ、vimについてメモします。
vimには便利な移動コマンドが沢山あって魅力的です、でもなかなか使いこなせていない感じがします。上下左右移動を覚えた後、さらに自由にファイルを編集するための移動コマンドを調べてみました。
基本的な移動
| コマンド | 意味 |
|---|---|
h |
左へ移動 |
j |
下へ移動 |
k |
上へ移動 |
l |
右へ移動 |
0 |
行左端へ移動 |
$ |
行右端へ移動 |
^ |
文頭へ移動 |
g_ |
文末へ移動 |
折り返された行での移動
基本的なコマンドに対してgを頭につけると、折り返し時の移動が楽になります。
| コマンド | 意味 |
|---|---|
gj |
下へ移動 |
gk |
上へ移動 |
g0 |
画面左端へ移動 |
g$ |
画面右端へ移動 |
gm |
画面中央へ移動 |
例えばgj、gkは画面で見たままの上下移動になります。

また、g0、gm、g$コマンドは画面上水平方向の位置へ移動します。
gをつければ画面上で見たままの、上下左右移動、行頭、行末移動になると覚えておくといいと思います。
検索
| コマンド | 意味 |
|---|---|
f[char] |
カーソル位置から行末方向にある[char]の位置にカーソルを移動 |
t[char] |
カーソル位置から行末方向にある[char]の直前の位置にカーソルを移動 |
F[char] |
カーソル位置から行頭方向にある[char]の位置にカーソルを移動 |
T[char] |
カーソル位置から行頭方向にある[char]の直前の位置にカーソルを移動 |
; |
直近のf、t、F、Tをリピートします |
, |
直近のf、t、F、Tを逆方向にリピートします(つまりfaのあとの,はFa) |

次の行、次の文、次の段落
| コマンド | 意味 |
|---|---|
+ |
次の行の最初の文字に移動 |
- |
前の行の最初の文字に移動 |
) |
次の文へ移動(文はドットとスペース.で区切ります) |
( |
前の文へ移動 |
} |
次の段落へ移動 |
{ |
前の段落へ移動 |

感想
gif作成時にタイプミスしないようにするのが大変でした。(作成にはttygifを使いました。)
...ちょっと再生速度が速いみたいです。
検索で;、,を使いこなせば速度が上がるかと思います、,は忘れがちなので気をつけます。
いずれ画面操作系のコマンド(配置、リサイズ等)についてもメモしておきたいです。