Ubuntu 10.04のgvimが ~/.vim/after/ftplugin/*.vim を読み込まない?

C言語C++を使うときはタブ(半角4文字分)でインデントするので、vimの標準設定(.vimrc にて設定)はそれに合わせている。

が、言語によっては別の設定にしたくて、例えばRubyの場合は半角スペース2文字でインデントしたい。

という訳でこんなファイル(ruby.vim)を作った。

" Vim filetype plugin file plus
" Language:	Ruby
" Maintainer:	eel3 @ TRASH BOX
" Last Change:	Mar 16 2011

" Only do this when plug-in already loaded for this buffer
if !exists("b:did_ftplugin")
  finish
endif

setlocal expandtab
setlocal tabstop=2 shiftwidth=2 softtabstop=2
map <buffer> <Leader>r <Esc>:!start ckw -e irb.bat -r %<CR>

" Undo the stuff we changed
let b:undo_ftplugin = (exists('b:undo_ftplugin') ? b:undo_ftplugin . ' | ' : '')
	\ . "setlocal et< ts< sw< sts< | unmap <buffer> <Leader>r"

Windows上では香り屋版vimを使っていて、このファイルをvimのインストールディレクトリ直下の vimfiles\after\ftplugin に置くとRubyのコードを編集する時だけインデントの設定が切り替わるようになった。

で、このファイルをUbuntu 10.04 LTS上のgvimでも使おうとしたのだが、何かうまくいかない。文字コード/改行コードを変換して ~/.vim/after/ftplugin 直下に置いたのだが、インデントの設定が切り替わらない。

実はこれ以外にもlisp.vimとかlua.vimとか作成して同ディレクトリに置いているのだが、軒並み動作していないようだ。いずれもWindows上では動作実績があるのだが。

文字コード・改行コードは変換しているし、ファイルやディレクトリのアクセス権限も問題なさそう*1なのだが……。

もしかしたら ~/.vim/after/ftplugin/ruby.vim を読み込んだ後で ~/.vimrc を読み込んでいるのだろうか? Windowsの香り屋版ではインストールフォルダ直下に _vimrc を置いているので、読み込みの順番が違うとか……。いや、それだとアプリケーション全体の挙動として変なのか。

後は、違いといえば香り屋版がvim 7.3でUbuntu上のgvimが7.2だという点ぐらいだが……。

ググってみるとこれみたいにUbuntu 10.04にgvimを入れていて ~/.vim/after/ftplugin 直下にファイルを置いていて悩んでいる人もいるみたいだが、状況が色々と異なるので全く関係ない事象かもしれないし……。う〜ん。

*1:いわゆる「chmod 755」で設定される権限。