Псевдонимы длинных имен для путей к файлам и каталогам в emacs - PullRequest
2 голосов
/ 16 декабря 2010

Я прочитал в документации 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"))

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

Неверный синтаксис чтения: "?"

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 16 декабря 2010

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

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

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

2 голосов
/ 16 декабря 2010
1 голос
/ 20 августа 2011

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

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

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

...