Vimも新しく

先日の「bash4を入れてみた」に誘発されて、日頃使いのツールを新しいバージョンで整えておこうとテキストエディタVimをインストールしました。

$ sudo port install vim

Vimは、コマンドライン操作をしていてちょっとした修正のときにしか使っていないのであまり詳しくないです。慣れもあるかもしれないけど、CotEditorで編集した方が絶対楽だし信頼性があるのよね。CotEditorでも、不可視ファイルを開くことができるので困ることがないんですよ。

そこで、最低限編集に支障をきたさない程度の設定をしています。シンプルにまとめていると思うのですがいかがでしょう? もっと、こうした方がいいよってことがあったらコメントいただけると助かります。

“”” .vimrc

” 文字コード判定
set fencs=iso-2022-jp,euc-jp,cp932

” ステータスラインを常に表示
set laststatus=2
” ステータスラインに文字コードと改行文字を表示する
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P " ESCキー2度押しでハイライトを消す set hlsearch nnoremap :set nohlsearch
nnoremap / :set hlsearch/
nnoremap ? :set hlsearch?
nnoremap * :set hlsearch*
nnoremap # :set hlsearch#

” インデント設定
set shiftwidth=4
set tabstop=4
set autoindent

” Omni 補完をタブキーで行う
function InsertTabWrapper()
if pumvisible()
return “\
endif
let col = col(‘.’) – 1
if !col || getline(‘.’)[col – 1] !~ ‘\k\|<\|/' return "\
elseif exists(‘&omnifunc’) && &omnifunc == ”
return “\
else
return “\\
endif
endfunction
inoremap =InsertTabWrapper()

もし、私の設定を気に入ってもらえたらダウンロードしてお使いください。

10.5: Vim7 -Omni completion は便利!!

LeopardになってVimが新しくなってVim7になってました。新機能を見るには’:help?version7’とすれば英文でズラズラッと表示されます。英文なんで所々しかわかんない。ググってみるとヘルプドキュメントを和訳してくれているページを発見したんで、なんとか概要をつかめた次第です。

で、目を引いたのがOmni補完機能。bashの補完機能によく似ている。ただ、’c-x?c-o’としなくちゃならないのがちょっと気に入らない。補完と云えばTabキーだという習慣があるので、こちらを参考にTabキーで使えるようにしました。

"omni mapping
function InsertTabWrapper()
    if pumvisible()
        return "\<c-n>"
    endif
    let col = col('.') - 1
    if !col || getline('.')[col - 1] !~ '\k\|<\|/'
        return "\<tab>"
    elseif exists('&omnifunc') && &omnifunc == ''
        return "\<c-n>"
    else
        return "\<c-x>\<c-o>"
    endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper()<cr>

使いこなせばVimは強力なテキストエディタなんですがなかなか仲良くなれません。そのうち心を開いてくれるといいんだけど…。

(追記:2007−11−09)
こちらのvimrcもいいですね。しばらくそのまま利用してみよう。