Просмотр справочных страниц через Emacs

373
UTF-8

Я в основном хочу, что этот вопрос просит. К сожалению, его ответы не работают.

Например, когда я делаю то, что говорит ответ с наибольшим количеством голосов, и вводу man echo, Emacs открывается и мини-буфер говорит:

Symbol's function definition is void: \(man\ \"echo\"\) 

Единственное окно в Emacs пустое.

Связан вопрос не помогает.

Я обычно использую Emacs с его графическим интерфейсом, но хочу просматривать man-страницы в терминале.

Установка переменной $PAGERна emacsтоже не работает. Прежде всего, он пуст или не установлен по умолчанию. Если я изменю его на emacs, последующие вызовы manприведут к открытию Emacs (GUI), но будет показан буфер очистки, как если бы я обычно запускал Emacs (я отключил страницу приветствия, поэтому отображается буфер очистки).

Я знаю, что могу запустить Emacs, нажать C-x, войти man, а затем ввести имя справочной страницы, которую я хочу прочитать. Но это занимает довольно много времени и просто войти man <page name>в терминал гораздо быстрее.

Мой компьютер работает под управлением Ubuntu 16.04 (с Linux 4.4.0) и GNU Emacs 24.5.1.

0
Что возвращает `type emacs` в вашей системе? choroba 7 лет назад 0
@choroba `emacs is / usr / bin / emacs` UTF-8 7 лет назад 0

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

1
sds

Запуск нового Emacs каждый раз, когда вы хотите просмотреть справочную страницу, является необычным рабочим процессом. Чаще всего люди предпочитают повторно использовать работающий Emacs:

emacsclient --no-wait -e '(man "man")' 

Если вы действительно настаиваете на плавании против течения, вы можете сделать

emacs -Q --eval '(progn (man "man") (delete-window))' # not recommended 

Смотрите также Использование Emacs для $ PAGER?

Но это рабочий процесс, который мне нравится. Я часто использую несколько окон Emacs. Я не использую Emacs в качестве оконного менеджера, в мою систему уже встроен оконный менеджер. Ваша команда действительно открывает man-страницу в существующем экземпляре Emacs. Можно ли просто запустить новый экземпляр Emacs в терминале, в котором выполняется команда? UTF-8 7 лет назад 0
@ UTF-8: Использование одного экземпляра emacs со многими окнами (в emacs lisp называемое «кадрами») имеет множество преимуществ (например, динамическое завершение может использовать буферы в другом кадре). Он также потребляет меньше ресурсов. Однако см. Редактирование. sds 7 лет назад 1
Спасибо за ваше редактирование. Я добавил `-nw`, чтобы он не запускал графический интерфейс. Он открывает 2 кадра: i.imgur.com/yA0E4fC.png Можно ли разрешить ему автоматически выполнять Cx 0, чтобы отображался только кадр с буфером man-страницы? UTF-8 7 лет назад 0
просто добавьте, что `Cx 0` делает с` --eval` sds 7 лет назад 0
Я попробовал это, но я не могу понять, как разделить команды: https://pastebin.com/pn0jsL7B Страница man открыта для всех из них, но другие команды не выполняются. Когда я оцениваю любой из них в буфере, они работают. UTF-8 7 лет назад 0
используйте `progn`, смотрите изменения, которые я сделал 15 минут назад sds 7 лет назад 0
Разница лишь в том, что рабочий буфер сейчас пуст. Так что это не говорит `;; Этот буфер предназначен для заметок [...] `, но все еще есть кадр для чистого буфера. UTF-8 7 лет назад 0
у меня код в ответе работает с и без `-nw` sds 7 лет назад 0
Я запустил его на своем raspi, который имеет другую конфигурацию Emacs и не использует графический интерфейс. Он ведет себя точно так же, как на моем ноутбуке (но мне не нужно передавать `-nw`), так что все еще присутствуют 2 кадра. UTF-8 7 лет назад 0
Вы можете попробовать заменить `delete-window` на` delete-other-windows` sds 7 лет назад 0
Становится страннее. Теперь я ожидал, что то же самое, что и раньше, или буфер справочной страницы исчезнет. Тем не менее, это так же, как и раньше: 2 кадра (один для буфера очистки и один для буфера man-страницы), а буфер очистки содержит `;; Этот буфер предназначен для текста заметок [...]. Теперь я напечатал оба варианта (`delete-window` и` delete-other-windows`) несколько раз вместо того, чтобы копировать их, чтобы на 100% убедиться, что в них нет какой-то странной орфографической ошибки или невидимого символа, который их испортит. UTF-8 7 лет назад 0
Пожалуйста, не путайте рамки, окна и буферы. sds 7 лет назад 0

Похожие вопросы