ぼちぼち散歩

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-)

ページの先頭へ

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)

ページの先頭へ

トップページへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。