W Emacs, mogę nacisnąć Ctrl-h, kw celu opisania klucz. Mogę uzyskać nazwę klucza, nawet jeśli jest niezdefiniowana, np.
C-x <C-M-end> is undefined
W ten sposób poznałem nazwę klucza C-x <C-M-end>
.
Ale jak zdobyć kluczową nazwę dla Vima?
Chcę skonfigurować mapę klawiszy dla Ctrl-Shift-Vi Shift-Insert, ale jakiego kodu muszę użyć?
Czy można uzyskać nazwę klucza w locie?
M
lubA
zostanie zmapowanyAlt
. Ale<M-h>, <M-l>
po prostu nie działają. Nie wiem, czy nazwa klucza jest nieprawidłowa, czy kluczowe zdarzenia nie zostały wysłane do Vima. Bez dziennika, bez wskazówek.Alt
jest trudne, ponieważ większość terminali wysyłaESC
wtedy,x
gdyAlt+x
jest naciśnięty, i skąd Vim wie, że nie nacisnąłeśESC
wtedyx
. ZasadniczoAlt
działa tylko w Gvim.Aby dowiedzieć się, co klucz lub kombinacja klawiszy generuje w Vimie, zwykle otwieram pusty bufor za pomocą „
:enew
”, wchodzę w tryb wstawiania, naciśnij control-v, a następnie klawisz lub kombinację klawiszy, którą chcę zidentyfikować. Ta sztuczka control-v może również działać w wierszu: -command, więc definiowanie mapowań do testowania jest dość łatwe. Na przykład „:map
” control-vi kombinacja klawiszy „:echo 'it works'
”.źródło
Wystarczy wpisać Ctrl+ Vw locie i klawisze, które chcesz nacisnąć. Jeśli nie znaleźli oczekiwanego rezultatu (jak na przykład
<c-space>
,<c-cr>
,<M-i>
, ...) to po prostu oznacza używasz vim nie gvim. Sposób, w jaki vim rozumie wpisane klawisze, jest powiązany z konfiguracją twojego terminala (terminali). gvim używa własnych definicji, więc nie ma nic do skonfigurowania.źródło