Откроется окно и выберите файл, связанный с предыдущим буфером?
Скажем, я редактирую 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
?
Ответы
Ответ 1
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
Ответ 2
Вы хотите C-x C-j
.
Ответ 3
Sunrise Commander значительно улучшен. и он делает то, что вам нужно по умолчанию.
Ответ 4
Вы можете сделать что-то вроде этого:
M-: (dired (buffer-name (current-buffer)))
Тогда единственный файл, видимый в dired, будет вашим текущим файлом, и курсор будет на нем.
Ответ 5
Этот совет будет делать то, что вы хотите:
(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 для прочтения.
Ответ 6
$ emacs --version
GNU Emacs 24.3.1
В .emacs:
(require 'dired-x)
Теперь C-x C-j
должен быть привязан к dired-jump
.