Linuxの定番テキストエディタ「vi」をマスターしよう(2)検索/オプション活用編:“応用力”をつけるためのLinux再入門(19)(3/3 ページ)
「vi(vim)」は、ターミナルで使用する「テキストエディタ」です。前回は起動と終了、カーソル移動を中心とした基本操作を紹介しました。今回は、ファイルの編集時にはもちろん、閲覧のみの場合でも便利な「検索」と「オプション」の使用方法について簡単な例で紹介します。
具体的なオプション活用編
●オプション例(1):検索時のハイライト表示を切り替える
前述した通り、検索時のハイライト表示は「:set hlsearch」でオン、「:set nohlsearch」でオフになります。オプションは、それぞれ「hls」「nohls」と省略できます。
:set hlsearch | ハイライト表示オン |
---|---|
:set nohlsearch | ハイライト表示オフ |
:nohl | ハイライト表示オフ(nohlsearchコマンドの省略表記) |
●オプション例(2):行番号を表示する
行番号を表示すると、カーソル位置が分かりやすくなって便利です。行番号の表示は「number」オプション、非表示は「nonumber」オプションで設定します(画面4)。それぞれ「nu」「nonu」と省略できます。
:set number | 行番号を表示する |
---|---|
:set nonumber | 行番号を表示しない |
●オプション例(3):キーワード文字(単語を構成する文字)を設定する
「w」や「e」を使って単語単位で移動したり、「*」や「#」を使って単語単位で検索したりできます。
「キーワード文字(単語を構成する文字)」は、「iskeyword」オプションで変更できます。viの既定値は「@,48-57,_」、vimの既定値は「@,48-57,_,192-255」です。
アルファベット(@)、数字(アスキーコード48〜57)、アンダースコア(_)、192〜255で定義されているアクセント記号付きのアルファベットが、キーワード文字として扱われます。
スラッシュ(/)とハイフン(-)も単語の一部として扱いたい場合は、「:set iskeyword+=/,-」と指定します。「iskeyword+=」でiskeywordに追加、「/,-」がスラッシュとハイフンという意味です。なお、「iskeyword」は「isk」と省略できます。
例えば、デフォルト設定の場合、「bash_profile」は1つの単語ですが、「bash-prompt-xterm」は3つの単語として扱われます。ハイフンをキーワード文字に追加することで、「bash-prompt-xterm」は1つの単語という扱いになります。
以下に設定例を示します。
:set iskeyword+=/,- | キーワード文字にスラッシュとハイフンを追加する |
---|---|
:set iskeyword=@,_ | キーワード文字をアルファベットとアンダースコアのみにする |
:set iskeyword& | キーワード文字の設定を初期値に戻す |
●オプション例(4):対応する括弧でカーソルを移動する
括弧にカーソルを合わせて[%]キーを押すと、対応する括弧へジャンプします。例えば、「(」の位置にカーソルがあるときに[%]キーを押すと、そのカッコに対応する「)」の位置へジャンプします。逆も同様です。
記号は「(」と「)」のペア、「{」と「}」のペア、「[」と「]」のペアに対応しています。また、“括弧の入れ子”(括弧の中に括弧がある状態)にも対応しています。
括弧と見なす文字のペアは「matchpairs」オプションで設定できます。例えば、「<」と「>」のペアを追加したい場合は、「:set matchpairs+=<:>」と指定します。「matchpairs」は「mps」と省略できます。
「matchpairs」の設定は、「2種類の文字のペア」であれば何でも構いません。例えば、vimのドキュメントでは、CやJava言語用に「=」と「;」のペアを設定する例が紹介されています(※)。なお、同じ文字は設定できないため、「"」と「"」のペアを設定する、ということはできません。
:set matchpairs+=<:> | 括弧の定義に山括弧を追加 |
---|---|
:set matchpairs& | 括弧の定義を初期値に戻す |
【※】設定例は「:au FileType c,cpp,java set mps+==:;」。「au」は「autocmd」の略で、ファイルの拡張子がc、cpp、javaの場合に「=」と「;」のペアを[%]キーでジャンプできるように設定している。詳しくは、vim-jpによるドキュメントの日本語訳「options - Vim日本語ドキュメント」参照のこと。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.