2014/02/20

.vimrcでありがちなミスとかおすすめとか

この記事は Vim Advent Calendar 2013 82日目の記事になります。

\アドベント!/

今回は、みんなの大好きなvimrcの話です。
人のvimrcを見ているととても面白いですが、「あ、これはこうしたほうがいいよな〜」なんて思うことが稀にあります。

そんな間違いや個人的にこうしたほうがいいよって言うものをまとめて見ました。

1. ファイル形式別機能の有効無効設定

これはかなり頻繁に見かける間違いです。
間違い

filetype plugin indent on
filetype indent on
正しい

filetype plugin indent on 
これはhelpを引けばわかります。
:help :filetype-overview
有効無効の設定は一括でできます。



2. カラースキームとシンタックスの有効


これは自分もハマりました。

間違い
colorscheme mopkai
syntax enable
正しい
syntax enable
colorscheme mopkai
順番が大事なのです、逆にするとうまく色がつかない場合があります。
原因は不明です…



3. インデント

この記事を書いていて自分のvimrcのミスに気が付きました

間違い
set smartindent
set cindent

正しい
set smartindent
or
set cindent
これはこちらに書いてあります。
:help smartindent
smartindentはcindentかindentexprが有効なときは意味が無いようです。



4. nocompatible

set nocompatible
これはvimrcを書き始めたらまず書くと思います。
別に間違いではありませんが、これは不要です。
:help compatible
を見てみると、「既定では オン、ファイルvimrcまたはgvimrcが発見されたらオフ」とあります。
つまり、vimrcを書いた時点でnocompatibleになります。


5. 複数の設定値

set backspace=2
set autoindent
set cindent
set expandtab    
set shiftwidth=4
 
これは以下と同様です。
set backspace=2 autoindent cindent expandtab shiftwidth=4  
好きな方を書くといいと思います。
ちなみに自分は末尾にコメントを書くので前者が好きです。


6. 設定値の反転

これも意外と知られていないと思います。
set paste!
set invpaste
ペーストオプションのトグルを行います、2つは同じ意味です。
これをマッピングしておくととても便利です。


7. mapの違い
これはvimrc成長させはじめの人に見受けられます。
Vimのmapまず、「展開するmap」と「展開しないmap」に二分されます。
ちょうどいいので自分のvimrcのメモ書きを貼っておきます。
どのモードでマップするかも大事ですからね。
どうぞコピペしてください。


これのnoreが付いている方が展開しないほうで、ついていないのが展開するものです。
するものは、マップ先にマップされているものがあればそれも評価して実行します。
どちらを使うか考えながらマップしましょう。

0 件のコメント:

コメントを投稿