Linux

Vimの基礎知識とVimtutorで使い方をトレーニング

Vimの操作に自信がないなら、Vimに付属するチュートリアルvimtutorが手早い練習方法です。インストール方法と4つのモードの違いをまとめます。日本語で起動する方法(vimtutor ja とロケール、英語版に落ちるときの原因)は2026年の追記で扱っています。

こんにちはAWSが好きで色々触ってるねこだくさんです。

Linux使うとほぼ触ることになると思うVimですが、操作方法にいまいち自信がありません。
世の中にはこれをメインエディターとして使いこなしている方も多く、いずれはそうなりたく思います。

今のところはVSCoderですがとりあえずVimの操作方法など学びます。

前回のあらすじ

前回は実行ファイルとファイル権限について学びました。

Linux基礎実行ファイルとファイル権限について
こんにちは。AWSの勉強するに当たりLinuxも必然的にさわるので学んでいるねこだくさんです。Linuxを触っているとファイルやディレクトリを実行する際にpermission deniedと怒られることがあります。権限足りてねーよって意...

Vimとは?

Unix時代から使われていたvi(ヴィーアイ)から派生(?)したテキストエディターです。
一部界隈では最強のテキストエディターとの呼び声が高いようです。
Vimをコーディングで使いこなす人はVimmerと畏敬の念を込めて呼ばれています。

もともとCUIとして発展してきたエディターなのでキーボードのみですべての操作ができます。(一応マウス操作にも対応)
Linuxサーバーで設定をいじらなきゃならないときなどに重宝するので一通り使えたほうがいいと思います。

インストール方法

Macには最初からインストールされていますが、Linux環境ubuntuでインストールしたいときは

sudo apt-get install vim
# Rhel, CentOS系
yum install vim

使い方

まずVimにはいくつかのモードがあります。

  1. ノーマルモード
  2. ビジュアルモード
  3. インサートモード
  4. コマンドラインモード

ノーマルモードを軸にvを押すとビジュアルモード、iを押すとインサートモード、:を押すとコマンドラインモードとなりそれぞれescキーを押すことでノーマルモードに戻ります。

ノーマルモード

カーソルを移動しテキストの削除やコピペができます。

カーソル操作は

キー 動作
h 左
l 右
k 上
j 下
gg 先頭に移動
G 最後尾に移動

Gの前に数字をつけるとその行に移動できます。

オペレーター

キー 動作
y コピー(ヤンク)
d 削除とカット
c 削除したあとインサートモードに移行し挿入

参考:Vim入門

ビジュアルモード

vを押すと切り替わります。
選択した範囲のテキストを操作できますが、あまり使ったことないです。

インサートモード

iを押すと切り替わります。
コードを記述するモードです。

コマンドラインモード

インサートモードで編集した内容を保存したりするモードです。
wqで保存して終了、編集ミスって保存したくないときなどはq!で強制終了します。

VSCoderにおすすめNeoVim

VSCodeでもあまりマウス使わずにVimライクに使いたいよねという要望に答えたものです。

拡張機能でVS Code Neovimをインストールすれば使えます。
Vimプラグインが動くだけでなく.vimrcの設定も読んでくれるらしく優秀です。

Vimtuterとは

さて、そんなVimですが初心者にとっては操作方法がワケワカラン状態です。
なれるまではチュートリアルしましょうねーというのがこのVimtuter。

インストールと使い方

vim-enhancedがインストールされてあれば使えます。
vimtutorで起動しましょう。日本語じゃなかったらvimtutor jaで起動してみてください。

よくわからんって方はEnvaderのLinux基礎コース(無料)で使えますので練習してみましょう。

【2026-08-15 追記】vimtutorを日本語で起動する

ここから下は、2022年に書いた上の本文に、2026年8月のterralienが後から足した追記です。当時の本文は直していません(見出しの「Vimtuter」という誤字も込みで残してあります)。上の本文は「日本語じゃなかったらvimtutor jaで起動してみてください」の一行で済ませていて、それで日本語にならなかった人には何も言っていないので、そこを足します。

