Próbuję zmapować mój Ctrl i znak plus razem. Oto, co próbuję w moim vimrc:
nnoremap <C-=> : echo "Hello" <CR>
Wydaje się jednak, że mapowanie nie jest uruchamiane. Wszelkie sugestie dotyczące tego, co robię źle? Używam macvim.
key-bindings
macvim
James Franco
źródło
źródło
Odpowiedzi:
Niestety nie ma niezawodnego sposobu mapowania Ctrl-=.
Ze względu na sposób, w jaki
ctrl+key
akordy oddziałują z terminalem i są reprezentowane wewnętrznie, jedynymi mapowaniami Ctrl, które Vim może wykryć, są te zdefiniowane w standardzie ASCII. Oto pełna lista takichctrl+key
kombinacji, a każdy bajt reprezentuje.Zauważ jednak, że większość z nich ma już funkcję w Vimie, a niektóre są zasadniczo identyczne z / nie do odróżnienia od innych naciśnięć klawiszy. np.
CTRL-M
ma ten sam kod klucza coEnter
, więc jeśli mapujesz jeden z nich, nieuchronnie również mapujesz drugi.Źródło: Vim-FAQ
Możesz być w stanie obejść powyższe ograniczenia, konfigurując terminal tak, aby wysyłał określoną sekwencję bajtów do mapowania, jak w tym wątku przepełnienia stosu , ale na pewno będzie to uciążliwe. Osobiście wolałbym wybrać inne mapowanie.
Może to ostatecznie zostać naprawione, ale jest to mało prawdopodobne, ponieważ Vim polega na terminalu, w którym działa. Istnieje jednak duża szansa, że zadziała w Neovim. Nie wiem czy to działa teraz czy nie.
źródło