7

假设我正在blah.txt使用 Emacs 进行编辑,我决定打开 dired 以重命名文件blah.txt。当我按C-x d RET(或C-x C-f RET)时,将显示一个 dired 缓冲区以显示包含 的目录的内容blah.txt,但光标不会在 上blah.txt。所以我需要先搜索我的文件 ( C-s blah.txt) 将光标放在它上面,然后我可以重命名它 ( R)。

如何自动化或删除该步骤C-s blah.txt

4

6 回答 6

12

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
于 2010-10-14T15:19:57.413 回答
5

你想要C-x C-j

于 2010-10-14T13:51:26.663 回答
2

日出指挥官 是一个大大改进的靴子。默认情况下它会满足您的需求。

于 2010-10-14T13:59:31.610 回答
1

你可以这样做:

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

然后在 dired 中唯一可见的文件将是您当前的文件,并且光标将就在它上面。

于 2010-10-14T13:33:57.143 回答
1

这条建议将做你想做的事:

(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-fdired 的入口点。

于 2010-10-14T14:23:22.400 回答
0
$ emacs --version
GNU Emacs 24.3.1

在 .emacs 中:

(require 'dired-x)

现在C-x C-j应该绑定了dired-jump

于 2014-08-23T03:07:59.703 回答