Длинные псевдонимы имен для путей к файлам и каталогам в emacs


Я прочитал в документации Emacs , что Emacs поддерживает хранение имен файлов в регистрах, что позволяет пользователю быстро извлекать их с помощью команды C-x r j r, где r - имя регистра. Однако это, по-видимому, ограничивается именами регистров с одним символом.

Например, работает следующий пример:

(set-register ?c '(file . "/gd/gnu/emacs/19.0/src/ChangeLog"))

То есть это позволяет мне посетить файл ChageLog выше, просто набрав C-x r j z.

Однако, если я попытаюсь сохранить путь к вышеуказанному файлу в зарегистрируйтесь с более длинным именем, как в:

(set-register ?clog '(file . "/gd/gnu/emacs/19.0/src/ChangeLog"))

Я получаю следующее сообщение об ошибке от интерпретатора He Lisp:

Недопустимый синтаксис чтения:"?"

Тогда мой вопрос: существует ли (простой) способ хранения имен файлов (и путей к каталогам) в emacs с использованием псевдонимов длинных имен, чтобы я мог быстро их посетить? (для редактирования файла или загрузки его в dired).

Спасибо

3 2

3 ответа:

СмотритеЗакладки .

Регистры в Emacs предназначены для доступа с помощью одного нажатия клавиши, поэтому они называются символами. Это?синтаксис x-это синтаксис символов. Вы можете сохранить пути в обычных переменных или использовать хэш-таблицу, чтобы избежать загрязнения пространства имен переменных, но я не знаю заранее существующего пакета, чтобы сделать это и только это.

Я считаю, что более распространенным вариантом использования является просто сохранение файлов, к которым вы хотите получить быстрый/частый доступ, и сохранение состояния сеанса. Переключение между буферами можно сделать более удобным что-то вроде iswitch.

Я также не понимаю, почему закладки не подходят для вашего варианта использования. Если вы действительно хотите ввести путь вручную (add-to-list 'bookmark-alist '(bookmarkname (filename . "/path/to/your/file"))), кажется, работает, хотя посещение файла один раз и сохранение закладки проще.

Вы можете добавить файл в закладки, не посещая его. Похоже, что это то, что вы просите: способ указать абсолютное имя файла и получить закладку к нему (так что вы можете использовать более короткое имя закладки).

Закладка+ - это то, что вы хотите:

Http://www.emacswiki.org/emacs/BookmarkPlus#BookmarkingWithoutVisiting

Закладкизакладка