🦍
Vimmerに好きなコマンドを聞いてみた
始めに
みなさん、最近はいかがお過ごしでしょう?
ぼくは最近ゴリラ.vimでヘルプを読み漁っています。
もしVimヘルプを探検してみたい方はぜひヘルプ読書会にご参加ください。
さて本題ですが、
普段Vimのプラグインの人気ランキングや紹介などをよく目にすると思います。
しかし、Vimのコマンドについてのランキングや紹介はあまり見かけません。
ということで、Twitterで好きなコマンド(ノーマル、Exなど)について募集してみた結果がおもしろかったので紹介していきます。
結果
アンケート結果をカテゴライズしてみました。
:::detailsアンケート結果
| No | カテゴリ | コマンド | 理由 |
|---|---|---|---|
| 1 | editing | :q! |
- |
| 2 | editing | :q! |
- |
| 6 | editing | :quit! |
残ったままのメモブァッファが結構な頻度であるのでcnoreabbrev qq quit!にして愛用してます |
| 4 | editing | :wq |
これぞVimといったところ |
| 3 | editing | :update |
更新した時しか書き込まないので安心して連発できる |
| 5 | editing | :w !cmd |
いろいろなCLIツールと連携できる |
| 7 | editing | ZZ |
あんまり使っていないが、たまに使うと驚きがあって好き。 |
| 8 | various | :normal |
直近に学んだ直後から大活躍しています。DTOなどの冗長な書き換えがすごいスムーズになりました。 |
| 9 | various | :normal |
(行指向でまとめて操作を行うのに便利) |
| 10 | various | :verbose |
- |
| 12 | change | dd |
はじめてvim触った時の衝撃② |
| 11 | change | CTRL_a |
(数値増減の汎用性が非常に高い) |
| 13 | change | CTRL_a |
- |
| 17 | change | CTRL_a |
- |
| 14 | change | v_g_CTRL-A |
- |
| 16 | change | v_g_CTRL-A |
連番が作れる |
| 15 | change | R |
2016→2019などの固定長のデータ変更 |
| 18 | change | :%y |
カーソルを動かさずにバッファ全体をヤンクできるから |
| 19 | change | :%s///g |
置換コマンド、業務で良く使用するので! |
| 20 | change | :%s/<pattern>/<word>/g |
一括置換が気持ちよいので |
| 21 | change & motion | ciw |
Vimの便利さを端的に表していると思う |
| 22 | change & motion | ciw |
よく使う |
| 23 | change & motion | cf{char} |
よく使う(なんなら削除もヤンクもこれていける) |
| 24 | change & motion | ci(, di(, ca[などの括弧操作 |
- |
| 25 | change & motion | ci" |
文字列変更 |
| 26 | change & motion | ct_ |
アンダースコア区切りの変数名変更 |
| 27 | change & motion | gUw |
大文字に変更、環境変数、SQLのキーワードなど |
| 28 | change & motion | ciw |
- |
| 29 | visual & motion | viw |
- |
| 30 | visual & change | V%< |
関数など段落区切りの定義をインデント |
| 31 | visual & change | CTRL_vyp |
csv,ymlなどのデータ貼り付け追記 |
| 32 | motion | {} |
雑に移動するときに便利 |
| 33 | motion | % |
移動の高速化に一番役立っている気がするから |
| 34 | motion | f |
移動の高速化に役立っているから |
| 35 | motion | f |
(思いとおりの場所にスパーンと飛べるのが気持ちよすぎる) |
| 36 | motion | m大文字 |
グローバルにマークできてどこにでも行けるので |
| 37 | repeat | . |
男は黙って.
|
| 38 | repeat | . |
いろいろなコマンドと組み合わせられて、よい単位で繰り返してくれる |
| 39 | repeat | . |
楽チン |
| 41 | repeat | . |
何にでも使えるから |
| 42 | repeat | . |
(Dot Repeat Yourself) |
| 40 | repeat | qq |
楽チン |
| 43 | repeat | q |
マクロcsvのような行区切りデータ繰り返し修正 |
| 44 | cmdline | CTRL_[ |
vimを始めて間もないころescが押しづらく、とても使いづらいエディタだなぁと感じていた時にこのコマンドを知りvimを続けようと思ったため |
| 46 | cmdline | Esc |
作業単位の細かい分割ができるから |
| 45 | cmdline | q: |
過去のコマンドをいつものやり方で自由に編集して使いまわせるのは強い |
| 47 | insert | i_CTRL-V |
制御文字をそのまま入れられるほか、ありとあらゆる物をコードポイントさえ知っていれば挿入できる |
| 48 | insert | o |
はじめてvim触った時の衝撃① |
| 49 | map | :map |
操作性をその場で書き換えられるのは強力 |
| 50 | map | :cabbrev |
(abbrevを設定しておけば長いコマンドを打つハードルが下がる) |
| 51 | help | :help |
ありとあらゆる事柄に関してVimのインタフェースそのままでhelpを引けるのは強い |
| 52 | help | :help |
- |
| 53 | other | :smile |
こういう遊び心好き。 |
| 54 | options |
set mouse=a、set ttymouse=xterm2
|
なんちゃってvimmerのため。 |
:::
感想
結果を見ると、編集、移動系の機能は結構人気があるようです。
特にVimの看板機能であるオペレーター、モーション、リピートはみんな好きなようです。
ぼくも、これらの機能を知ってVimにハマったので、気持ち分かるなぁって思いました。
そのほか、個人的に意外だったのが次の回答ですね。
-
:smileは理由にあったとおり、Vimの遊び心が好きな方もいるようです。 -
:qはまさか、という気持ちで、好きな人がいるんだなって驚きました。 -
Escは作業単位を意識したことがなかったので、なるほどなぁと思いました。
最後に
意外と多くの方に回答してくれました。ありがとうございます。
この記事を読んでVimmerってこういうコマンドが好きなんだなとか、このコマンド知らなかったなとか、何かしら役に立ったことがあったならうれしいなと思います。
Discussion
自分はここにないものだと
q:でコマンド履歴から実行(しかも実行前に編集もできる!)とか:1,3t.でバッファを通さずにコピーペーストとか好きです。<C-f>がないだと!?