我正在寻找一种在编辑时插入文件名/路径内联的方法。类似于内联ido风格的文件选择将是完美的。那里有类似的东西吗?
答案 0 :(得分:4)
我总是使用comint-dynamic-complete-filename
。默认情况下似乎没有加载,但由comint-mode
提供。因此你可以放点像
(autoload 'comint-dynamic-complete-filename "comint" nil t)
(global-set-key "\M-]" 'comint-dynamic-complete-filename)
在~/.emacs
之内。当然,请使用您自己的首选键绑定。
答案 1 :(得分:2)
好的,如果您只想在点处插入当前文件名,那么
(insert (expand-file-name (buffer-file-name)))
应该这样做。
如果您希望能够在任何路径中找到文件,那么您需要复制find-file-noselect
中files.el
的第1714行左右的部分代码。
在任何一种情况下,如果你想绑定一个函数,你可能想要
(defun insert-file-name-at-point ()
(interactive) .... )
答案 2 :(得分:1)
(defun insert-file-name (file &optional relativep)
"Read file name and insert it at point.
With a prefix argument, insert only the non-directory part."
(interactive "fFile: \nP")
(when relativep (setq file (file-name-nondirectory file)))
(insert file))