Chcę nauczyć się używania hjkl bardziej niż używania klawiszy strzałek, aby pozostać w głównym rzędzie. I tak, jestem bardzo świadomy, że nie należy używać hjkl jako głównych klawiszy nawigacyjnych. Jednak moje nawyki są dość silne i nawet nie zdaję sobie sprawy z tego, że wykonałem ten ruch ręką do klawiszy strzałek i chcę się tego nauczyć.
Aby przełamać ten nawyk: Jak mogę wyłączyć klawisze strzałek, aby zmusić mnie do korzystania z hjkl lub innej metody nawigacji?
Jako bonus byłoby pomocne, gdyby pojawił się komunikat, Dont't use this!
że nie jest to obowiązkowe. Jeśli nie zadziałają, będzie to dla mnie wystarczająco mylące, aby przemyśleć swoje nawyki.
key-bindings
cursor-movement
cursor-motions
k0pernikus
źródło
źródło
w
dla następnego słowa,}
dla następnego akapitu,n
dla następnego dopasowania wyników wyszukiwania,fz
dla następnego wystąpieniaz
w bieżącym wierszu itp.) Niż przenoszenie więcej szczegółowo według pojedynczych znaków. Zdecydowanie się z tym zgadzam. Jednak HJKL są zdecydowanie lepsze niż klawisze strzałek, ponieważ nie musisz ruszać rękami z rzędu domu. Często piszę coś takiegojA
, co jest o wiele szybsze<Down>A
i nie do pokonania żadnym ruchem.Odpowiedzi:
Możesz zainstalować wtyczkę hardmode i
.vimrc
umieścić w swoimJeśli nie chcesz korzystać z wtyczki, użycie (co może być lepszym wyborem, jak dostać się dostosować wszystko samodzielnie!)
nnoremap
,vnoremap
Ainoremap
na<Left>
,<Right>
,<Up>
,<Down>
,<PageUp>
i<PageDown>
, na przykład:źródło
<nop>
, jeśli chcesz wyłączyć całkowicie mapy klawiszy:nnoremap h <nop>
.W przypadku, gdy ty lub ktoś inny czytający ten temat, po prostu chcesz wyłączyć ruchy klawiszy bez ostrzeżenia tekstowego, wprowadź następujące wiersze w .vimrc
Polecenia wyłączą ruch klawiszy tylko w trybie normalnym. Nadal działają w trybie wstawiania. Jeśli użyjesz inoremap, ruch strzałki również zostanie usunięty z trybu wstawiania.
Ten niezwykle popularny temat dotyczy różnic między noremap, nnoremap, inoremap itp .: Ponowne mapowanie w Vimie
Ogólny pomysł z mapowaniem wygląda następująco:
Tak więc w innych podanych przykładach ponownie przypisujesz lewe polecenie do monitu tekstowego, który przypadkowo usuwa akcję faktycznego przesunięcia kursora. Podany powyżej przykład po prostu odwzorowuje działania na nic, a nie na coś innego. Zastanów się nad usunięciem, a nie zastąpieniem funkcjonalności vima.
źródło
Możesz dodać to do swojego,
.vimrc
aby wyłączyć klawisze strzałek w trybie Polecenia, Wstaw, Normalnym i Wizualnym:Uwaga: Kasa
:help map-overview
po więcej szczegółów na temat różnych rodzajów mapowaniaźródło
noremap ... ...
(dla trybu normalnego, wizualnego, wyboru i oczekiwania operatora) oraznoremap! ... ...
(dla trybu wstawiania i wiersza poleceń).noremaps
byłoby pomocne dla kogoś, kto chce dostosować, których trybów dotyczy