vimのカレントファイルをブラウザで開く

openコマンドを使う

  • vimでは%でカレントファイルのパスを取得できる
  • !はOS用のコマンド(echopwdなど)の先頭につけることでvimエディタ上からOS用コマンドを実行することができる
  • openはファイルのデフォルトで開くソフトに設定されているソフトで開かれる
1
:!open %

入力の手間を減らす

  • これまでのコマンドをショートカットキーで呼び出せるように.vimrcに追記する
1
2
3
4
5
" スペースキーをショートカットのトリガーとして認識するように設定
let mapleader = "\<Space>"

" スペースキー + o で実行できる
nnoremap <Leader>o :!open %<CR>

フォーカスを戻す(Mac)

  • openコマンドを使うとフォーカスがブラウザになってしまうので、AppleScriptを使ってフォーカスをVim(iTerm)に戻す
    • terminal_focusの対象アプリを変更すればiTerm以外のソフトにも対応可能

~/.vim/plugin/BrowserOpen.vim

1
command! -bar BrowserOpen !open % | osascript $HOME/bin/terminal_focus.scpt

~/bin/terminal_focus.scpt

1
tell application "iTerm" to activate

~/.vimrc

1
2
3
4
5
" スペースキーをショートカットのトリガーとして認識するように設定
let mapleader = "\<Space>"

" スペースキー + o で実行できる
nnoremap <Leader>o :BrowserOpen<CR>
Author

Daiki Iijima

Posted on

2021-02-22

Updated on

2024-04-17

Licensed under