Vim操作方法

[Vim問題] ノーマルモードで c3f” を実行するとどうなる?

ノーマルモードで c3f" を実行するとどうなる?
記事内に広告が含まれています。
スポンサードリンク

この記事では、Vim/neovimに関するキー操作「オペレータ+モーション」について、詳しくご紹介します。

Vimmerが思考の速度で編集できるようになる仕組みの1つです。ぜひ習得しましょう。

スポンサードリンク

[解答] カーソル位置から同じ行の3つ右の”までを変更する

解説

(ノーマルモード)
c3f"

こちらは次のような意味合いになります。

  • c -> 「変更」のオペレータ
  • 3f” -> カーソルから右3つの「”」を指定するモーション(移動)

単なるモーション(移動)に加え、f/F (find)といった行内検索との組み合わせがポイントです。

これを実行すると、次のようになります。

c3f" で python スクリプトの print文をコメントから変数に変更する
c3f” で python スクリプトの print文をコメントから変数に変更する

このようにプログラミングなので、コメントや文字列などに使う記号を一括で置換するのに使えたり、活用の幅が広いパターンになりますね。

Vimで思考のスピードで編集する技術の1つ:モーション(移動)+オペレータ

先にもご紹介した通り、Vim / neovim を使って高速に編集するテクニックの1つとして、次の組み合わせを使いこなすことが挙げられます。

(ノーマルモード)
オペレータ + モーション

適用する編集内容と範囲について数個のキーで実行できる仕組みとなります。

vim ヘルプでは次のように表現されています。

移動コマンドはオペレータコマンドの後に続けることができ、カーソルが移動する間のテキストにそのオペレータコマンドを施すことができます。つまりは移動前と移動後のカーソル位置の間のテキストです。

motion – Vim日本語ドキュメント

少ないキー入力(ステップ)で、多彩な機能が実行できる Vim / neovim の便利さを象徴する機能とも言えますね。

この仕組みを最大限に生かすためには、数あるオペレータとモーションを覚える必要があります。

オペレータとは

オペレータ(オペレータコマンド)は、削除や変更などの編集機能(オペレーション)を指定するために使われます。

主なオペレータはこちら。

キーオペレーション(実行内容)
c変更
d削除
yヤンク
~
g~
大文字/小文字の入れ換え
gu小文字にする
gU大文字にする
>インデント下げ
<インデント上げ
zf折り畳み作成

他にもいくつかありますが、使い方が非常に複雑になるため省略しています。詳しくは Vim ヘルプをご覧ください。

モーションとは

モーションとは、通常は「カーソルの移動」を指します。しかし、オペレータなどと組み合わせる場合には、その適用範囲を示すことになります。

こちらも非常に沢山の種類がありますので、主なモーションだけ紹介します。

キーモーション(移動)
左 F{文字}
右 f{文字}
同じ行の指定した文字
左 h
右 l
1文字
上 k
下 j
左 0
右 $
1行(カーソルから行頭/行末/上下)
左 b / B
右 w / W
1単語(カーソルの単語の次の単語)
左 ge / gE
右 e / E
1単語(カーソルの単語の末尾)
後方 (
前方 )
1文章
後方 (
前方 )
1段落
後方 ]]
前方 [[
1セクション
次 ]m / ]M
前 [m / [M
メソッド

モーションはオペレータよりも更に沢山あります。

用途によっても利用要否が変わってきますので、こちらを一読して必要なモーションだけピックアップしておくのも1つの上達法でしょう。

利用例

次のようにバリエーションが非常に豊富です。

キー処理内容
cw カーソル下にある単語について、カーソル以降の部分を削除してインサートモードに移行する
d$ カーソルから行末までを削除する
y3jカーソルのある行を含む3行をヤンク(無名レジスタにコピー)する
>10j カーソルのある行を含む10行を1段インデントを下げる
0gU$カーソル行の英数字を全て大文字に変換する

補足情報

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

関連するVimヘルプ

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

:help motion.txt
:help operator

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

参考書籍

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


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力を上げていくことができる記事が書ければと考えています。

\フォローする/
スポンサードリンク
関連記事