In Emacs kann ich drücken Ctrl-h, kum eine Taste zu beschreiben. Ich kann den Schlüsselnamen erhalten, auch wenn er undefiniert ist, z.
C-x <C-M-end> is undefined
So habe ich erfahren, dass der Schlüsselname ist C-x <C-M-end>
.
Aber wie können Sie den Schlüsselnamen für Vim erhalten?
Ich möchte eine Keymap für Ctrl-Shift-Vund einrichten Shift-Insert, aber welchen Code muss ich verwenden?
Ist es möglich, den Schlüsselnamen im laufenden Betrieb zu erhalten?
M
oderA
wird zugeordnetAlt
. Aber<M-h>, <M-l>
einfach nicht funktionieren. Ich weiß nicht, ob der Schlüsselname ungültig ist oder die Schlüsselereignisse nicht an Vim gesendet wurden. Kein Protokoll, keine Ahnung.Alt
ist schwierig, da die meisten Terminals sendenESC
dann ,x
wennAlt+x
gedrückt wird, und wie Vim wissen Sie nicht drückenESC
dannx
. Funktioniert grundsätzlichAlt
nur in Gvim.Um herauszufinden, was eine Taste oder Tastenkombination in Vim ausgibt, öffne ich normalerweise einen leeren Puffer mit "
:enew
", gehe in den Einfügemodus, drücke control-vund dann die Taste oder Tastenkombination, die ich identifizieren möchte. Dieser Control-V-Trick kann auch in der Befehlszeile: -command ausgeführt werden, sodass das Definieren von Zuordnungen zum Testen ziemlich einfach ist. Zum Beispiel ":map
" control-vund die Tastenkombination ":echo 'it works'
".quelle
Geben Sie einfach Ctrl+ Von-the-fly und die Tasten ein, die Sie drücken möchten. Wenn Sie das Ergebnis nicht zu erwarten (wie zum Beispiel gefunden haben
<c-space>
,<c-cr>
,<M-i>
, ...) es bedeutet nur , Sie vim verwenden und nicht gvim. Die Art und Weise, wie vim die eingegebenen Schlüssel versteht, hängt von der Konfiguration Ihrer Terminals ab. gvim verwendet seine eigenen Definitionen, es gibt also nichts zu konfigurieren.quelle