【Vim】ごめんよ quick-scope 君のことを誤解していた

  • 2021.12.29
  • Vim
【Vim】ごめんよ quick-scope 君のことを誤解していた

Vimのpluginのquick-scope
評判なので入れてみたものの、ドキュメントをよく読まず使うと価値が分からず損するぞという教訓に記事にしておきます。

unblevable/quick-scopeの誤解

公式の説明では

An always-on highlight for a unique character in every word on a line to help you use f, F and family.

訳:f、F、familyの使い分けに便利な、行内の全単語の固有文字を常時ハイライト表示します。

脳内:あー、単語の先頭の文字をハイライトしてくれるのね。

カーソル動かすたびにチラチラ色が変わって鬱陶しいな、消そうかな?と思ってよくよくドキュメントを読んでみると…

全然違いました

quick-scopeの真の力

単語の先頭をハイライトするプラグインではありません。
このプラグインは、単語の固有文字(unique)をハイライトするものでした。

サンプルをよく見ると、patternだけpではなくaがハイライトされています。

なぜでしょうか?

それは、aがカーソル位置から見て初めて出現する固有文字だからaがハイライトされています。

例1:カーソル位置からpでpatternへ移動する場合

f > pと入力するとcomplieのpに移動します。
;を押すとようやくpatternのpへ移動できます。

例2:カーソル位置からaでpatternへ移動する場合

quick-scopeがハイライトしているaで移動します。

f > aと入力すると一発でpatternのaへ移動します。

そう、quick-scopeはカーソル位置から一発で飛べるユニークな文字をハイライトして教えてくれていたのです。

一発で飛べると何が嬉しいって、;で目的の位置まで移動するときって、移動した?あ、まだか、もう一回…と確認しながら進むことになります。
行き過ぎたら,で戻ればいいからってガンガン進めばいいという意見もありますが、あまりスマートじゃないので好みではありません。

「カーソル位置にいる状態からpatternを書き換える」ケースを処理する

quick-scopeがあれば、aで移動すれば確実に移動できることが保証されているので、

f > a > ciwと続けて入力すれば確実にpatternを変更できる訳です。

一時は消そうなんて考えたりして申し訳ありませんでした。
このプラグインは捨ててはならない必須なプラグインです。

Vimカテゴリの最新記事