Vimのカーソル移動のコマンドまとめ

投稿日:2017年2月25日 更新日:

こんにちは、okuzawatsです。
使いこなしてますか、Vim。

Vimを極めると超絶的なスピードでファイルを編集できるらしいですね。
わたくしはVimを全然使いこなせていないので、あまり高速に編集できません。

とりあえずカーソルの移動だけでも高速にできるようにしたいです。
ということで、Vimのカーソル移動の方法をまとめてみました。

Vimでカーソルを移動させるには、便利な方法がたくさんあります。
たくさんありすぎてまとめきれませんので、良く使うコマンドからまとめていこうと思います。
基本的なことから書いていき、少しずつ追加していく予定です。

カーソルを1つずつ移動する

まずは基本中の基本。
カーソルを1つずつ移動する方法です。

カーソルキーで操作するのと同じですが、カーソルキーを使わないほうがVim的ですね。
カーソルキーに指を持っていくと他の操作が遅れるので、こちらを使ったほうが高速です。

h、j、k、lの4つの連続したキーを使ってカーソルを移動します。

h カーソルを1文字分左に移動
j カーソルを1行分下に移動
k カーソルを1行分上に移動
l カーソルを1文字分右に移動

カーソルを数個ずつ移動する

上の応用で、h、j、k、lと数字キーを使って、カーソルを数個分カーソルを移動します。

数字キーを打った後、h、j、k、lのキーを押下します。
数行分の移動を行いたい時に便利ですね。

数字 + h カーソルをN文字分左に移動
数字 + j カーソルをN行分下に移動
数字 + k カーソルをN行分上に移動
数字 + l カーソルをN文字分右に移動

1行が折り返して表示されている時に行を移動する

ターミナル上で1行が折り返して表示されている時は、表示上の行を移動することができます。

gj カーソルを表示上の1行分上に移動
gk カーソルを表示上の1行分下に移動

行の中で移動する

行の中でカーソルを移動します。
1文字ずつ移動するのはかなりダルいので、Vimのコマンドで効率的に移動しましょう。

0 行の先頭に移動(インデントの前)
^ 行の先頭に移動(インデントの後ろ)
$ 行の末尾に移動
+ 下の行の先頭に移動(インデントの後ろ)
- 上の行の先頭に移動(インデントの後ろ)

指定行に移動する

ファイルの先頭や末尾には、一発で移動できます。
また、移動したい先の行番号がわかっていれば、これも一発で移動できます。
対応する括弧まで移動するのも可能です。

gg ファイルの先頭に移動する。
G Shift + g。ファイルの末尾に移動する。
: + 数字 Escキーを押した後に「:」と数字。数字で指定した行に移動する。
% 対応する括弧に移動する。

画面をスクロールする

画面をひたすらスクロールしていきたい時は、1行1行移動するのではなく、スクロール機能を使います。
ブラウザのスペース、Shift + スペースみたいな操作ですね。

画面半分スクロールする操作と、画面1個分スクロールする操作があります。
controlキーとu、d、b、fの4つのキーで画面を移動します。

uはup、dはdown、bはbefore、fはforeの略でしょうか。

control + u 画面半分上へ移動する。
control + d 画面半分下へ移動する。
control + b 画面1個分上へ移動する。
control + f 画面1個分下へ移動する。
shift + m 画面中央へ移動する。

カーソル位置をマークする

Vimで"mk"コマンドとコマンドすることで、カーソル位置をマークする(記憶させる)ことができます。
マークした位置まで移動したり、マークした位置まで削除することができます。

mk 現在のカーソル位置をマークする。
'k マークした位置に移動する。
d'k 現在のカーソル位置からマークした位置までを削除する。

茨城県つくば市在住のAndroidアプリエンジニアです。

-プログラミング

Copyright© Androidアプリ開発@つくば , 2017 AllRights Reserved Powered by AFFINGER4.