Включение прокрутки мышью в справочных страницах терминала OS X

1157
slhck

Я пытался найти способ для терминала OS X принять ввод от мыши для прокрутки страниц справки.

Я установил SIMBL и MouseTerm, но это не позволяет прокручивать страницы руководства. Любые предложения?

6

2 ответа на вопрос

1
spuder

Объем man-страницы, которую вы можете видеть за один раз, определяется размером буфера. Вот как это изменить .

После долгих проб и ошибок я включил прокрутку в vim, но не для man-страниц.

Добавить в ваш ~ / .vimrc

set mouse=a set ttymouse=xterm2 

В следующем блоге показано, как включить прокрутку в vim с помощью iTerm2. К сожалению, это не работает на страницах руководства.


В качестве обходного пути я бы предложил:

* NIXmanual - виджет, который вы включаете на своем Mac, который содержит справочные страницы

linuxmanpages.com - на веб-сайте будут все man-страницы linux

Используйте стандартные ключи vim 'hjkl' или Shift Page UpиShift Page Down


Дополнительные ресурсы

Arch Linux обсуждает форум 1
Arch Linux обсуждает форум 2

В дополнение к стандартной навигации vim, вы можете использовать `d` для прокрутки вниз на половину страницы и` u` для прокрутки вверх на полстраницы в man-страницах (и меньше). Вы также можете открыть справочные страницы в vim с помощью `vim <(man foo)`; Вы можете поместить это в функцию в вашем .bashrc, что-то вроде: `myman () `, а затем используйте его как` myman foo`. Я знаю, что OSX использует bash версии 3.x, поэтому я не знаю, работает ли там подстановка процессов, но если это так, то это может быть обходным путем для получения мыши в manpages. evilsoup 11 лет назад 0
0
ipatch

Я знаю, что опаздываю на вечеринку ( как обычно ), но сегодня я столкнулся с этим вопросом и увидел только один ответ, в котором были некоторые внешние ссылки.

Поэтому я решил использовать один из моих любимых текстовых редакторов 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