読者です 読者をやめる 読者になる 読者になる

遅れてきた人によるメモ

遅れてきた人は危険がいっぱい

htmlファイル、MacVimときどきSafari

Mac OS X Mountain Lion Safari MacVim vim

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_commandvsplitが設定されていて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さんありがとうございました!