Я знаю, что опаздываю на вечеринку ( как обычно ), но сегодня я столкнулся с этим вопросом и увидел только один ответ, в котором были некоторые внешние ссылки.
Поэтому я решил использовать один из моих любимых текстовых редакторов nvim для управления открытием страниц руководства в терминальной сессии.
Теперь вы можете сделать это, установив $PAGER
переменную окружения или $MANPAGER
переменную vim для сеанса оболочки, и я полагаю, что это сработает.
Но как бы то ни было, я решил написать пользовательскую функцию для своей оболочки, которая оказывается fish-shell, однако я уверен, что и BASH, и ZSH обе поддерживают функции.
Причина, по которой я выбрал путь функции, заключалась в том, что я действительно не хотел всегда использовать nvim как свой PAGER
по своим очевидным причинам. Однако, если бы я мог просто запустить команду, например, vman
открыть man-страницу в nvim, это было бы здорово, оставив, таким образом $PAGER
, $MANPAGER
переменные среды без изменений вместе с man
командой.
Поэтому я создал функцию, похожую на приведенную ниже, добавил несколько комментариев, чтобы я мог понять, что делают все флаги, чтобы мне не пришлось ... открывать страницу руководства.
function vman --description 'use vim / nvim to read man pages' # col `-b` flag = don't output any backspaces # col `-p` flag = force uknown control sequences # === # iconv `-c` flag = characters that can't be converter are # ...silently discarded # === # nvim `-c` flag = run argument / command after executing nvim # nvim `-R` flag = open "file" in read-only mode # === man $argv | col -bp | iconv -c | nvim -c 'set ft=man nomod nolist' -; end
Очевидно, что вам понадобится включить поддержку мыши в vim / nvim, что можно сделать, добавив строку ниже в конфигурационный файл уважаемых редакторов.
set mouse=a