技術系

【解説付き】vimrcのオススメな設定内容を晒すので参考に【小技も】

投稿日:


貼り付けるだけで便利になるviエディタの自分の設定について晒しておきます
(自分用のメモとしても)

スポンサーリンク

とっても便利で素敵なおすすめvi(vimrc)の設定

※先頭に"(ダブルコーテーション)がついているものはコメントアウトしているものなので書かなくてもOKです
とりあえず上の内容をコピって貼り付けるだけでも十分イケてるはずなので内容はいちいち見なくてもいいかもです。

それぞれの項目の内容について

"set number

こいつを有効にしておくと、viを開いている間、左側に行番号が表示される。
コーディングしててたまに必要になるのですが、マウスで行全体をコピーしたい時にその番号までもコピーされてしまい嫌なのでデフォでは外している。
もし、viで作業中に行番号みたくなったら、

:set nu

を入力することで行番号が表示されるようになる。
また、
:set nonu

で非表示なる。

set ruler

カーソルが何行目の何列目に置かれているかを表示する。

(有効:ruler/無効:noruler)

まあつけておいて損はないかと。ってレベルです。

set incsearch

/を打ったあとの文字を入力タイミングからリアルタイムで検索してくれる。
僕はこの機能が割りと好きなので有効にしてます。

set hlsearch

検索結果をハイライトして表示してくれる。
いわずも必須オプションかと思われます。

"set nowrap

これが有効だと画面の端っこまで文字がいっても改行してくれません。
僕は文字が見きれて表示されるのが普通に嫌なのでオフってます。
ちょっとした小技ですが、
vim_kowaza

一行がとても長くて改行されてる状態でカーソルが一番左上にあってすぐ下の行に行きたい場合に、
j(下に移動)
を押すと一番下の行まで飛んでしまいますが、
g j (Good Jobじゃないです)
と押すとすぐ下の行に移動できます。

同様にすぐ上の行に移動したいときは、
g k
と押すとすぐ上に移動できます。

set showmatch

対応する括弧を強調して表示してくれます。
プログラム書いてて関数をたくさん書いたりしたときにいちいち確認せずにすみます。
子技ですが、括弧の上にカーソルを置いた状態で、% を押すと対応する括弧までカーソルがジャンプします。お試しあれ。

"set whichwrap=h,l

行頭や、行末でカーソル移動したときに前の行や、次の行にいく設定です。
こいつは個人的にまじでファックなので真っ先にオフにしました。

set wrapscan

文字列を検索してて、一番オシリ(もしくはアタマ)まで検索したときに先頭まで戻って検索するかの設定です。
これは好みが別れるかと思いますが僕は戻って検索してほしいのでwrapscanにしてます。
「いや、最後まで検索したらそこで止めてほしい」という方は、

set nowrapscan

にしておくと良いです。

set ignorecase

文字列の検索時に大文字と小文字を区別しないで検索します。
詳しくは下記に書かれてます。

http://kaworu.jpn.org/kaworu/2010-11-24-1.php

set smartcase

上記のignorecaseと組み合わせて使うことで、
小文字で検索した時は区別しなくなります。ベターな設定ではないでしょうか。
詳しくはry

http://kaworu.jpn.org/kaworu/2010-11-24-1.php

set hidden

viだと複数のテキストファイルを開くとバッファに保存されていて、
切り替えるときに保存していないと切り替えることができないのですが、
この設定を入れることで保存しなくても別のテキストファイルに切り替えることができます。
何言ってるかよくわからないかもしれませんが入れといて損はないですw

set history=2000

過去に打ったviのコマンドをいくつまで保存しておくかの設定です。
:(コロン)を打ったあとに上ボタン押すと履歴を遡れますよね。アレです。
って2000もいらねーよ!!w
(面倒なのでこのままにしてますw)

set autoindent

これ設定してると改行したときに自動で半角スペースを8ついれてくれるそうなんですけど本当に効いてるのかな・・・
ごめんなさいこいつについてはよくわかってないです。

“set expandtab

tabを押した時にtabではなくスペースを入れてくれる設定です。
僕はtabが入っててほしい派なのでコメントアウトしてます。
※この設定を入れてたとしても、
Control + v をおした後にtabを押すことで でtabを入力することができます。これ、小技です。

set tabstop=4

tabをスペースいくつ分にするかの設定です。
とりあえずデフォルトでこうやって設定しておいて、
「インデントが多くなってきて文字が見きれてきちゃったな」
って時には、

:set ts=2

と打てばその場でスペース2つ分に変更可能です。
結構使うので覚えておいて損はないです。

なお、
:set tabstop=2
でもいけます。
(ts=TabStopの略ですね)
※厳密に言うとsofttabstopという設定もあるのですがあまり意識することないです。僕が情弱なだけかもですが。

set shiftwidth=4

これはすごく便利です。
<< や >>を入力したときに挿入されるtabがスペースいくつ分かを設定できます。
例えばshift + v
を押して複数行を選択させた状態で、

>>

っと入力するとそれを一気にインデントすることが可能です。
・・・この設定値が便利というより

>>
の機能が便利なんだということに今気づきました。

set paste

web上のコードをコピーしてviに貼り付けたときに、
なんか変にコメントアウトがついてたり、
やたら勝手にインデントされてしまう時があります。
この設定を入れておくことでそれを防ぐことができます。

以上です。

ちなみに上記はすべてvimrcに書く内容として紹介してますが

例えば、

set paste

とかは普通にvi上で、

:set paste

と打つことで設定することも可能です。

また、

:set nopaste

みたいな感じでnoをつけると無効化することが可能なので覚えておくと便利です。

今日の一言

vimmerを目指す日々ですが調べれば調べるほど、自分はまだまだ初心者なレベルだなって思うくらいvimは奥が深くそして便利です。


スポンサードリンク

スポンサードリンク

-技術系

Copyright© chat-blog , 2017 AllRights Reserved.