Emacs, как получить каталог текущего буфера?
в emacs есть buffer-file-name, который дает полный путь к файлу. Но есть ли способ получить только каталог файла, загруженного в текущий буфер?
2 ответов
можно использовать default-directory
переменной.
документация: Имя каталога по умолчанию текущего буфера. Должно закончиться на slash. Чтобы интерактивно изменить каталог по умолчанию, используйте команду "cd".
отметим, что expand-file-name
использовать default-directory
по умолчанию, так что иногда
вам даже не нужно упоминать.
иногда 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