Wie konfiguriere ich Emacs so, dass eine Datei im aktuellen Fenster mit der Maus geöffnet wird, wenn sie aus einem dired
Puffer ausgewählt wird?
Das heißt, wenn ich ein Verzeichnis öffne und dann mit der Maus eine Datei auswähle, soll die Datei in demselben Fenster angezeigt werden, in dem der dired
Puffer angezeigt wird .
dired
Puffer darauf geklickt haben "?Antworten:
Wenn Sie das wirklich wollen, definieren Sie einfach Ihren eigenen Befehl, um es zu tun. Sie können den Code für das kopieren, an das
mouse-2
bereits gebunden istdired-mouse-find-file-other-window
, und einfach das Auftreten vonfind-file-other-window
to ändernfind-file
. Binden Sie dann Ihren Befehl anmouse-2
anstelle vondired-mouse-find-file-other-window
.Die einzigen Änderungen, die ich hier vorgenommen habe, sind (1) der Name des Befehls und (2)
find-file-other-window
anstelle vonfind-file
:Und wenn Sie auch den Dired-Puffer ersetzen (töten) möchten, verwenden Sie
find-alternate-file
stattdessen anstelle vonfind-file
.quelle
C-h c
mittleren Mausklick in einen * Dired * -Puffer ausführen?mouse-2
ist mittlerer Klick.emacs -Q
(keine Init-Datei). Wenn das funktioniert (es funktioniert bei mir), halbieren Sie Ihre Init-Datei rekursiv, um herauszufinden, was stört. Wenn es auch nicht funktioniertemacs -Q
, könnte es Ihre Emacs-Version sein - was sagtM-x emacs-version
Ihnen das?(require 'dired)
ganz am Anfang des Codes stehen, den Drew gepostet hat. Speichern Sie die Datei und tun SieM-x eval-buffer
und sehen Sie dann, wasC-h c <mouse-2>
tut ..Drews Antwort ist nicht richtig, sie funktioniert nicht für Verzeichnisse, sondern nur für Dateien. Ich denke, der andere Weg ist besser (öffne dir im selben Fenster und öffne Dateien im anderen Fenster).
Wenn Sie Dateien auch im selben Fenster öffnen möchten, ändern Sie find-file-other-window in find-file.
Der Arbeitscode:
quelle
find-alternate-file
anstelle vonfind-file
. 3. Das OP möchte die Datei (oder das Verzeichnis) nicht in einem anderen Fenster öffnen. Möglicherweise bevorzugen Sie dieses Verhalten, es reagiert jedoch nicht auf das OP.Diese Codezeile sollte ausreichen. Weitere Details finden Sie hier .
quelle