このブログ記事では、Vimの基本的な操作についてを紹介します。

Linuxに関する第2回記事Linux基礎 #2 - コマンドでは、 テキストファイルを操作するためのいくつかのコマンドを学びましたが、ファイルを編集するコマンドは含まれていませんでした。 Vimは「Vi improved」の略で、CLIベースのテキストエディタです。Vimを使うとテキストファイルを作成・編集できます。 本記事ではVimの基本について学びます。
はじめに
多くのLinuxディストリビューションではVimがデフォルトでインストールされていますが、私たちの環境ではaptを使用してVimをインストールする必要があります。
まず、パッケージのソースリストをsudo apt update
で更新します。その後、sudo apt install vim
でVimをインストールします。
Vimを起動するには、vim <ファイル名>
を入力します。指定したファイル名が存在しない場合、新しいファイルが作成されます。存在する場合はそのファイルが開かれます。
vim test.txt
でtest.txt
という新しいファイルを作成しましょう。空のテキストエディタが表示されるはずです。
挿入モード
Vimには4つのモード: ノーマルモード、挿入モード、ビジュアルモード、コマンドモードがあります。
ノーマルモードはデフォルトのモードでファイル内の移動や操作に、挿入モードはテキストの挿入に、
ビジュアルモードはテキストの選択・コピー・貼り付けに、そしてコマンドモードはコマンドの実行にそれぞれ使用されます。
挿入モードに切り替えるには、i
を押します。左下に --INSERT--
と表示されると挿入モードに移行したことが確認できます。
テストのために、Hello World!
を入力してみましょう。
コマンド | 説明 |
---|---|
i | カーソルの前にテキストを挿入する。 |
a | カーソルの後にテキストを追加する。 |
A | 行末にテキストを追加する。 |
o | 現在の行の下に新しい行を挿入する。 |
O | 現在の行の上に新しい行を挿入する。 |
i
は挿入モードに切り替えるための1つの方法にすぎません。上記の表は、他の方法を示しています。
しかし、最初はi
を使うことに慣れると良いでしょう。ノーマルモードに戻るには、Escキーを押します。
ノーマルモード & ビジュアルモード
ビジュアルモードに切り替えるには、ノーマルモードでv
を押します。ノーマルモードとビジュアルモードの両方で、
モーションと呼ばれるキー操作を使ってファイルを移動できます。
コマンド | 説明 |
---|---|
h | カーソルを左に移動する。 |
j | カーソルを下に移動する。 |
k | カーソルを上に移動する。 |
l | カーソルを右に移動する。 |
w | 次の単語に移動する。 |
b | 前の単語に移動する。 |
他にも多くのモーションがありますが、最初は上記に慣れることをお勧めします。以下は主にビジュアルモードで用いる テキスト編集のコマンドです。(いくつかはノーマルモードで用いられます。)
Command | Description |
---|---|
y | 選択したテキストを"ヤンク"(コピー)する。 |
yy | 現在の行をコピーする。 |
x | 選択したテキストをカットする。 |
dd | 現在の行を削除する。 |
p | コピーまたは削除したテキストを貼り付ける。 |
u | 直前の操作を取り消す(ノーマルモード)。 |
r | 直前の取り消しをやり直す(ノーマルモード)。 |
重要なポイントとして、削除したテキストもコピーしたテキストと同じバッファに保存されます。
つまり、テキストをコピーして貼り付けると、そのテキストが次に貼り付けられるものになります。
モーションとコマンドを使って、Hello World!
をコピーしてHello World!Hello World!
を作成してみましょう。
コマンド、カウント、モーション
モーションとコマンドは、単独でも組み合わせても使えます。例えば、現在の行から5行下に移動するには、5j
と入力します。
2単語を削除するには、d2w
と入力します。組み合わせの順番は常にコマンド → カウント → モーションです。この仕組みを使いこなすと、
マウスを使うよりも遥かに効率的に操作できます。
コマンドモード
コマンドモードはファイルを保存したり終了したりするためのモードであり、通常は :
を入力することでこのモードに入ることができます。
以下はコマンドモードに関連するコマンドです。
コマンド | 説明 |
---|---|
:w | ファイルを保存する。 |
:q | Vimを終了する。 |
:wq | ファイルを保存してVimを終了する。 (ZZ でも同様に実行可能。) |
:q! | 保存せずに強制的にVimを終了する。 |
上記のコマンドを使用して、ファイルを保存し、Vimを終了してみましょう。おめでとうございます! これでVimの基本を習得しました!
結論
Vimを使いこなすには練習が必要ですが、一度慣れてしまえばマウスを手放し、コーディング速度を大幅に向上できます。Vimのコマンドやモーションは、 VSCodeのような他のIDEでも拡張機能を利用して使うことができます。開発者はターミナルを頻繁に使うため、Vimを練習することを強くお勧めします。基本をマスターしたら、 ThePrimeagenのビデオシリーズ、Vim As Your Editorをチェックして、スキルをさらに高めましょう。
リソース
- Linux Journey. n.d. Advanced Text-Fu. Linux Journey.
- The Primeagen. 2022. Vim As Your Editor - Introduction. YouTube.