テクノロジー

2024年11月21日

Vimの使い方を学ぶ

Vimとは、AtomやVS Codeなどのエディタの仲間で、CUIで使われることを前提に設計されています。そのため、すべての操作をマウスを使わず、コマンドから実行できます。

著者プロフィール

IT分野における教育の先駆者として、多くのエンジニアを育成するプログラミングスクールの運営、Web開発やAI研修を行なっています。幅広いレベルの受講生に対して実践的なスキルを提供。生徒の成長を第一に考え、効果的で魅力的な教育プログラムの設計に情熱を注いでいます。

ゴール

  • Vimとはなにかを理解する
  • Vimの使い方を知る

Vimとはなにか

Vimとは、AtomやVS Codeなどのエディタの仲間で、CUIで使われることを前提に設計されています。そのため、すべての操作をマウスを使わず、コマンドから実行できます。

なぜVimを学ぶのか

AWSなどのサービスを利用するには、Vimでの操作を行う必要があります。
VScodeやAtomといったGUIを使ったエディタはメモリ消費が多い上、必要性もないことから、通常サーバにはこれらのエディタはインストールされていません。

Vimの特徴

  1. すべての操作をコマンドを使って実行できるため、作業の高速化が可能。
  2. メモリ消費量が少ないことから、スペックの低いPCでも快適に利用できる。

以下の表に、他のエディタとの違いをまとめています。

比較項目 Vim VScode
日本語入力
インデント
複数タブ表示
Zipファイル編集 ×
手軽さ ×

Vimのモード

Vimには4つのモードがあり、行いたい操作によってモードを使い分けます。

モード 代表的な機能
ノーマルモード カーソル移動、コピー、貼り付け、削除など
インサートモード 入力、貼り付け、入力補完、単語削除など
ビジュアルモード 範囲選択、コピー、削除、フィルターなど
コマンドラインモード 保存、終了、文字列置換など

モードの切り替え

以下のようにコマンドを入力することで、モードを切り替えることができます。

Image from Gyazo

このように、escキーを押した後、モードのキーを入力することでモードの切り替えが可能です。

Vimの基本操作

Vimを使って、実際にファイルの編集作業を行なうことで、コマンドの使い方を理解しましょう。

任意の作業ディレクトリに移動し、サンプル用のファイルを作成します。
以下のコマンドを実行することで、ファイルの作成と編集を同時に行うことができます。

$ vim sample.md

上記のコマンドを実行すると、以下の画面が表示されます。

Image from Gyazo

以下の内容をコピーし、作成したファイルに貼り付けてください。

[sample.md]

#2sample_text
sample_text
sample_text
sample_text
start_text
sample_text
sample_text
sample_text#1
sample_text
sample_text
sample_text
sample_text
end_text
sample_text
sample_text
sample_text
#3#5sample_text#4

編集した内容を保存するため:を入力し、コマンドラインモードに切り替えます。
コマンドラインモードに切り替わると、画面の左下に:が表示されます。

Image from Gyazo

保存する場合はwキーを入力し、エンターキーを押します。
保存できたので、画面を閉じます。再びコマンドラインモードに切り替え、qキーを入力しエンターキーを押すことで、画面が閉じます。
上記ではコマンドを分けて入力していますが、wqと入力することで、保存と画面を閉じる作業を同時に行うことができます。

次に、作成したファイルを使って、移動コマンドをいろいろと試してみましょう。
もう一度以下のコマンドを実行してファイルを開きます。

$ vim sample.md

コマンドを駆使して、「#1」から「#5」までを順に削除していきましょう。

vimでは、h, j, k, lキーを使って移動することができます。

h j k l

ノーマルモードのままh, j, k, lキーを使って移動し、インサートモードに切り替え、「#1」を削除しましょう。

次にコマンドを使って移動してみましょう。以下のコマンドはすべてノーマルモードに切り替えてから実行してください。

ggを入力すると、ファイルの先頭に移動できます。
「#2」を削除しましょう。

Image from Gyazo

Gを入力すると、ファイルの最終行に移動できます。
「#3」を削除しましょう。

Image from Gyazo

Aを入力すると、行末に移動し、インサートモードに切り替わります。
「#4」を削除しましょう。

Image from Gyazo

Iを入力すると、行頭の非空白文字に移動し、インサートモードに切り替わります。
「#5」を削除しましょう。

Image from Gyazo

ddを入力すると、カーソルのある行を削除できます。任意の行を削除してみましょう。

Image from Gyazo

最後にビジュアルモードを使って、start_textからend_textまでのテキストを削除してみましょう。
start_textの行頭に移動し、ノーマルモードの状態でvを入力し、ビジュアルモードに切り替えます。すると、左下にVISUALと表示されます。

Image from Gyazo

この状態で、end_textの行末まで進み、dを入力します。するとハイライトされていた文章がすべて削除されます。

Image from Gyazo

このように、ビジュアルモードを使用することで、指定した範囲の削除やコードの追記などができます。
ちなみに、ビジュアルモードには、この他にビジュアルラインモードとビジュアルブロックモードがあります。Vimについて詳しく知りたい方は、以下の公式ドキュメントを参照してください。

Vim日本語ドキュメント

Vimチュートリアル

Vimの基礎知識を深めたい方は、Vimのチュートリアルレッスンで学びましょう。ターミナルでvimtutorと入力するとレッスンが始まります。

$ vimtutor

Image from Gyazo

終了する場合は、コマンドモードでq!を入力し、エンターキーを押してください。

まとめ

  • Vimはすべての操作をコマンドから実行できることから、使い方を習得することで作業を高速化することができる。
  • モードを使い分けることで、マウスでの操作をコマンドから実行することができる。

公式ドキュメント・参考情報

1. Vim
2. Vim日本語ドキュメント

ダイビックのことをもっと知ってみませんか?