貼り付けるだけで便利になるviエディタの自分の設定について晒しておきます
(自分用のメモとしても)
とっても便利で素敵なおすすめvi(vimrc)の設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[vagrant@chat-server ~]$ cat ~/.vimrc "set number set ruler set incsearch set hlsearch "set nowrap set showmatch "set whichwrap=h,l set wrapscan set ignorecase set smartcase set hidden set history=2000 set autoindent set expandtab set tabstop=2 set shiftwidth=2 set paste |
※先頭に"(ダブルコーテーション)がついているものはコメントアウトしているものなので書かなくてもOKです
とりあえず上の内容をコピって貼り付けるだけでも十分イケてるはずなので内容はいちいち見なくてもいいかもです。
それぞれの項目の内容について
"set number
こいつを有効にしておくと、viを開いている間、
コーディングしててたまに必要になるのですが、
もし、viで作業中に行番号みたくなったら、
:set nu
を入力することで行番号が表示されるようになる。
また、
:set nonu
で非表示なる。
set ruler
カーソルが何行目の何列目に置かれているかを表示する。
(有効:ruler/無効:noruler)
まあつけておいて損はないかと。ってレベルです。
set incsearch
/を打ったあとの文字を入力タイミングからリアルタイムで検索
僕はこの機能が割りと好きなので有効にしてます。
set hlsearch
検索結果をハイライトして表示してくれる。
いわずも必須オプションかと思われます。
"set nowrap
これが有効だと画面の端っこまで文字がいっても改行してくれませ
僕は文字が見きれて表示されるのが普通に嫌なのでオフってます。
ちょっとした小技ですが、
一行がとても長くて改行されてる状態でカーソルが一番左上にあってすぐ下の行に行きたい場合に、
j(下に移動)
を押すと一番下の行まで飛んでしまいますが、
g j (Good Jobじゃないです)
と押すとすぐ下の行に移動できます。
同様にすぐ上の行に移動したいときは、
g k
と押すとすぐ上に移動できます。
set showmatch
対応する括弧を強調して表示してくれます。
プログラム書いてて関数をたくさん書いたりしたときにいちいち確
子技ですが、括弧の上にカーソルを置いた状態で、% を押すと対応する括弧までカーソルがジャンプします。お試しあれ。
"set whichwrap=h,l
行頭や、行末でカーソル移動したときに前の行や、
こいつは個人的にまじでファックなので真っ先にオフにしました。
set wrapscan
文字列を検索してて、一番オシリ(もしくはアタマ)
これは好みが別れるかと思いますが僕は戻って検索してほしいので
「いや、最後まで検索したらそこで止めてほしい」という方は、
set nowrapscan
にしておくと良いです。
set ignorecase
文字列の検索時に大文字と小文字を区別しないで検索します。
詳しくは下記に書かれてます。
http://kaworu.jpn.org/kaworu/
set smartcase
上記のignorecaseと組み合わせて使うことで、
小文字で検索した時は区別しなくなります。
詳しくはry
http://kaworu.jpn.org/kaworu/
set hidden
viだと複数のテキストファイルを開くとバッファに保存されていて、
切り替えるときに保存していないと切り替えることができないので
この設定を入れることで保存しなくても別のテキストファイルに切
何言ってるかよくわからないかもしれませんが入れといて損はない
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は奥が深くそして便利です。