Pythonに足を生やす

趣味や勉強のアウトプット等

【怖くない】Vimmerへの一歩: 移動編

こんにちは。
Vimmerへの一歩」はVim = 仕方なく使うもの・使いにくいエディタと現在進行系で思っている私がVimmerを目指すための連載シリーズです。
Vimを使いつつこれは便利だな、覚えるべきだなと思ったコマンドを機能ごとに記していきたいと思います。

対象読者は、

  • Vimはできれば使いたくない…と思っている方
  • インサートモードとノーマルモードの違いを知っている方

となります。インサートモードとノーマルモードの違いに関してはVimでは文字を入力できるモードとコマンド等を待ち受けるモードの2種類があるんだな、くらいの理解で大丈夫です。
Vimに苦手意識を持っている方と一緒に成長していければ幸いです。
(これも便利だよ!というコマンド等あればコメント等でご指摘いただけると嬉しいです)

さて、初回のテーマは移動編です。
せっかくVimを使っているのにインサートモード内で矢印キー、というのは私も含めVim初心者にありがちなことです。 しかしながら、Vimには素晴らしい移動機能がたくさん存在します。
せっかくなので便利な移動コマンド達を使いこなして、ファイル内を縦横無尽に駆け巡りましょう。

素早くカーソルを移動させすぎて、ウィンドウがついてこなくなった場合は zz とzを2回押すことで、カーソルが中心となるように画面がスクロールされます。
カーソルがトップとなるようにするには zt と押下してください。

目次

基本操作

矢印キー的な操作達です。
縦移動では j , k を多様しますが、h , l での横移動は効率が悪いことの方が多い印象です。
5k 等とすると数字分操作を繰り返せます。

コマンド 操作 備考
j 上へ とりあえず使う
k 下へ とりあえず使う
h 左へ なるべく使わない
l 右へ なるべく使わない

行末・行頭へ移動

k, jで縦移動した後に、行頭・行末へ移動したいなら以下のコマンドを使いましょう。

コマンド 操作 備考
0 行頭へ 行頭へ行きたいときに
$ 行末へ ;をつけ忘れたときなどにどうぞ

単語単位での移動

k, jで縦移動した後に、単語単位で移動するならこちらを使いましょう。 カーソル上の単語を削除できる, :diw コマンド等と併用するととても便利です。

コマンド 操作 備考
w 次の単語の先頭へ
b 現在の単語の先頭へ
前の単語の先頭へ
現在地が単語の先頭なら前の単語へ
e 現在の単語の末尾へ 単語の最後に文字を挿入するときに便利

検索した単語への移動

コマンド 操作 備考
\hoge ファイル先頭からhoge(任意の単語)を検索して移動 n で次の単語へ, N で前の単語へ
?hoge ファイル先頭からhoge(任意の単語)を検索して移動 n で次の単語へ, N で前の単語へ

行移動

コマンド 操作 備考
nG n行目に移動 nには任意の数字を入れます

ファイルの先頭・末尾へ移動

コマンド 操作 備考
gg ファイルの先頭へ ライブラリのインポート文を書き足すとき等
G ファイルの末尾へ ファイルの中間あたりを編集した後に戻るときに

おまけ

まだまだある便利なコマンド達。

コマンド 操作 備考
% 対応する括弧へ移動 ネストが深くてわかりにくいとき等

参考

qiita.com

eng-entrance.com

qiita.com