Emacs в месте вставки имени файла / пути - PullRequest
6 голосов
/ 26 февраля 2011

Я ищу способ вставить имя файла / путь во время редактирования. Что-то вроде встроенного выбора файла в стиле идо было бы идеально. Есть что-нибудь подобное?

Ответы [ 3 ]

4 голосов
/ 27 февраля 2011

Я всегда использую comint-dynamic-complete-filename для этого. По-видимому, это не загружается по умолчанию, но предоставляется comint-mode. Таким образом, вы можете поставить что-то вроде

(autoload 'comint-dynamic-complete-filename "comint" nil t)
(global-set-key "\M-]" 'comint-dynamic-complete-filename)

в вашем ~/.emacs или подобном. Разумеется, используйте свою предпочтительную привязку клавиш.

2 голосов
/ 27 февраля 2011

Хорошо, если вы хотите просто вставить текущее имя файла в точку, тогда

 (insert (expand-file-name (buffer-file-name)))

должно сделать это.

Если вы хотите найти файл по любому пути, вам нужно будет скопировать часть кода в find-file-noselect в files.el примерно в строке 1714.

В любом случае, если вы хотите связать эту функцию, вы, вероятно, захотите

 (defun insert-file-name-at-point ()
    (interactive) .... )
1 голос
/ 20 августа 2011
(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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...