htmlファイル、MacVimときどきSafari
htmlファイルをMacVimで編集しながらSafariで確認しつつ作業をすすめるには、どうしたらいいんだろうと思ったので少し調べてみた。
nnoremap <leader>] :!open -a Safari %<CR><CR> 追記(2012/12/14) これは間違い!
これでファイル(%)編集中に、ノーマルモードで \] とタイプするとSafariで表示されるようになります。\] にしたのは、キーが近かったというだけなので、たいした意味はないです。一番後ろの<CR>は、<CR>が1つだとPress ENTER or Type command to continue が表示されるから。Safariの箇所を、firefoxとかchromeとかにすればいいです。
以上、解散!
余談: tyruさんのopen-browser.vimを入れているので、
let g:openbrowser_open_commands=["open -a Safari"] 追記(2012/12/14) これも間違い!
とした後に、:OpenBrowser % とかでどうにかなるかと思ったのだけど、テスト段階のuriで .htmlをMacVimに関連付けていたらMacVimで開いてしまったりuriの処理が面倒そうなため諦めました。
mattnさんのzencoding-vimが大活躍。
■追記 2012/12/14
tyruさんからコメントをいただき、twitterでも教えていただきました。
まず、open-browserで自分自身を開く場合は、:OpenBrowser %で開けます。ただし、通常は何も設定していないとg:openbrowser_open_vim_commandにvsplitが設定されていてVimで開いてしまうため、
let g:openbrowser_open_filepath_in_vim = 0
を設定して、vimで開かないようにする必要があります。次に、.htmlをMacVimに関連付けて設定すると、openだけではMacVimで開いてしまう(何もアクションが起きない)ため、
let g:openbrowser_open_rules = {'open' : 'open -a Safari {shellescape(uri)}&'}
を設定しました。g:openbrowser_open_rulesで、open -a Safariとするとのが、正しいやり方のようです。ここらへんの使い方がよく分からなったので参考にどうそ。というわけで、tyruさんにほとんど教えてもらったものを総合すると、
let g:openbrowser_open_filepath_in_vim = 0
let g:openbrowser_open_rules = {'open' : 'open -a Safari {shellescape(uri)}&'} nnoremap[ :silent OpenBrowser %
このようになります。
tyruさんありがとうございました!