Vimを使う - 設定ファイル.vimrc

【連載】

にわか管理者のためのLinux運用入門

【第228回】Vimを使う - 設定ファイル.vimrc

[2020/05/07 10:30]後藤大地 ブックマーク ブックマーク

設定ファイル ~/.vimrc

これまでの連載でVimを使うにあたって知っておくと便利な機能についてはひととおり説明してきたつもりだ。あとはVimのカスタマイズをする方法を説明して、Vimの紹介は一旦締めようと思う。

これまでの連載の内容をそのまま試しているなら、ホームディレクトリ以下に.vimrcというファイルが作成してあって、次のような内容が書いてあるはずだ。

colorscheme slate
set number

この状態でVimでXMLファイルを編集しようとすると、次のような状態になる。

上記~/.vimrcでのVimの使用例

~/.vimrcの中身を空にして同じファイルをVimで開くと次のようになる。

からの~/.vimrcでのVimの使用例

見た目が変わっていることがおわかりいただけるはずだ。デフォルトの挙動がどうなっているかはLinuxディストリビューションごとに異なるのだが、~/.vimrcに設定を追加しておくと、このデフォルトの挙動を変えることができる、ということを覚えておいていただきたい。

~/.vimrcファイルで設定できる内容は千差万別だ。それこそ沼であり、全てを説明することは不可能な気すらする。本稿では”取っ掛かり”として、特によく使われていると思われる設定をかいつまんで紹介しておくので、後は自分の好みで~/.vimrcを育てていってほしい。

カラースキーマを設定 colorscheme

カラースキーマを設定する方法については第214回ですでに紹介しているので、どんなカラースキーマを設定できるかはそちらを参考にしてほしい。次の記述では、「slate」というカラースキーマを設定している。

colorscheme slate

カラースキーマを設定しても色が付かない場合、次のようにシンタックス機能を有効化する設定を追加してみてほしい。これで解決するはずだ。

syntax on

カラースキーマは視認性を向上させる上で役に立つ。自分の好みのカラースキーマを選んで設定してみよう。

行数を表示する「set number」

Vimでは以下のコマンドで行数を表示させることができる。

set number

置換機能について説明するときに紹介したように、Vimでは置換を適用する範囲を行数などで指定することができる。このため、常に行数が表示されていると何かと扱いやすい。この設定もデフォルトで有効化しておいたほうが便利だろう。

ただし、ターミナルからテキストをコピー&ペーストしたい場合には、逆にこの行数表示が邪魔になることがある。そんなときにはノーマルモードで「:set nonumber」のように実行すれば行表示を解除することができる。

行末と行頭の回り込みを行う「set whichwrap=」

Vimはデフォルトではカーソルが行末からさらに右には移動しないようになっている。GUIエディタやワープロアプリケーションでは、行末にきたカーソルは回って次の行の行頭へ移動することが多い。逆に行頭からさらに左に移動しようとすれば、前の行の行末へ移動する。

Vimではこの設定を「set whichwrap=」の実行によって行うことができる。次のように設定しておけばまずまずGUIエディタと同じような動作になると思う。

set whichwrap=b,s,[,],<,>,~,h,l

「set whichwrap=」で指定している内容についても、次に説明をまとめておく。

文字 対応キー 対応モード
b Backspace ノーマル、ビジュアル
s Space ノーマル、ビジュアル
< ノーマル、ビジュアル
> ノーマル、ビジュアル
[ 挿入、置換
] 挿入、置換
~ ~ ノーマル
h h ノーマル、ビジュアル
l l ノーマル、ビジュアル

この設定はデフォルトでは有効になっていないことが多い。気になるならこの設定を追加しておこう。

カーソルを強調表示する set cursorline

Vimを使っていると今どの行にカーソルがあるのかわかりにくい時がある。そんなときが多いなら次の設定を追加し、カーソル行を強調しておこう。

set cursorline

状況によって異なるのだが、この設定を追加しておくとカーソルのある行が多少目立ってわかりやすくなる。

検索をカスタマイズする「incsearch」「hlsearch」「ignorecase」

検索機能の挙動については好みが出る部分なので参考までに挙動を変更する設定を紹介しておく。まず、検索キーワードを入力している間にインタラクティブに検索対象に移動させたいなら、次のような設定を追加する。

set incsearch

入力しながら検索対象を探っていくような使い方をしたい場合には上記設定が便利だ。

検索に一致した単語を強調表示させる場合には次の設定を有効にする。1ページのなかに検索対象がいくつもあるようなケースでは、この設定を有効化しておくと検索対象がハイライト表示されて便利だ。

set hlsearch

大文字と小文字を区別しないで検索したい場合は、次の設定を入れておく。

set ignorecase

大文字を小文字を区別する検索だと取りこぼすこともあるので、そういったケースが心配な場合にはこの設定をしておくとよい。

設定ファイルの例

今回紹介した設定をすべて書き込むとすれば、~/.vimrcの内容は次のようになる。

colorscheme slate
set number
syntax on
set whichwrap=b,s,[,],<,>,~,h,l
set cursorline
set incsearch
set hlsearch
set ignorecase

この状態でVimを起動すると次のようになる。

上記~/.vimrcでVimを起動した場合のサンプル

~/.vimrcの内容は自分の都合に合わせて変えていくものだ。デフォルトで満足しているなら特に~/.vimrcを作って何かを書き込む必要はないし、不満点があるなら~/.vimrcに挙動を変更する設定を追加すればよい。育て上げた~/.vimrcはなかなか手になじむものだ。Vimを使っていた不満なところが出てきたら、~/.vimrcファイルの編集にトライしてみよう。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る