![Получение man path через Vim](https://rvso.com/image/1302247/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20man%20path%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20Vim.png)
Итак, я установил Vim в качестве своего просмотрщика man по умолчанию. У меня также есть NERDTree, который запускается автоматически, но я мог бы обойтись и без NERDTree, показывающего местоположение страниц man каждый раз, когда я проверяю 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().