Почему ri Ruby не возвращается в командную строку bash? - PullRequest
3 голосов
/ 22 января 2010

Когда я выполняю ri ... в терминале на моем Mac, я получаю, может быть, 50 пустых строк, затем ожидаемый вывод, затем последнюю строку:

(END)

, при этом (END) отображаются белыми буквами на черном фоне. Однако я не вернулся в bash - Ри все еще работает, и я ничего не могу войти. Кроме того, почему все пустые строки?

Почему это происходит?

Ответы [ 2 ]

5 голосов
/ 22 января 2010

Вывод передается через пейджер (значение переменной окружения $PAGER, вероятно /usr/bin/more или /usr/bin/less). Это позволяет пролистывать экранные данные, нажимая пробел (среди других приятных функций), вместо того, чтобы прокручивать вверх и вниз в терминале. Чтобы выйти, просто наберите q .

2 голосов
/ 18 февраля 2012

пейджер полтергейст? Может быть, вы найдете обходной пейджер по умолчанию вообще полезным. Я часто делаю. Попробуйте поместить этот код в файл ~ / .bashrc и перезапустите сеанс терминала (конечно, вы можете удалить мой комментарий, если у вас нет проблем с запоминанием непонятных аргументов команд или вам нравится перечитывать man-страницы):

alias ri='/usr/local/bin/ri -T'   # -T == --no-pager ... Send output directly to stdout, rather than to a pager. Pagers are damned annoying when the info you need disappears when you still need to see it ...
...