icon
🌞

💣

tweet

ツイート

Vimを使おう!初めに覚えた方が良いVimコマンド集

techtech

はじめに

この記事は、CA Tech Lounge Advent Calendar 2024 21日目の記事です!

コーディングの速度を爆上げしてくれるVim。Vimに慣れだすとVimから離れられなくなるくらい、普段の開発の役に立ってくれます。
今回は、Vimそのものではなく、Vimコマンドを使おうというお話しです。

そもそもVimって何

一言でいうとCUIで操作できるテキストエディタのことです。
マウスやトラックパッドなどを使わず、コマンドのみで操作することが可能になっています。
トラックパットへ手を動かさずに完結できるのはかなり嬉しいですね。

ただ、初めからVimそのものを使う必要はなく、普段使っているVSCodeXcodeといった使い慣れているエディタでVimコマンドを使うだけで、開発効率を爆上げできます!

モード

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 + ci:モードの切り替え

ctrl+cでノーマルモードに切り替わりカーソルが太くなります。この状態だとVimコマンドを使用することが可能です。 iで普段のインサートモードに戻ります。(escキーでも可) vim_mode

ddpを用いて行を移動する

ddで行を削除し、pで貼り付けることで、一瞬で移動させることができます。
削除せずにコピーだけしたい場合にはyyを用いることでコピーできます。これで行を複製することが可能です。 vim_ddp

ci+(w,'…)による文字列の削除

ci+wでカーソル位置にある文字列を削除できます。 vim_ciw

ci+'を使うと、カーソルが''に囲まれた中にいる場合に、その”の中身を全て削除できます。 vim_ci

vによるビジュアルモードへの切り替えと範囲切り取り

vでビジュアルモードという文字列を選択できるモードに切り替わります。
vでビジュアルモードへ移行し、範囲ごと切り取り別の場所へ移動できます。 vim_v

さいごに

使い始めは慣れないですが、慣れてくるとVimなしにはコーディングできないくらいハマると思います!

今回はVimをあまり使ったことがない方向けに書きましたが、自分もまだまだ使いこなせていないので、是非こんな使い方とかコマンドあるよなど教えてきただけると幸いです。