goto-файл в Emacs - PullRequest
       12

goto-файл в Emacs

48 голосов
/ 03 ноября 2008

Есть ли в emacs замена команды vi "gf"? имеется ввиду попробуйте открыть файл который находится под курсором прямо сейчас если реальное имя файла действительно там.

Спасибо

Ответы [ 2 ]

70 голосов
/ 03 ноября 2008

Требуется функция find-file-at-point (которая также имеет псевдоним ffap). По умолчанию он не привязан к ключу, но вы можете использовать

M-x ffap

Или вы можете поместить в .emacs файл:

(ffap-bindings)

Это заменит многие обычные привязки клавиш find-file (например, C-x C-f) версиями на основе ffap. См. Комментарий в ffap.el для подробностей.

6 голосов
/ 04 ноября 2008

Спасибо, это работает довольно хорошо, но почему-то версия vi (gf) все еще несколько умнее. Я думаю, что это смотрит на некоторую переменную пути для путей поиска.

Я сделал что-то слишком сложное, но у меня работает (только в Linux). Он использует команду «locate» для поиска пути под курсором. Я думаю, это можно сделать умнее, если сначала поискать относительный путь к текущему файлу. извините за мои плохие навыки elisp ... это может быть достигнуто гораздо лучше.

вставьте свой .emacs, затем используйте с M-x goto-файлом

(defun shell-command-to-string (command)
  "Execute shell command COMMAND and return its output as a string."
  (with-output-to-string
    (with-current-buffer standard-output
      (call-process shell-file-name nil t nil shell-command-switch command))))

(defun goto-file ()
  "open file under cursor"
  (interactive)
  (find-file (shell-command-to-string (concat "locate " (current-word) "|head -c -1" )) ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...