Emacs Dired Mode и Isearch - PullRequest
       7

Emacs Dired Mode и Isearch

4 голосов
/ 17 декабря 2010

Недавно я обнаружил некоторые возможности и простоту использования Emacs в режиме Dired. Но в Krusader я просто начинаю нажимать первую букву (буквы) папки / файла и нажимаю ввод, и поэтому я углубляюсь, затем ищу другую папку, фокусируюсь, нажимаю ввод, пока не найду файл, который должен открыть.

Как мне это сделать в дневнике:

  • нажмите Ctrl + S для поиска
  • нажмите буквы для поиска папки
  • нажмите Enter (или другую комбинацию) один раз, чтобы выйти из I-поиска
  • нажмите Enter, чтобы войти в папку или открыть файл (я знаю, что для открытия файла у меня есть и другие буквы)

Мне действительно нужно сделать это проще. Итак, главное , которое я хочу, это когда я нажимаю клавишу ввода один раз, чтобы:

  • побег Изарта
  • введите папку (или откройте файл)

Конечно, второй основной вещью будет по умолчанию быть BE в каком-то режиме isearch с dired, чтобы просто перемещаться, набирая, и только когда нажмите ESC, чтобы перейти в тот режим dired, где отдельные буквы имеют команды значения. Я не уверен, что это второе главное легко возможно или рекомендовано для утомленных. Но главное Я считаю, что должно быть выполнимо с несколькими умными лисповскими линиями, которых я не знаю:)

Спасибо, ребята,

Stefan

Ответы [ 3 ]

3 голосов
/ 17 декабря 2010

Вот один из способов сделать главное :

(add-hook 'isearch-mode-end-hook 
  (lambda ()
    (when (and (eq major-mode 'dired-mode)
           (not isearch-mode-end-hook-quit))
      (dired-find-file))))
1 голос
/ 03 февраля 2012

Для второго главного:

(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)
0 голосов
/ 18 декабря 2010

В ответ на ответ Мадалу, вы можете приблизиться ко второму главному, собрав вместе 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))))
...