4

我最近发现了 Emacs 的 dired 模式的一些功能和易用性。但是在 Krusader 中,我只是开始按文件夹/文件的第一个字母,然后按 Enter,所以我深入,然后搜索另一个文件夹,聚焦,按 Enter 直到找到我应该打开的文件。

我现在是如何做到的:

  • 按 Ctrl+S 进行 isearch
  • 按字母查找文件夹
  • 按回车键(或其他组合)一次以逃避 I-search
  • 按回车进入文件夹或打开文件(打开文件我知道我还有其他字母)

我真的需要让这更容易。所以我想要的主要是当我按一次回车键时:

  • 逃脱搜索
  • 进入文件夹(或打开文件)

当然,第二个主要的事情是默认情况下在某些 isearch 模式下使用 dired,仅通过键入导航,并且仅当按 ESC 进入单个字母具有命令含义的 dired 模式时。我不确定这第二个主要事情是否容易实现或推荐用于 dired。但我认为主要的事情应该可以通过一些智能的 Lisp 行来实现,我不知道 :)

感谢你们,

斯特凡

4

3 回答 3

3

这是做主要事情的一种方法:

(add-hook 'isearch-mode-end-hook 
  (lambda ()
    (when (and (eq major-mode 'dired-mode)
           (not isearch-mode-end-hook-quit))
      (dired-find-file))))
于 2010-12-17T17:49:33.660 回答
1

对于第二个主要的事情:

(defadvice dired (after activate)
  (isearch-forward))

(ad-activate 'dired)


(defadvice dired-find-file (after activate)
  (isearch-forward))

(ad-activate 'dired-find-file)


(defadvice dired-up-directory (after activate)
   (isearch-forward))

(ad-activate 'dired-up-directory)
于 2012-02-02T23:26:01.260 回答
0

借助 madalu 的回答,您可以通过将 isearches 串在一起来接近第二个主要内容:

(add-hook 'isearch-mode-end-hook 
  (lambda ()
    (when (and (eq major-mode 'dired-mode)
               (not isearch-mode-end-hook-quit))
      (dired-find-file)
      (isearch-forward-regexp))))
于 2010-12-17T22:10:24.497 回答