テクノロジー
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の特徴
- すべての操作をコマンドを使って実行できるため、作業の高速化が可能。
- メモリ消費量が少ないことから、スペックの低いPCでも快適に利用できる。
以下の表に、他のエディタとの違いをまとめています。
| 比較項目 | Vim | VScode |
|---|---|---|
| 日本語入力 | △ | ○ |
| インデント | ○ | ○ |
| 複数タブ表示 | ◎ | ○ |
| Zipファイル編集 | ○ | × |
| 手軽さ | × | ○ |
Vimのモード
Vimには4つのモードがあり、行いたい操作によってモードを使い分けます。
| モード | 代表的な機能 |
|---|---|
| ノーマルモード | カーソル移動、コピー、貼り付け、削除など |
| インサートモード | 入力、貼り付け、入力補完、単語削除など |
| ビジュアルモード | 範囲選択、コピー、削除、フィルターなど |
| コマンドラインモード | 保存、終了、文字列置換など |
モードの切り替え
以下のようにコマンドを入力することで、モードを切り替えることができます。
このように、escキーを押した後、モードのキーを入力することでモードの切り替えが可能です。
Vimの基本操作
Vimを使って、実際にファイルの編集作業を行なうことで、コマンドの使い方を理解しましょう。
任意の作業ディレクトリに移動し、サンプル用のファイルを作成します。
以下のコマンドを実行することで、ファイルの作成と編集を同時に行うことができます。
$ vim sample.md
上記のコマンドを実行すると、以下の画面が表示されます。
以下の内容をコピーし、作成したファイルに貼り付けてください。
[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
編集した内容を保存するため:を入力し、コマンドラインモードに切り替えます。
コマンドラインモードに切り替わると、画面の左下に:が表示されます。
保存する場合はwキーを入力し、エンターキーを押します。
保存できたので、画面を閉じます。再びコマンドラインモードに切り替え、qキーを入力しエンターキーを押すことで、画面が閉じます。
上記ではコマンドを分けて入力していますが、wqと入力することで、保存と画面を閉じる作業を同時に行うことができます。
次に、作成したファイルを使って、移動コマンドをいろいろと試してみましょう。
もう一度以下のコマンドを実行してファイルを開きます。
$ vim sample.md
コマンドを駆使して、「#1」から「#5」までを順に削除していきましょう。
vimでは、h, j, k, lキーを使って移動することができます。
| h | j | k | l |
|---|---|---|---|
| 左 | 下 | 上 | 右 |
ノーマルモードのままh, j, k, lキーを使って移動し、インサートモードに切り替え、「#1」を削除しましょう。
次にコマンドを使って移動してみましょう。以下のコマンドはすべてノーマルモードに切り替えてから実行してください。
ggを入力すると、ファイルの先頭に移動できます。
「#2」を削除しましょう。
Gを入力すると、ファイルの最終行に移動できます。
「#3」を削除しましょう。
Aを入力すると、行末に移動し、インサートモードに切り替わります。
「#4」を削除しましょう。
Iを入力すると、行頭の非空白文字に移動し、インサートモードに切り替わります。
「#5」を削除しましょう。
ddを入力すると、カーソルのある行を削除できます。任意の行を削除してみましょう。
最後にビジュアルモードを使って、start_textからend_textまでのテキストを削除してみましょう。
start_textの行頭に移動し、ノーマルモードの状態でvを入力し、ビジュアルモードに切り替えます。すると、左下にVISUALと表示されます。
この状態で、end_textの行末まで進み、dを入力します。するとハイライトされていた文章がすべて削除されます。
このように、ビジュアルモードを使用することで、指定した範囲の削除やコードの追記などができます。
ちなみに、ビジュアルモードには、この他にビジュアルラインモードとビジュアルブロックモードがあります。Vimについて詳しく知りたい方は、以下の公式ドキュメントを参照してください。
Vimチュートリアル
Vimの基礎知識を深めたい方は、Vimのチュートリアルレッスンで学びましょう。ターミナルでvimtutorと入力するとレッスンが始まります。
$ vimtutor
終了する場合は、コマンドモードでq!を入力し、エンターキーを押してください。
まとめ
- Vimはすべての操作をコマンドから実行できることから、使い方を習得することで作業を高速化することができる。
- モードを使い分けることで、マウスでの操作をコマンドから実行することができる。










