![Vim で man パスを取得する](https://rvso.com/image/1302247/Vim%20%E3%81%A7%20man%20%E3%83%91%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B.png)
そこで、私は Vim をデフォルトの man ビューアとして設定しました。また、NERDTree も自動的に起動するように設定しましたが、man をチェックするたびに NERDTree が man ページの場所を表示してくれるのは、本当に助かります。
.vimrc で次のように設定してみました:
if (match(expand("%:p:h"),???) == -1)
" load NERDTree here
endif
しかし、パスを何と一致させるかはよくわかりません。 $MANPATH が当然の選択ですが、echo $MANPATH
ターミナルには何も出力されません。 を実行するとmanpath
が生成されます/usr/local/man:/usr/local/share/man:/usr/share/man
が、それを vimrc に含める方法がわかりません。 もちろん、パスを文字列として貼り付けることもできますが、それは不正行為になります。
基本的に、私が探しているのは次のいずれかです。
- $MANPATH変数を、リストされているフォルダを指すように設定する方法
manpath
- Vimでパスを取得する他の方法
編集: 誰かがそのスクリプトを試してみたい場合に備えて、承認後のメモmatch
を に置き換える必要がありますmatchstr
。
答え1
let $MANPATH = substitute(system("manpath"), "\n", "", "")
substitute() 関数は、system() の出力に含まれる末尾の改行を削除します。