Emacs 中處理檔名與路徑問題

January 2, 2018

在 Emacs 中經常會處理檔案名稱和路徑的問題

可以使用 default-directory 來得到包含目前路徑的位置,此為變數

要換成 windows 路徑可以用底下方法

(replace-regexp-in-string "\/" "\\\\" default-directory)
"c:\\Users\\ricky\\foo\\bar"

如果只是要檔案名稱可以用 (buffer-name) 留意請要加括號,這是函數

(buffer-name)
"2018-01-02-Emacs-中處理檔名與路徑問題.org"

如果是要檔案的完整路徑可以用 (buffer-file-name) 一樣要加括號

(buffer-file-name)
"c:/Users/Ricky/lisp.rocks/resources/templates/org/posts/2018-01-02-Emacs-中處理檔名與路徑問題.org"

有時候在 Windows 中常常會遇到包含空白的檔案路徑,得用雙引號包住

在 Emacs 中得使用類似 (concat "\"" some-path-include-space "\"") 的方式處理

也就是說,雙引號得用 \" 來表達才不會有錯誤

如果你想在當前游標位置插入路徑,可以用 C-u C-x C-e 的方式對上面三者求值

Tags: emacs