2016-03-26 17 views
1

In Emacs 23.2.1 im Dired-Modus die Maus-1 (linke Maustaste) führt visit file in other window. Es ändert auch die Form zu einem Finger und hebt den Dateinamen hervor, wenn der Cursor über den Dateinamen schwebt. Wie deaktiviere ich sowohl visit file als auch die Dateinamenhervorhebung? Ich möchte, dass Maus-1 die üblichen Sachen macht: Text auswählen.Emacs deaktivieren Maus-1 in dired

Ich kann immer noch Text auswählen, wenn ich durch einen Klick auf einen Bereich außerhalb des Dateinamens oder Verzeichnisnamens klicke. Aber ich will nur den Dateinamen markiert, und kein Leerzeichen davor enthalten.

+0

In 'mouse.el' suchen Ich habe gerade gelernt, dass ich ** einen Teil des Dateinamens standardmäßig im Dired-Modus auswählen kann: Ich muss nur den Mauszeiger bewegen und ** bewegen **. Aufgrund der Hervorhebung der Dateinamen ist es jedoch schwierig zu erkennen, was ich auswähle. Möchte immer noch, dass 'Feature' getötet wird: Welche normale Person öffnet eine Datei, indem sie mit der Maus darauf klickt? –

Antwort

2

Ich schalte einfach mouse-1-click-follows-link durch Anpassen an nil. (Sie können auch auf einen langen Zeit-Grenzwert.)

Oder wenn Sie tun, dass nur für Dired Puffer, können Sie dies tun:

(add-hook 'dired-mode-hook 
     (lambda() 
     (set (make-local-variable 'mouse-1-click-follows-link) nil))) 

Aber es ist in der Regel besser zu nennen eine Funktion, die Sie auf einem Haken verwenden (es ist einfacher, es zu entfernen, für eine Sache):

(defun foo() 
    (set (make-local-variable 'mouse-1-click-follows-link) nil))) 

(add-hook 'dired-mode-hook 'foo) 

Wenn Sie eine aktuelle Version von Emacs haben, wo setq-local definiert ist, dann können Sie nur (setq-local mouse-1-click-follows-link nil) in dem Haken verwenden Funktion, anstelle von (set (make-local-variable 'mouse-1-click-follows-link) nil)

+0

Hauptproblem behoben. Allerdings ist der Dateiname immer noch hervorgehoben, so dass es schwierig ist, zu sehen, welchen Teil ich auswähle. Durch das Überschreiben einer internen 'mouse.el' -Funktion durch Hinzufügen von' (defun dired-insert-set-properties (Beg Ende) nil) verschwand 'Highlighting und Finger-Cursor. Ist das der richtige Weg? –

+0

Ich würde vorschlagen, Sie nur Gesicht 'Highlight' anpassen, die für die Hervorhebung von Eigentum' Maus-Gesicht' verwendet wird, so dass Sie besser sehen können. Die Hervorhebung gibt es aus einem bestimmten Grund: Sie können auf ** 'mouse-2' ** (nicht nur' mouse-1') klicken oder ** ** RET' ** auf einen Link (markierten Text) drücken, um eine Datei oder zu besuchen Verzeichnis. (Und wenn Sie [Dired +] (https://www.emacswiki.org/emacs/DiredPlus) verwenden, wird die gesamte Zeile markiert, was hilft, Informationen nach Augenmaß auszurichten.) Wenn Sie die Hervorhebung wirklich nicht wollen, dann ja ändere 'dired-insert-set-properties'. – Drew