^
ist die Schlüsselbindung für das Verschieben in das übergeordnete Verzeichnis in dired
("Up-Verzeichnis").
Doch in Gnu Emacs
auf Windows 7 Professional 64-bit
mit meinem deutschen Tastaturlayout ist es nicht ausreichend , „^“ zu geben , aber ich habe Platz zu geben danach die Schlüssel-Bindung Arbeit zu machen.
Wie kann ich die Tastenbelegung neu definieren, um zu vermeiden, dass Sie die Leertaste drücken und sich nur mit "^" nach oben bewegen müssen?
C-h k ^<space>
kehrt zurück
^ führt den Befehl dired-up-directory aus, eine interaktive kompilierte Lisp-Funktion in `dired + .el '.
Es ist gebunden an ^ ,.
(dired-up-Verzeichnis & optional OTHER-WINDOW)
Führen Sie Dired im übergeordneten Verzeichnis des aktuellen Verzeichnisses aus. Suchen Sie das übergeordnete Verzeichnis entweder in diesem Puffer oder in einem anderen Puffer. Erstellt bei Bedarf einen Puffer.
quelle
us-intl
unter Linux.microsoft-windows
Tag ist angemessen.^
innotepad.exe
.dired-up-directory
und verwenden Sie sie stattdessen oder (3) Lebe mit dem Problem und tippe das Leerzeichen nach ^ ein. Ich werde mit (3) selbst, aber ich tun finde es irritierend.Antworten:
Bei Ihrem Tastatur-Setup ist die Taste ^ höchstwahrscheinlich eine "tote Taste". Es ist ein Schlüssel, der in Verbindung mit einem anderen verwendet werden soll, um ein anderes Zeichen zu erzeugen. In diesem Fall sollen akzentuierte Zeichen erzeugt werden: ^ e wird ê erzeugen, ^ a wird produzieren - und so weiter.
Es sollte jedoch nicht spezifisch für Emacs sein: Ich denke, alle Ihre Anwendungen erfordern, dass Sie ^ drücken und ein tatsächliches ^ auf dem Bildschirm erzeugen.
Um dies zu lösen, müssen Sie lediglich ein anderes Tastaturlayout verwenden. Im Fall Ihres deutschen Layouts in einer Windows-Umgebung verweise ich einfach auf /superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- mit-deutsch-tastatur-layout , in der hoffnung , dass dies das richtige ist.
quelle
Ich denke, Sie haben bestätigt, dass die Bindung von
^
in Dired so istdired-up-directory
, dass der aufgerufene Befehl nicht das Problem ist, es sei denn, Sie oder etwas, das Sie laden, haben diesen Befehl empfohlen. (Verwenden SieC-h k ^
und lassen Sie uns wissen, ob der Befehl empfohlen wird.)Sie haben dies mit markiert
microsoft-windows
. Erwähnen Sie möglicherweise, welche MS Windows-Version Sie verwenden. Ich sehe dies nicht mit Windows 7 64-Bit.Sehen Sie dasselbe Verhalten, wenn Sie Emacs mit
runemacs -Q
, dh ohne Init-Datei, starten ? Wenn ja, geben Sie hier bitte ein Rezept abrunemacs -Q
. In diesem Fall könnte dies ein Emacs-Fehler sein.Wenn Sie das Problem mit nicht sehen,
emacs -Q
halbieren Sie Ihre Init-Datei rekursiv, bis Sie sie eingrenzen, um den Schuldigen zu finden. Mit dem Befehl können Siecomment-region
den CodebereichC-u
auskommentieren ( mit ihm den Kommentar auskommentieren).Sobald Sie den Tätercode gefunden haben, können Sie dies genauer untersuchen. Oder Sie können hier berichten, was Sie gefunden haben, wenn Sie weitere Hilfe benötigen. Seien Sie für die beste Hilfe so genau wie möglich.
Zur Neudefinition des Schlüssels: Das ist kein Problem - verwenden Sie einfach
(define-key dired-mode-map SOME-KEY 'dired-up-directory)
, woSOME-KEY
sich eine Schlüsselbeschreibung befindet. Um den Befehl beispielsweise an zu bindenC-o
, können Sie Folgendes verwenden:Aktualisiert nach Ihrem Kommentar und anderen -
Da Sie dasselbe sehen
emacs -Q
, liegt das Problem entweder in Ihrem MS Windows-Setup (dh außerhalb von Emacs) oder in einem Fehler in Emacs.Andere Kommentare machen jedoch deutlich, dass das Problem in MS Windows bei Sticky Keys zu liegen scheint. Versuchen Sie , klebrige Schlüssel auszuschalten .
quelle
runemacs.exe -Q
damit ist das gleiche. Wenn Sie ^ in einen Puffer eingeben, wird das Zeichen nur eingegeben, wenn Sie anschließend <Leerzeichen> oder eine andere Taste eingeben. Gleich imdired
Modus muss es^1 <space>
nach oben gehen. Fürdefine-key
: aber ich möchte den Schlüssel ^ für diese Bindung verwenden. Gibt es eine Möglichkeit, das Warten auf <Leerzeichen> zu vermeiden?