この記事は、CA Tech Lounge Advent Calendar 2024 21日目の記事です!
コーディングの速度を爆上げしてくれるVim
。Vimに慣れだすとVimから離れられなくなるくらい、普段の開発の役に立ってくれます。
今回は、Vimそのものではなく、Vimコマンドを使おうというお話しです。
一言でいうとCUIで操作できるテキストエディタのことです。
マウスやトラックパッドなどを使わず、コマンドのみで操作することが可能になっています。
トラックパットへ手を動かさずに完結できるのはかなり嬉しいですね。
ただ、初めからVimそのものを使う必要はなく、普段使っているVSCode
やXcode
といった使い慣れているエディタでVimコマンドを使うだけで、開発効率を爆上げできます!
Vimにはインサートモード
とノーマルモード
という大きく分けて二つのモードがあります。
インサートモード
は普段のエディタと変わらない、文字を入力するモードです。
ノーマルモード
ではVimコマンドを使用できるようになります。
ここでは覚えればVimにハマるようになる、よく使うコマンドを書いています!
key | できること |
---|---|
ctrl +c | ノーマルモードへ切り替える |
esc , i | インサートモードへ切り替える |
j ,k ,h ,l | カーソルを移動(上,下,左,右) |
dd | 行を削除 |
yy | 行をコピー |
p | 削除orコピーしたものを下に貼り付け |
ciw | 単語削除 |
ci +" | ""で囲まれた中身を削除 |
ci +何か([ ,{} など) | ciの次に打ったもので囲まれた中身を削除({ だと{}で囲まれた中身を消す) |
w | 次の文字の頭文字へ移動 |
e | 次の文字の語尾へ移動 |
b | 前の文字の頭文字へ移動 |
gg | ファイルの先頭へ移動 |
G | ファイルの最後へ移動 |
A | 行の一番端へ移動しインサートモードに |
v | ビジュアルモードへ切り替え |
いくつかコマンドをあげましたが、使ったことがない方はあまりピンとこないと思うので、実際にどういう風に使うのか紹介していきます!
ctrl
+ c
、i
:モードの切り替えctrl
+c
でノーマルモードに切り替わりカーソルが太くなります。この状態だとVimコマンドを使用することが可能です。
i
で普段のインサートモードに戻ります。(esc
キーでも可)
dd
とp
を用いて行を移動するdd
で行を削除し、p
で貼り付けることで、一瞬で移動させることができます。
削除せずにコピーだけしたい場合にはyy
を用いることでコピーできます。これで行を複製することが可能です。
ci
+(w
,'
…)による文字列の削除ci
+w
でカーソル位置にある文字列を削除できます。
ci
+'
を使うと、カーソルが''
に囲まれた中にいる場合に、その”の中身を全て削除できます。
v
によるビジュアルモードへの切り替えと範囲切り取りv
でビジュアルモードという文字列を選択できるモードに切り替わります。
v
でビジュアルモードへ移行し、範囲ごと切り取り別の場所へ移動できます。
使い始めは慣れないですが、慣れてくるとVimなしにはコーディングできないくらいハマると思います!
今回はVimをあまり使ったことがない方向けに書きましたが、自分もまだまだ使いこなせていないので、是非こんな使い方とかコマンドあるよなど教えてきただけると幸いです。