Linuxゲリラ戦記

Vimの設定ファイルをVimでいじる

アイキャッチ

66.Vimの設定ファイル、.vimrcをいじる

ナックス「こんにちは。今回はVimの設定ファイルを編集するよ」

デビー君「はーい」

ナックス「実はVimって例えば色付きと行番号表示にしてVimを終了しても、次回起動するときはデフォルトの状態、つまり、色なし、行番号非表示で起動するんだ」

デビー君「え、そうなの?」

ナックス「うん。で、起動のたびに :syntax on、:set number って打つの、面倒くさいじゃん?だから、Vimのデフォルトの状態を変更します!そして、Vimのデフォルトの状態を設定する方法が、設定ファイルを書くことだ!」

デビー君「なるほど」

ナックス「前回の解説を公開した後に思ったけどもしかしてLinuxディストリビューションの種類によっては、最初から色がついていたり、行番号が表示されていたりしたと思う」

デビー君「うん」

ナックス「多分、あなたが使用しているLinuxディストリビューションではVimの設定ファイルで最初からある程度設定されているんだ」

デビー君「ほう」

ナックス「じゃあ、Vimの設定ファイルってどこにあるの?って話だけど、あなたのホームディレクトリに.vimrcっていうファイルがあれば、それがVimの設定ファイルだ。無い人は一緒に作ろう」

デビー君「んん?ホームディレクトリで ls コマンドを打ってみたけど僕の環境では .vimrc なんていうファイルは無いみたいだ」

$ ls ~

ナックス「違うんだ。いや、たしかに~(チルダ)でホームディレクトリを指定したのは素晴らしい判断だ。例えこの文章を読んでる人がホームディレクトリ以外のディレクトリにいたとしても、ホームディレクトリ内のファイル一覧が表示される。デビー君は天才だ!!」

デビー君「うん、僕が天才なことはすでに僕は知ってたよ」

ナックス「ただ、ちょっと待って。思い出して。ファイル名の最初に.(ドット)がついてるよ!」

デビー君「?ドットがついてるね?」

ナックス「ドットヴィムアールシーだよ」

デビー君「ドットヴィムアールシーだね」

ナックス「…………」

デビー君「!!分かった!僕がデビーという人間に生まれ変わる前は、ドットヴィムアールシーという名前の勇者だったんだね!?」

ナックス「違うよ!!全然違うよ!!違いすぎて、もはやデビー君の話についていけないよ!!ファイル名の最初に.(ドット)がつくファイルは隠しファイル(隠しフォルダ)なんだよ!だから ls コマンドに a オプションが必要なんだ」

$ ls -a ~

デビー君「あー。なるほどねー」

ナックス「というわけで、もし ls -a で最初から .vimrc っていう名前のファイルが存在していた場合は、ちょっとそれどかそう」

デビー君「どかすの?どうやって?」

ナックス「こうしよう」

$ mv ~/.vimrc ~/.vimrc.bk

ナックス「~(チルダ)があって逆に分かりにくい、って人向けに、単純に教えるとこうだ」

$ mv .vimrc .vimrc.bk

デビー君「へー。.vimrcっていうファイル名を.vimrc.bkっていう名前に変えただけだね」

ナックス「そうです。Vimの設定ファイルの名前はホームフォルダの .vimrc って決まっているので、.vimrcっていう名前を変更するだけで、そのファイルは設定ファイルとして機能しなくなります」

ナックス「もし事情があって初期設定のファイルを使用したくなったら」

$ cp .vimrc.bk .vimrc

ナックス「みたいなコマンドで初期設定に戻ります」

デビー君「はーい」

ナックス「さて、最初から .vimrc ファイルが存在した人は上記の例でバックアップを取り、最初から.vimrcファイルが存在しない人と同じ状態になりました。ゼロから作るぜ .vimrc ファイル!」

デビー君「いぇーい」

ナックス「っていうわけで、Vimで.vimrcファイルを作りましょう。ホームディレクトリで以下のコマンドを打ってね」

$ vim .vimrc

Vimの起動

