【Linux】viコマンド(vim)の使い方を解説

【Linux】viコマンド(vim)の使い方を解説

「vim」はLinuxで幅広く利用されているテキストエディタです。「vim」でファイルを開いて、編集・保存するまでのやり方を解説します。

viコマンド(vim)とは

viコマンドは、UNIX/Linux系オペレーティングシステムで広く使用されているテキストエディタで、 vimはviの機能を拡張したものです。

基本操作

vi/vimの操作はモードに依存しています。
主に以下の4つのモードがあります。

  • ノーマルモード
  • コマンドモード
  • インサートモード
  • ビジュアルモード

以下コマンドでファイルを開きます。

# ファイルを開く。
vi filename
または
vim filename

## filename:開きたいファイル名のパス

ノーマルモード

初期状態のモードで、コマンドモードや、 インサートモード・ビジュアルモードへの切り替えを行います。 各モードからノーマルモードに戻る際はescキーを押下します。

以下にvi/vimの基本的なコマンドをいくつか紹介します。

カーソル移動

h :左に移動。
j :下に移動。
k :上に移動。
l :右に移動。
0 :行の先頭に移動。
$ :行の末尾に移動。

※上下左右の移動は矢印キーでも可能。

コマンドモード

:/でコマンドモードに切り替えます。

保存と終了

:w :ファイルを保存。
:q :保存しないで終了。
:q! :保存しないで強制終了。
:wq :ファイルを保存して終了。
:wq! :ファイルを保存して強制終了。

検索と置換

/pattern :パターンを前方検索。nで次を検索。Nで前に戻る。
?pattern :パターンを後方検索。nで次を検索。Nで前に戻る。
:s/old/new :現在行の old を new に置換。
:%s/old/new/g :ファイル全体の old を new に置換。

インサートモード

テキストを入力するモードです。
ノーマルモードから ia キー等を押すとインサートモードに入ります。

インサートモードになるキーの一覧

  • i :カーソル前にテキストを挿入する場合
  • a :カーソル後にテキストを挿入する場合
  • I :行頭にテキストを挿入する場合
  • A :行末にテキストを挿入する場合
  • o :下に行を追加し、テキストを挿入する場合
  • O :上に行を追加し、テキストを挿入する場合

初心者の内は最低限iが使えれば問題ありません。

ビジュアルモード

テキストを選択するモードです。
ノーマルモードから v キーを押すとビジュアルモードに入ります。

使用例:範囲選択してコピーや削除を行う。

  • v: カーソル移動で範囲選択
  • y: 範囲選択した文字列をコピー
  • p: 範囲選択した文字列をコピーした文字列で上書き
  • x: 範囲選択した文字列を削除

viとvimどちらを使うべきか

vimはviの上位互換です。
viとvimのリンクを辿ると、ほとんどの場合、最終的にはvimを参照しているかと思います。

実際に確認してみてください。

Debianの環境で確認したサンプルは以下の通りです。

# viのパスを確認する
$ which vi
/usr/bin/vi
$ ls -l /usr/bin/vi
lrwxrwxrwx 1 root root 20 Aug 14  2023 /usr/bin/vi 
-> /etc/alternatives/vi
$ ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 18 Aug 14  2023 /etc/alternatives/vi -> /usr/bin/vim.basic

# vimのパスを確認する
$ which vim
/usr/bin/vim
$ ls -l /usr/bin/vim
lrwxrwxrwx 1 root root 21 Aug 14  2023 /usr/bin/vim -> /etc/alternatives/vim
$ ls -l /etc/alternatives/vim
lrwxrwxrwx 1 root root 18 Aug 14  2023 /etc/alternatives/vim -> /usr/bin/vim.basic

どちらも/usr/bin/vim.basicを参照していることが確認できました。
結論として、vi/vimどちらを指定しても変わりません。

まとめ

vi/vimはシンプルながら高機能なテキストエディタです。
初めて使うときは少し取っつきにくいかもしれませんが、 何度も練習を重ねることで、効率的かつ正確にテキスト編集ができるようになります。
ぜひ活用してみてください。


以上です。
よいITライフを。