この記事では、Vim / neovim でプラグインを使わずに直前のコマンドまたは操作を繰り返す「単発繰り返し」について、ご紹介します。
[解答] ドットコマンド .
次のコマンドで実行可能です。
(ノーマルモードで)
.
これで最後の変更を繰り返す「単発繰り返し」を実行することができます。
これだけですが、非常に強力です。
注意点として「最後の変更を繰り返す」という意味ですが、色々バリエーションがあるようです。主には下記の2つのようです。
- ノーマルモード:直近に実行したコマンド1つ
- インサートモード:インサートモードからノーマルモードに戻るまでの全作業
これをうまく使えば、移動やスクリプトを書くときによく使う操作が簡単です。
例えば、行頭に#を入れてコメント化する作業は次の順にキーを打つだけです。
Shift + i (行頭でインサートモードに移行する) # (コメント記号を入力する) esc / Ctrl + [ (終了) j (一つ下の行に移行する) . (上の3つの処理を繰り返す) 以下、必要なだけ . を入力する
行数があまりにも多い場合はビジュアルモードで行う、もしくはマクロ機能を活用した方が無難ですが、数行程度なら素早くできます。
次の様に数と組み合わせてれば、複数回実行も可能です。
10. (10回ほど単純に繰り返す)
注意としては下記の通りです。若干クセがあります。
- 標準状態では、ヤンクなど対象外となるキーバインドやコマンドがある
- 入力内容を繰り返す場合、改行は含まれるため、複数行の入力も繰り返せる
- 入力を繰り返したい場合、前の文字や前の行に戻った場合は、戻った後の操作しか繰り返せない
複雑な入力や操作を繰り返す場合は、マクロ機能を使った方が無難かも知れませんね。おり
このVimコマンドの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
Vimからは、下記のコマンドでヘルプを確認できます。
:help .
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。