В emacs есть имя файла buffer-file, которое дает полный путь к файлу. Но есть ли способ получить только каталог файла, загруженного в текущий буфер?
Emacs, как получить каталог текущего буфера?
Ответ 1
Вы можете использовать переменную default-directory
.
Документация: Имя каталога по умолчанию текущего буфера. Должна закончиться косой чертой. Чтобы интерактивно изменить каталог по умолчанию, используйте команду `cd '.
Обратите внимание, что expand-file-name
будет использовать default-directory
по умолчанию, поэтому иногда
вам даже не нужно упоминать об этом.
Ответ 2
Иногда default-directory
для текущего буфера может быть установлено что-то отличное от текущего каталога файла, который сейчас посещает буфер, и в этом случае указанное выше решение не даст того, что искал искатель.
В таких случаях вы можете использовать метод file-name-directory
, например: (file-name-directory buffer-file-name)
Вот ссылка на документы:
http://www.gnu.org/software/emacs/manual/html_node/elisp/File-Name-Components.html