Немедленное уничтожение dired буферов в Emacs

Как я могу добиться этого, когда я ищу файл с помощью C-x d, буфер, который показал мне возможные завершения, будет автоматически убит после открытия желаемого файла?


person Hans Maulwurf    schedule 06.11.2014    source источник
comment
Вопрос не слишком ясен. Что вы имеете в виду под буфером, показывающим мне возможные варианты выполнения? Вы имеете в виду буфер *Completions*? Если это так, этот буфер должен быть скрыт, как только вы выберете имя кандидата (но он не будет уничтожен). Я предполагаю, что вместо этого вы имеете в виду буфер, который был текущим, когда вы нажимаете C-x d. Если да, отредактируйте вопрос, чтобы прояснить это.   -  person Drew    schedule 07.11.2014
comment
Чтобы уточнить это немного точнее. Если я нажму C-x d, я смогу найти файл в командной строке emacs. Когда я его нашел, я нажимаю «Enter», а затем открывается буфер с именем файла, и мне приходится снова нажимать кнопку «Enter», чтобы открыть файл. Я знаю, что если я нажму «a», этот буфер исчезнет, ​​но я хочу иметь такое же поведение с кнопкой «Enter».   -  person Hans Maulwurf    schedule 07.11.2014


Ответы (2)


Просто используйте a в dired, чтобы открыть файл в точке - буфер dired будет уничтожен, а выбранный файл будет посещен вместо него.

person phils    schedule 06.11.2014

Добавьте в свой файл .emacs следующее:

(eval-after-load "dired"
  (lambda ()
    (put 'dired-find-alternate-file 'disabled nil)
    (define-key dired-mode-map (kbd "RET") #'dired-find-alternate-file)))

Затем, когда вы посещаете файл в Dired с помощью RET, вы вызываете dired-find-alternate-file, так что буфер Dired будет уничтожен.

person Tino    schedule 03.07.2017