Emacs Dired Поведение - PullRequest
       23

Emacs Dired Поведение

3 голосов
/ 03 марта 2011

Я использовал emacs в течение многих лет, и я привык к тому, что emacs открывает выбранный файл в том же окне, в котором выполняется dired. В последних ревизиях, когда dired выполняется с, скажем, 2 открытыми окнами, выбранный файл будет отображаться вальтернативное окно от Dired.Как я могу настроить emacs на использование одного и того же окна для отображения файла как умершего (что позволяет мне одновременно просматривать два файла - как раньше работал emacs)?

Ответы [ 2 ]

8 голосов
/ 03 марта 2011

В соответствии с комментариями выше, отметьте Ch k RET , когда хотите узнать, с чем RET связан (или аналогично) если вы используете другой ключ).

dired-find-file использует switch-to-buffer, что может привести к открытию буфера в другом окне:

Если выбранное окно является окном минибуфера или выделено для его буфер, используйте `pop-to-buffer 'для отображения буфера.

Однако, похоже, проблема не в этом.

edit: Ах, вы используете мышь. Часто полезно прямо сказать это в вопросах об Emacs, потому что большинство пользователей Emacs редко касаются мыши.

Применяется тот же ответ, однако: из dired введите Ch k и затем используемую привязку «ключа» (в данном случае нажмите кнопку мыши 1), которая говорит нам:

----------------- событие up (короткий щелчок) ----------------

в этом месте переназначается на , который запускает команда dired-mouse-find-file-other-window, которая является интерактивной скомпилированная функция Lisp в `dired.el '.

(dired-mouse-find-file-other-window EVENT)

В Dired откройте имя файла или каталога, по которому вы щелкнули.

По какой-то причине не существует функции dired-mouse-find-file по умолчанию, но следующее подделает:

(add-hook 'dired-mode-hook 'my-dired-mode-hook)
(defun my-dired-mode-hook ()
  (local-set-key (kbd "<mouse-2>") 'dired-mouse-find-file))

(defun dired-mouse-find-file (event)
  "In Dired, visit the file or directory name you click on."
  (interactive "e")
  (require 'cl)
  (flet ((find-file-other-window
          (filename &optional wildcards)
          (find-file filename wildcards)))
    (dired-mouse-find-file-other-window event)))
5 голосов
/ 03 марта 2011

Нажатие клавиши Enter на файле в dired открывает файл в том же окне. Нажатие o на файл в dired открывает его в другом окне. Вы уверены, что не связываете эти ключи в своем .emacs?

...