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 に置換。
インサートモード
テキストを入力するモードです。
ノーマルモードから i
やa
キー等を押すとインサートモードに入ります。
インサートモードになるキーの一覧
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ライフを。