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ファイルの先頭に移動する。
GShift + 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アプリ開発@つくば , 2018 AllRights Reserved Powered by AFFINGER4.