【コマンドライン】viエディタの設定(setコマンド・設定ファイル)

【コマンドライン】viエディタの設定(setコマンド・設定ファイル)

CUIのコンピュータでは、viコマンドのエディタが頻繁に利用されます。

viエディタはキーボードのみで操作することもあり、GUIのエディタが主流の近年では使いづらく感じることがあります。

使いやすくするためにはviエディタを設定することが推奨です。

ここではviエディタの設定方法について解説します。

検証環境

設定方法

設定方法は『setコマンド』と『設定ファイル』の2通りあります。

setコマンドが最も基本的な方法ですが、setコマンドの設定内容はviエディタを終了するとリセットされます。

そのため、一時的に設定する場合はsetコマンドで問題ありませんが、常時設定するオプションは設定ファイルを使うことを推奨します。

ただし、ここでは基本部分としてsetコマンドの解説から進めます。

setコマンド

setコマンドはviエディタのコマンドモードで設定する方法です。

行数表示や隠し文字の表示、段落維持など様々な設定項目(オプション)があります。

各オプションのON/OFFや値を次の形式で設定します。

設定ON

: set [オプション]

設定OFF

: set no[オプション]

値設定

: set [オプション] = 値

オプション

オプションはviエディタの設定項目です。

主なオプションは次の通りです。

オプション 内容
number 行数を表示
list 隠し文字を表示
expandtab Tab入力時にタブ文字ではなく半角スペースを使用
tabstop=[数値] Tab入力時に指定した数値のスペースを使用
autoindent 改行時に前行の段落を維持

サンプル

setコマンドのサンプルを示します。

次の画像はmemo.txtをviエディタで開いた直後の画面です。

viエディタで開いたテキストファイル

number

numberは行数表示のオプションです。

設定ON

: set numberを入力しエンターキーで確定すると行数が表示されます。

viエディタのnumberオプション

設定OFF

: set nonumberを入力しエンターキーで確定すると行数が非表示になります。

viエディタのnonumberオプション

list

listは隠し文字表示のオプションです。

設定ON

: set listを入力しエンターキーで確定すると隠し文字が表示されます。

viエディタのlistオプション

^IはTab、$は改行に対応しています。

設定OFF

: set nolistを入力しエンターキーで確定すると隠し文字が非表示になります。

viエディタのnolistオプション

expandtab

expandtabはTab入力時の文字を半角スペースにするオプションです。

設定ON

: set expandtabを入力しエンターキーで確定するとTab入力がスペースになります。
※ 設定反映を確認するため、listオプションをONにしています。

viエディタのexpandtabオプション

試しに1行目の先頭にTab入力すると、^Iではなくスペース文字が4つ入力されました。

viエディタのexpandtabオプションの動作確認

設定OFF

: set noexpandtabを入力しエンターキーで確定するとTab入力がタブ文字になります。

viエディタのnoexpandtabオプション

試しに2行目の先頭にTab入力すると、スペース文字ではなく、^Iが入力されました。

tabstop=[数値]

tabstopはTab入力時の半角スペース数のオプションです。

値設定

: set tabstop=[数値]を入力しエンターキーで確定するとTab入力の半角スペースの文字数を変更します。
※ expandtabをONにして使用します。

viエディタのtabstopオプション

Tabスペースが4から2に変更したことにより各Tabスペースが狭くなったことが分かります。

以降のTab入力ではスペースが2になります。

autoindent

autoindentは改行時に前行の段落を維持するオプションです。

設定ON

: set autoindentを入力しエンターキーで確定すると改行時に前行の段落を維持します。

viエディタのautoindentオプション

試しに3行目の『Vi Command Option.』の末尾で改行すると、段落を保持して改行したことが分かります。

viエディタのautoindentオプションの動作確認

設定OFF

: set noautoindentを入力しエンターキーで確定すると改行時に前行の段落を維持しません。

viエディタのnoautoindentオプション

試しに10行目の『Config File.』の末尾で改行すると、段落を保持せず改行したことが分かります。

viエディタのnoautoindentオプションの動作確認

設定ファイル

設定ファイルはviエディタの設定を記述したファイルです。

viエディタは起動時に設定ファイルを読み込むため、任意の設定を自動で反映できます。

setコマンドは毎回設定する必要があり、手間がかかるため、こちらの方法を推奨します。

設定ファイルはホームディレクトリに隠しファイル.vimrcとして作成します。
※ ご利用の環境により設定ファイル名等が異なる場合があります。

$ vi ~/.vimrc

設定ファイルにはsetコマンドと同様の形式でオプションを記述しますが、先頭のコロン(:)は必要なく、行ごとに入力します。

viエディタの設定ファイル

設定を入力したら保存して終了します。
viエディタでファイルを開くと起動時から設定が反映されていることが分かります。

viエディタの設定ファイルの動作確認