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
的方式對上面三者求值