Ads by Google
新しい記事を書く事で広告が消せます。
--/--/-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-)
MacのGVimで文字化けしないようにrefe.vimを使う
なんか手間がかかったのでメモしておく.
ナレッジエース - Vimでカーソル下の単語からRubyのリファレンスを検索を見て,Macでやってみようと思ったけどいろいろひっかかった.環境としては,MacPortsでPrivatePortfile/Vim - MacPortsWiki-JPを使って+cocoa+cscope+huge+kaoriya+multibyte+python+rubyでインストールしたVimと,rubyとrb-rubygems入れてある.
で,sudo gem install refeしてrefe入れて,refe.vim - rails2u.comからrefe.vimを持ってくる.ちなみに,*.vbaファイルは,vim *.vbaして開いてから:so %でインストールできる.とりあえず,これでナレッジエースさんとこで書いてある環境になるけども,refeがEUC-JPで日本語を吐くのでUTF-8で表示したい自分の場合は文字化けして困ってしまう.というわけで,refeのソースを見てたら文字コードを変換するとこがあったので,適当にMac用の処理を追加してみた.以下のような感じ.
*** searcher.rb.bak 2007-12-17 00:21:43.000000000 +0900
--- searcher.rb 2007-12-17 00:22:36.000000000 +0900
***************
*** 18,23 ****
--- 18,25 ----
def adjust_encoding( str )
if shift_jis_platform?
NKF.nkf('-Es', str)
+ elsif utf8_platform?
+ NKF.nkf('-Ew', str)
else
str
end
***************
*** 26,31 ****
--- 28,37 ----
def shift_jis_platform?
/mswin|mingw|cygwin|djgpp|vms/ === RUBY_PLATFORM
end
+
+ def utf8_platform?
+ /darwin/ === RUBY_PLATFORM
+ end
end
この段階で,CUIのVimでは問題なく使えるようになる.しかし,GVimではrefeっていうコマンドなんかないよ,って怒られてしまう.これは,CUIとGUIではパスの通し方が違うのが原因.GUIアプリ用にパスを通すときは,~/.MacOSX/environment.plistを作って,Property List Editorで開いて,Rootの下にPATHを作って,ClassはString,Valueに/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbinを指定すれば良い.で,再起動(再ログインでもよいかも)すると設定が有効になる.GVimで,:!echo $PATHすると確かめることができる.
ついでに,.vimrcもちょっと変えて,
autocmd FileType ruby,eruby nnoremap <silent> K :Refe <cword><CR>
としてみた.これで,Ruby書いてるときにShift + kするとrefeを引くことができるようになる.
ちなみに,VimでRuby書くときは,sudo gem install vim-rubyしたあと,指示に従ってvim-ruby-install.rbして,ruby用の設定ファイル群をインストールしておくと便利になる.
2007/12/17 00:52 | Vim | トラックバック(0) | コメント(4)
コメントの投稿
トラックバック
トラックバックURL
→http://relaxedcolumn.blog8.fc2.com/tb.php/108-9b36c44d
コメント
nase
トラックバックどうもですー。
なんだか私の記事が元で、手間をかけさせてしまったようで申し訳ない(^^;
私はほとんどKaoriya版しか使っていないので、確認が不十分でした。(いつもそうなんですがorz)
この情報は他の人にも役立ちそうですね。
私もUTFな環境で使う際には参考にさせてもらいますっ。
2007/12/17 01:14 | URL [ 編集 ]
tsukkee
naseさん,はじめまして!
コメントありがとうございます.
手間をかけさせたなんて,そんなこと全然ないですよ.ちょっとOS固有の部分で引っかかった感じです.むしろ,開発環境が便利になったし,他にもVim関連の記事などいつも参考にさせてもらっているので感謝です(^-^)
また有用なTipsなどあれば教えてください!
2007/12/17 01:39 | URL [ 編集 ]
lunadoesu
tsukkeeさん初めまして。
refe使うときにわざわざNKFで変換させて読み込んでいたのでかなり助かりました。(NKFを通してリファレンスを変換する項目があるなんて思ってなかったので)
2008/01/03 10:24 | URL [ 編集 ]
tsukkee
lunadoesuさん,はじめまして!
コメントありがとうございます.
Ruby 1.9のリリースに合わせてrefeも刷新されているそうなので(まだインストールしてない(^-^;)),もしかしたらこの問題も解決されているかも知れませんね.
2008/01/03 17:15 | URL [ 編集 ]