2006-10-05
■[vim]Vimでファイル保存時にFirefoxをリロードする(with MozLab) 
この記事(http://la.ma.la/blog/diary_200609280045.htm)を参考に、MozLab(http://dev.hyperstruct.net/trac/mozlab)のMozReplを使って、Vimでファイル(*.html,*.htm,*.js,*.css)保存時にFirefoxをリロードするVimスクリプトを作ってみた。
:SetreloadfirefoxでVimでファイルを保存するたびにFirefox(MozReplを開始しておく)がリロードされます。
もう一度:Setreloadfirefoxと入力すると解除されます。
※rubyが必要です。
※perl, python を使ったスクリプトを公開しました。Vimでファイル保存時にFirefoxをリロードする(with MozLab) : Serendip - Webデザイン・ホームページ制作
~/bin/mozrepl_reload_firefox.rb
require 'net/telnet'
telnet = Net::Telnet.new({
"Host" => "localhost",
"Port" => 4242
})
telnet.puts("content.location.reload(true)")
telnet.close
~/.vim/plugin/reloadfirefox.vim
if exists('g:reload_firefox')
finish
endif
command -nargs=0 Setreloadfirefox :call SetMozreplReloadFirefox()
function! ReloadFirefox()
if has('ruby')
:ruby <<EOF
require "net/telnet"
telnet = Net::Telnet.new({
"Host" => "localhost",
"Port" => 4242
})
telnet.puts("content.location.reload(true)")
telnet.close
EOF
else
if has('gui_win32')
" for Windows
let ruby_script_file = 'c:/cygwin/home/username/bin/mozrepl_reload_firefox.rb'
else
" for Linux, Cygwin
let ruby_script_file = $HOME . '/bin/mozrepl_reload_firefox.rb'
endif
if filereadable(ruby_script_file)
call system(ruby_script_file)
else
echo "ERROR : File \"" . ruby_script_file . "\" is NOT found."
endif
endif
endfunction
function! SetMozreplReloadFirefox()
if exists('g:reload_firefox')
autocmd! mozreplreloadfirefox
unlet g:reload_firefox
echo "\"mozreplreloadfirefox\" of augroup has been deleted."
else
augroup mozreplreloadfirefox
autocmd BufWritePost *.html,*.htm,*.js,*.css call ReloadFirefox()
augroup END
let g:reload_firefox=1
echo "Firefox browser content is reloaded when file(*.html,*htm,*.js,*.css) is saved."
endif
endfunction
コメントを書く
トラックバック - http://d.hatena.ne.jp/iNo/20061005
