Vimが起動しました

ナックス「Vimが起動しました。現在はコマンドモードです。これを文字を書くためのインサートモード(挿入モード)にするために、iキーを押してください。挿入モードになるはずです。ここらへん、忘れてる人は61.Vimの使い方。インサートモード。コマンドモード。保存。終了。を見てみてね」

インサートモードになりました

ナックス「左下に、『挿入』もしくは『インサート』もしくは『Insert』って書かれてたらインサートモード(挿入モード)、分かりやすく言えば『文字が書き込めちゃうよモード』です」

デビー君「うんうん」

ナックス「文字を書き込みます。まずは色をつけるための設定をしましょうsyntax onと書き込みます」

syntax on

色をつける設定をします

ナックス「これだけでデフォルトの設定が色付きになります」

デビー君「へー。コマンドモードで設定するのと同じように設定するんだね」

ナックス「そうです。で、次は行番号の表示を設定します。set numberと書き込みます」

syntax on
set number

行番号を表示する設定をします

ナックス「これだけで次回から行番号が表示されます」

デビー君「なんだ、意外と楽勝だ」

ナックス「今回は、せっかくですので最後にタブの表示幅を設定させてください」

デビー君「タブの表示幅?」

ナックス「昔、タブに関してこう説明したことがあります。『いい感じにスペースを空けるもの。ただし、4文字だったり8文字だったりで決まりはない』と」

デビー君「うんうん」

ナックス「今回、私達はタブ幅を2文字に設定します」

デビー君「2文字?4文字とか8文字が多数派じゃなかったっけ?」

ナックス「そうなんですけど、2文字にしないといけない理由が私にはあるのです」

デビー君「え、何?」

ナックス「『タブ幅が大きいと、画面を見せて説明したい時に1ページに収まらない問題』!!」

デビー君「…………」

ナックス「というわけで、タブ幅は可能な限り短くしたい。でも、タブ幅が文字1文字分だと、普通のスペースと見分けがつかない。よって2文字だ!!」

ナックス「というわけで、以下のサイトを参考にしつつ」

タブ幅やインデント幅の設定 - good enough?

Peace Pipe: はてな技術勉強会 .vimrc 説明補足 [vim]

ナックス「こう設定してみた!!」

syntax on
set number
set tabstop=2
set shiftwidth=2
set noexpandtab
set softtabstop=0

タブ幅を設定します

ナックス「こいつで完成です」

デビー君「おお!」

ナックス「さて、保存して終了しましょう。まずEscキーを押してコマンドモードにします」

デビー君「左下にあった『挿入』っていう文字が消えたね」

コマンドモードにします

ナックス「ここらへんも、もし忘れてたら61.Vimの使い方。インサートモード。コマンドモード。保存。終了。を参考にしてね」

ナックス「で、前に教えたとおりにするとするなら、コマンドモードで保存の:wを実行して終了の:qを実行するんだけど、今回は保存と終了を同時に行います。といっても、何も難しいことはなく、コマンドモードで :wq を実行するだけです」

:wq

保存と終了を同時に行う

ナックス「実行したら、無事に保存されてVimが終了するはずです。保存されてるかどうかはls -aコマンドをすれば、作ったファイル、.vimrcが存在するのが確認できるはずです」

ナックス「これで、次回からVimを使ったら自動的に色付き、行番号つき、かつタブの幅は2文字分になっています」

ナックス「で!基本的には、もうあまりLinuxゲリラ戦記ではこれ以上Vimの設定ファイルをいじる予定はないです」

デビー君「え、そうなの?」

ナックス「うん。でも、Vimの設定ファイルはいじればいじるほど便利になるから、各自勝手に『vim 設定ファイル』とか言うキーワードでググって好きなように設定して構いません。タブ幅も『ワシは4文字がいいんじゃ!』って人は4文字に設定しなおしても構いません」

デビー君「はーい、了解です」

ナックス「次回!!67.wgetでダウンロードするファイルのダウンロード後の名前を指定!!」

このエントリーをはてなブックマークに追加