Одновременное чтение нескольких информационных файлов Emacs
Для чтения программирования (и других) документации, режим Emacs INFO является выдающимся. Настолько замечательный, что я хотел бы читать, скажем, информационный файл Emacs Lisp и файлы информации о режиме org-mode одновременно, не переходя обратно к началу информационного дерева. Либо я пропустил что-то очевидное, либо мне нужно взломать Emacs Lisp для достижения цели. И все же снова кто-то, возможно, уже расколол этот орех. Поэтому, я думаю, мой вопрос: каково состояние практики для чтения файлов INFO с несколькими файлами в Emacs одновременно?
Ответы
Ответ 1
Если вы посмотрите на документацию для команды 'info
(по умолчанию привязана к C-h i), вы обнаружите, что вы можете легко создавать новые буферы *info*
с числовым префиксом.
C-u 1 C-h i
C-u 42 C-h i
Это создает информационные буферы с именем *info*<1>
и *info*<42>
.
Документация для команды 'info
(основное внимание):
Введите "Информация", браузер документации. Необязательный аргумент file-or- nodeуказывает файл для проверки; default - это каталог верхнего уровня Информация. Вызывается из программы, file-or- node может указывать Info nodeформы `(FILENAME) NODENAME '. Необязательный буфер аргументов указывает Имя информационного буфера; буфер по умолчанию имя - информация. Если буфер существует, просто переключитесь на буфер. В противном случае, создать новый буфер с верхним уровнем Информационный каталог.
В интерактивном использовании нечисловой аргумент prefix направляет эту команду для чтения имени файла из Минибуфер. Числовой префиксный аргумент выбирает буфер Info с префиксом номер, добавленный в буфер Info имя.
Кроме того, по умолчанию в буфере *info*
M-n привязан к 'clone-buffer
, который создаст новый *info*
буфер, просматривающий ту же страницу.
Ответ 2
На всякий случай, если вы хотите brew создать собственную чашку с помощью emacs lisp, доступна функция "generate-new-buffer-name":
Эта функция возвращает имя, которое будет уникальным для нового буфера, но не создает буфер. Он начинается с имени запуска и производит имя, которое в настоящее время не используется для любого буфера, добавляя число внутри "<... > . Он начинается с 2 и продолжает увеличивать число пока это не будет имя существующего буфера.
например
(defun my-info-with-own-buffer ()
(interactive)
(info nil (generate-new-buffer-name "*info*")))
при вызове откроется новый информационный буфер в верхнем каталоге node.