Vim操作方法

[Vim問題] カーソルを入力した1文字へ移動させるキーバインドとは?

この記事では、Vim / neovim でプラグインを使わずに「カーソルを入力した1文字へ移動させる方法」ためのキーバインドについて、ご紹介します。

[解答] f または F

Vimキーバインド1. 次(右)に現れる文字へ移動する

(ノーマルモード)
f{文字}

移動したい文字が同じ行に複数個ある場合は、繰り返す、もしくはカーソルから移動したい文字の位置を入力する方法もあります。

(ノーマルモード)
{数字}f{文字}

どちらが早いかはそれぞれの考え方次第ですが、繰り返す方が直感的という人が多いようです。

Vimでモーション(find)を数回して進む例
Vimでモーション(find)を数回して進む例

Vimキーバインド2. 前(左)に現れる文字へ移動する

(ノーマルモード)
F{文字}

こちらも移動したい文字が同じ行に複数個ある場合は、繰り返す、もしくはカーソルから移動したい文字の位置を入力する方法もあります。

(ノーマルモード)
{数字}F{文字}
Vimでモーション(find)を数回して戻る例
Vimでモーション(find)を数回して戻る例

解説

Vim / neovim における移動(モーション)のうち、基礎の基礎です。

しかしながら、このキーバインドが使えるか使えないかでは、移動時間に雲泥の差が出ます。

とっさにで使えるようになるまで、ひたすら練習することをお奨めします。

なお、f / FFind の頭文字と覚えると良いですね。

このVimコマンドの補足情報

  • 利用頻度5.0
  • 便利さ5.0
  • 覚え易さ5.0

関連するVimヘルプ

Vimのヘルプでは次のように記載されています。

f
f{char} 右に向かって [count] 番目に現れる {char} に移動し、
カーソルがその {char} 上に置かれます inclusive
{char} はダイグラフ digraph-arg でも構いません。
‘encoding’ が Unicode にセットされているときは、
composing character が使えます。utf-8-char-arg を参照。
:lmap マッピングが {char} に適用されます。挿入モード
時の CTRL-^ コマンドでこれの on/off を切り替えられます i_CTRL-^

F
F{char} 左に向かって [count] 番目に現れる {char} に移動し、
カーソルがその {char} 上に置かれます exclusive
{char} は f コマンドと同様に入力できます。

こちらは、下記のコマンドでVimからもヘルプを確認できます。

:help f
:help F
:help motion.txt

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。


Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。


こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。

プロフィール
管理人
Vim太郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

\フォローする/
\ シェアする /
\フォローする/
関連記事
Vim入門
タイトルとURLをコピーしました