起動のしかたは3通り、どれも同じ

vimtutor ja
vimtutor -l ja
vimtutor --language ja

jaはISO639の言語コードです。引数を付けなければ、vimtutorは現在のロケールの言語を見て勝手に選びます。優先順位はv:lang→LC_ALL→LC_MESSAGES→LANGの順で、先頭2文字を言語コードとして使います。なのでLANG=ja_JP.UTF-8な環境なら、素のvimtutorで最初から日本語で開きます。

英語ロケールのサーバーで一時的に日本語にしたいだけなら、環境変数をその場で渡す手もあります。

LANG=ja_JP.UTF-8 vimtutor

入っている言語の一覧はvimtutor --listで出ます。日本語は第1章にはありますが、第2章(vimtutor -c 2)は英語とフランス語しかありません。日本語で最後までやりたい方は第1章までです。

「jaを付けたのに英語で開く」ときに何が起きているか

vimtutorは、言語コードから翻訳ファイルの名前を組み立てて、それが読めなければ黙って英語版にフォールバックします。正確には黙ってではなく、こういうメッセージを出して4秒待ちます。

The file /usr/share/vim/vim91/tutor/tutor1.ja does not exist.
Copying English version: /usr/share/vim/vim91/tutor/tutor1

つまりこのメッセージが出たら、コマンドの打ち方ではなく翻訳ファイルが入っていないということです。置き場所は$VIMRUNTIME/tutor/で、中を見ると分かります。

vim --version | head -2          # どのVIMRUNTIMEを見ているか
ls /usr/share/vim/vim*/tutor/    # 翻訳ファイルの一覧
状況 ファイル名
今のVim(第1章・日本語) tutor1.ja
Vim 8.2 の頃(この記事を書いた当時) tutor.ja.utf-8 / tutor.ja.sjis / tutor.ja.euc の3本立て

昔は文字コードごとにファイルが分かれていたんですね。当時vimtutor jaで文字化けした人は、たぶんここが噛み合っていませんでした。今のVimはUTF-8の1本になっているので、この事故は起きません。

そもそもvimtutorコマンドが無い場合

Debian / Ubuntu 系で最小構成のvim(vim-tiny)しか入っていないと、vimtutorそのものがありません。/usr/bin/vimtutorはvim-runtimeパッケージに入っています。

sudo apt-get install vim      # vim-runtime も一緒に入る
which vimtutor

上の本文でvim-enhancedがインストールされていれば使える、と書いていますが、これはRHEL系のパッケージ名です。Debian系だと名前が違う、というだけの話でした。

安心して書き潰していい

vimtutorは、翻訳ファイルのコピーを作ってからVimを開きます。チュートリアルの本文には「ここを消してみましょう」「この行をコピーしてみましょう」という練習が仕込まれていますが、いくら壊しても原本は無傷です。保存せずに:q!で抜けても、もう一度vimtutor jaすれば新品が出てきます。

——ここまで書いておいてなんですが、当時のわたしはvimtutor jaと書いたきり、たぶん最後までやっていません。4年後もカーソル移動と:wqで生きているので、そういうものなんだと思います。

学んだこと

  • Vimならキーボードだけで操作できるからめちゃはやコーディングできる
  • VSCode環境にもVimライクな拡張機能がある
  • 操作慣れるまではVimtutorで練習できる

カーソル移動して編集して保存するくらいのことはできるようになりました。

参考資料

コース一覧 | エンベーダー
コース一覧に関するページです。Linuxを学べるLinux基礎・応用コースを始めとして、エンジニア必須の知識であるデータベースやセキュリティのコースもあります。
Vimとは何か?Vimエディタの使い方を分かりやすく解説【Vimの基礎】|Webエンジニア研究室
CLIで操作できるテキストエディタ、「Vim」について、概要や基本的な使い方を初心者向けに解説します。
超融合!時空を越えた絆 Neo Vim(VSCode)を試してみた

【2026-08-15 追記ぶんの出典】