Откройте dired и выберите файл, связанный с предыдущим буфером? - PullRequest
7 голосов
/ 14 октября 2010

Допустим, я редактирую blah.txt с помощью Emacs, и я решаю открыть dired, чтобы переименовать файл blah.txt.Когда я нажимаю C-x d RET (или C-x C-f RET), появляется буфер с задержкой для отображения содержимого каталога, содержащего blah.txt, но курсор не будет на blah.txt.Поэтому мне нужно сначала найти свой файл (C-s blah.txt), чтобы навести на него курсор, а затем я могу переименовать его (R).

Как автоматизировать или удалить шаг C-s blah.txt?

Ответы [ 6 ]

12 голосов
/ 14 октября 2010

dired-jump это именно то, что вы хотите.

(autoload 'dired-jump "dired-x" "Jump to dired corresponding current buffer.")
(autoload 'dired-jump-other-window "dired-x" "jump to dired in other window.")

Затем позвоните:

M-x dired-jump

или

M-x dired-jump-other-window
5 голосов
/ 14 октября 2010

Вы хотите C-x C-j.

2 голосов
/ 14 октября 2010

Sunrise Commander - это значительно улучшенная версия.и он делает то, что вам нужно по умолчанию.

1 голос
/ 14 октября 2010

Этот совет будет делать то, что вы хотите:

(defadvice dired (around dired-jump-to-buffer activate)
  "When running dired, move cursor to the line for the buffer we came from"
  (interactive (list nil nil)) ;; bogus values, will be overwritten below
  (let ((coming-from (buffer-file-name)))
(ad-set-args 0 (dired-read-dir-and-switches ""))
ad-do-it
(when (and coming-from
       (equal (file-truename default-directory) (file-truename (file-name-directory coming-from))))
    (goto-char (point-min))
    (search-forward (file-name-nondirectory coming-from) nil t))))

Примечание: Работает для C-x d , но не для точки входа C-x C-f в Dired.

1 голос
/ 14 октября 2010

Вы можете сделать что-то подобное:

M-: (dired (buffer-name (current-buffer)))

Тогда единственным файлом, видимым в dired, будет ваш текущий файл, и курсор будет прямо на нем.

0 голосов
/ 23 августа 2014
$ emacs --version
GNU Emacs 24.3.1

В .emacs:

(require 'dired-x)

Теперь C-x C-j должно быть привязано к dired-jump.

...