Vim
Mac

コマンドラインやvimから言語を指定してDash.appを呼び出す

More than 5 years have passed since last update.

Dash - naoyaのはてなダイアリー で MacのDash.appが便利と話題らしい

もとはスニペットマネージャらしいですが、各言語のドキュメント閲覧に使うと非常に便利らしいです。

基本的な使い方は上記URLなりで見てもらうとして、少し凝った呼び出し方法を紹介。

まずは、コマンドラインから呼び出す方法。

$ open dash://[word]

$ open dash://'[word1] [word2]'

$ open dash://[language]:[word]

スペースを空けて検索ワードを追加することで、そのワードでページ内検索ができるようです。(分かりづらいですが実際にやってみると分かるかと思います。AND検索とはちょっと違うみたいです。)

また、コマンドラインから呼び出す場合は、クォーテーションで括ることで複数ワードを指定できるようです。
ただし、言語を指定した場合は複数ワードの指定ができないみたいです…
別のやり方があるのかもしれません。

さらに、上記コマンドを利用することでvimからも呼び出すことができます。
上記URLにもある通り、すでにvimから呼び出すコードが紹介されています。

今回はさらにこれに、filetypeを自動で入力するようにしてみました。

function! s:dash(...)
  let ft = &filetype
  if &filetype == 'python'
    let ft = ft.'2'
  endif
  let ft = ft.':'
  let word = len(a:000) == 0 ? input('Dash search: ', ft.expand('<cword>')) : ft.join(a:000, ' ')
  call system(printf("open dash://'%s'", word))
endfunction
command! -nargs=* Dash call <SID>dash(<f-args>)

これで、:Dash <word> 、または:Dash<Enter> のあとに検索ワードを入力することで検索できます。
filetype以外の言語で検索したい場合は、:Dash<Enter> の方をご利用ください。

また、言語によってはfiletypeそのままではダメな場合がありますので、適当に変更する処理を追加して下さい。
どの言語がどの名前で呼び出せるかは、設定>Docsets の2カラム目を参照して下さい。
自由に変更することもできるようです。