👾

Vimエディタの使い方

に公開

こんにちは!
みなさんはどんなエディターが好きですか?
僕はVSCodeが大好きです!
それに対してVimがとても苦手です

今回はLinuxやMacOS環境でよく使われるVIMエディターの使い方やコマンドについて解説していきます


そもそもVimとは

UNIX系OSで広く使われているテキストエディタ「vi」の拡張版であり、プログラマーやシステム管理者など、主にLinux環境で利用されることが多い高機能なテキストエディタのことです。

メリット
CLI上で実行できるので、慣れてしまえばGUI環境で編集するよりも効率的に編集ができる
カーソルの移動をホームポジションから移動せずに実行できる
GUIより動作が軽量である

デメリット
初心者には
わかりにくい
みにくい
つかいにくい

という点が挙げられます。
GUIのように視覚的に操作ができないので私はとても苦手です

Vimのモードについて

Vimは「モード型エディタ」と呼ばれ、操作の目的に応じて複数のモードが存在します。モードごとにキーボードの役割が変わります。

1. コマンドモード(Normalモード)

Vimを起動したときに最初に入るモード。
文字を直接入力するのではなく、カーソル移動やコピー・削除などの編集コマンドを入力するモード。

2. 挿入モード(Insertモード)

実際に文字を入力するモード。
普通のテキストエディタのように文字を入力できる。
挿入モード中はコマンドは使えず、文字入力がメイン。

3. ビジュアルモード(Visualモード)

テキストの範囲選択を行うモード。

4. コマンドラインモード(Exモード)

コロン(:)から始まるコマンドを入力するモード。
ファイルの保存や終了、検索、置換などの高度な操作を行う。
範囲を選択してからコピーや削除、置換などのコマンドを適用できる。

基本的な使い方

モード コマンド 挙動
インサートモード a カーソルの右側にインサートモード
i カーソルの位置からインサートモード
A 行末に移動しインサートモード
I 行頭に移動しインサートモード
o 現在の行の下に改行しインサートモード
cc 1行を削除してインサートモード
ビジュアルモード v ビジュアルモードへ
Ctrl + v 矩形選択のビジュアルモードへ
V カーソルがある行を選択してビジュアルモード
その他 ESC コマンドモードに戻る
Ctrl + l コマンドモードに戻る(画面の再描画も行う)
Ctrl + z Vimを一時停止する(シェルに戻る)

カーソル移動コマンド

コマンド 説明
h 左に移動
j 下に移動
k 上に移動
l 右に移動
0 行の先頭に移動
$ 行の末尾に移動
gg ファイルの先頭に移動
G ファイルの末尾に移動
w 次の単語の先頭に移動
b 前の単語の先頭に移動

テキスト編集コマンド

コマンド 説明
x カーソル位置の文字を削除
dd カーソル行を削除
yy カーソル行をコピー(ヤンク)
p コピーした内容を貼り付け
u 操作を1つ取り消す(アンドゥ)
Ctrl + r 取り消しをやり直す(リドゥ)

Vimでのファイル保存と終了

  • :w → ファイルを保存
  • :q → Vimを終了(変更があれば終了できない)
  • :wq または :x → 保存して終了
  • :q! → 保存せず強制終了 ←とりあえず困ったらこれ

Vimが苦手な人(自分)へのアドバイス

  1. いきなり全部覚えようとしない
    まずは「挿入モードに入る」「保存して終了」の基本だけ押さえていればOK
  2. ゆっくりコマンドを試しながら使う
    例えばddで行を削除、pで貼り付けなど少しずつ操作を覚える
  3. 便利なヘルプ機能を使う
    :help コマンドでVimのヘルプを見ることができる。疑問はすぐ調べて解決しよう。

おかしな設定を乗せたかな?と思ったらESCでコマンドモードにして保存せずに終了しよう!

↑戦闘機の緊急脱出装置みたいなもの、変な設定を乗せて保存したら地獄を見ます(経験談)🗿🗿🗿🗿🗿🗿

~end~

Discussion