Was sind möglicherweise nicht verwendete Tasten in Emacs, die im Allgemeinen zum Binden von Tastaturmakros verwendet werden können?

10

Ich habe gelesen, dass die übliche Art, Schlüssel an Tastaturmakros zu binden, C-x C-k 0zu 9und Azu ist Z.

Nachdem wir beispielsweise ein Tastaturmakro definiert haben, können wir Folgendes eingeben, C-x C-k bund Emacs fordert Sie auf, einen Schlüssel zum Binden zu verwenden. Und die reservierten Schlüssel für diesen Zweck sind C-x C-k 0zu 9und Azu Z.

Dies beinhaltet jedoch einige Tastenanschläge. Was sind gute Schlüssel, um dies zu binden? Ich habe festgestellt, dass ich es mit der Emacs-GUI-Version an C-<return>oder Option+ Enterauf einem Mac binden kann, auf dem die Ubuntu Virtual Machine ausgeführt wird. Das sollte also funktionieren, aber die Emacs-Terminalversion und die nativen Emacs auf einem Mac behandeln beide C-<return>oder Option+ Enterals gerecht <return>, sodass dies nicht funktioniert.

Was sind möglicherweise nicht verwendete Tasten in Emacs, die im Allgemeinen zum Binden von Tastaturmakros verwendet werden können?

Oder gibt es alternativ eine Möglichkeit, alle einfachen Schlüssel anzuzeigen, die nicht an Ctrlund gebunden sind Meta?

Unpolarität
quelle
Diese Frage ist wahrscheinlich zu weit gefasst und kann zu meinungsbasierten Antworten führen. Bitte bearbeiten Sie die Frage, um weniger meinungsbasiert zu sein.
Dan
getan wie gewünscht ...
Unpolarität

Antworten:

10

... gibt es eine Möglichkeit, alle einfachen Schlüssel anzuzeigen, die nicht an STRG und Meta gebunden sind?

Haben Sie das unboundPaket von Davis Herring überprüft ? Es hat die Funktion describe-unbound-keys, die ungebundene Tastenakkorde basierend auf etwas auflistet, das er key complexityPartitur nennt . Ziemlich coole Funktion zum Herumspielen, um nur die Tastenakkorde mit CTRLund METATasten zu isolieren .

Um den zugrunde liegenden Bewertungsmechanismus zu ermitteln, sehen Sie sich die key-complexity-1Funktion in unbound.el an und optimieren Sie die Gewichtungsfaktoren für Isolation CTRLund METASchlüssel. Dieses Paket bietet ein großes Potenzial für die automatische Entdeckung nützlicher Schlüsselbindungssequenzen.

Emacs Benutzer
quelle
Das ist ziemlich interessant - bei mir waren bis zur Komplexität 5 keine Tastenkombinationen verfügbar. Ich denke, um es hilfreicher zu machen, können Sie es mit Informationen darüber kombinieren, wie oft Sie verschiedene Funktionen verwenden (oder von anderen Personen verwendet werden - ich denke, Xah Lee hat diese Informationen zusammengestellt ). Dies war einer der schwierigsten Teile von Emacs, als ich es zum ersten Mal lernte - welche Tastenkombinationen kann ich verwenden, ohne etwas auszulöschen, das später nützlich sein könnte? Oder wie kann ich die am häufigsten verwendeten Funktionen neu binden, damit sie keinen RSI verursachen? Es hat eine Weile gedauert, um einen guten Satz von Bindungen zu erarbeiten, aber es könnte wahrscheinlich teilweise automatisiert werden.
Brian Burns
Die Automatisierung ist nur für die Ermittlung nützlich, nicht für die Erstellung eines "guten Satzes von Bindungen", da dieser Satz von Benutzern, benötigten Funktionen, Tastaturlayout usw. abhängt. Selbst für denselben Benutzer werden sich die Bindungen im Laufe der Zeit weiterentwickeln. RSI fügt einen weiteren Faktor hinzu. Kurz gesagt, gehen Sie jetzt auf Komfort und nicht darauf, welche Tastenkombinationen "später nützlich sein könnten".
Emacs User
Daher "teilweise" automatisiert. Es gibt einige Schlüssel, die sehr leicht zu erreichen sind und an etwas gebunden sind, das die meisten Leute kaum benutzen. Die IIRC-Transponierung ist so und wäre ein guter Kandidat für eine erneute Bindung. Die Kombination dieses Pakets mit der Verwendung der Funktionsfrequenz würde Ihnen dies sagen. Mx ist eine der am häufigsten verwendeten Tasten, aber mit modernen Tastaturen ist sie schwer zu erreichen - ErgoEmacs hat sie an Ma zurückgegeben, und ich habe sie verwendet und sie sehr gemocht. Es ist sehr zeitaufwändig, einen guten Satz von Bindungen auszuarbeiten, insbesondere wenn Sie anfangen und nicht wissen, was Sie tun. Etwas, das helfen könnte, wäre also wirklich nützlich.
Brian Burns
@ bburns.km machen Sie mit, denn was Sie beschreiben, ist Anpassung, nicht Automatisierung.
Emacs User
2

Gemäß der Dokumentation sind C-c+ Brief und F5-F9 für den Benutzer reserviert.

Eine andere Möglichkeit besteht darin, M-mals Führungsschlüssel und stattdessen M-Man das Original zu binden M-m.

Max Xiong
quelle