Emacs就位文件名/路径插入

时间:2011-02-26 20:15:15

标签: emacs

我正在寻找一种在编辑时插入文件名/路径内联的方法。类似于内联ido风格的文件选择将是完美的。那里有类似的东西吗?

3 个答案:

答案 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-noselectfiles.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))