Istnieje opinia, że podczas pracy w vimie nie powinieneś używać klawisza Esc (użyj ctrl + c zamiast) i nie używaj klawiszy strzałek (użyj h, j, k, l) na twojej klawiaturze. Ale trudno nie używać tych kluczy. Myślałem, że jest sposób na wyłączenie tych kluczy w .vimrc, więc nie będzie innej opcji niż ctrl + c i hjkl.Jak wyłączyć klawisze Esc i kursora w vim
Szukałem trochę i znalazłem rozwiązanie na tym link. Więc ja dodaje się następujące w moim .vimrc pliku:
inoremap <Up> <NOP>
inoremap <Down> <NOP>
inoremap <Left> <NOP>
inoremap <Right> <NOP>
inoremap <Esc> <NOP>
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>
noremap <Esc> <NOP>
Ale to nie działa. Dodanie tego do mojego .vimrc łamie moje mapowanie na klucze funkcyjne . Kolejny problem polega na tym, że nie blokuje on funkcji klawiszy strzałek, a gdy naciśniesz Dół w trybie normalnym wykonuje się wiele akcji - kursor przesuwa się w górę o jedną linię, tworzona jest nowa linia i wstawiany jest znak "B".
Jak mogę wyłączyć w moim vimie 7.2 klawisze kursora i klawisz Esc bez naruszania czegokolwiek innego?
Choć nie może być tak, że opinia, że opinia jest po prostu błędne. 'Ctrl-c' nie działa tak samo jak' Esc' lub 'Ctrl- [' do. Być może już to rozumiesz, ale na wypadek, gdyby ktoś czytający to nie zrobił, 'Ctrl-c' pomija zarówno zdarzenie autocmd' InsertLeave', jak również rozszerza wszelkie oczekujące skróty trybu wstawiania. Oznacza to, że wszystkie skrypty, których używasz, zależą od tych funkcji, zostaną zerwane, jeśli zaczniesz używać 'Ctrl-c', aby opuścić tryb wstawiania, zamiast robić to poprawnie. Krótko mówiąc, przyzwyczajanie się do tego jest złym nawykiem i zdecydowanie odradzam. –
@RandyMorris czy masz jakiekolwiek wątpliwości dotyczące ponownego przypisywania klawiszy strzałek? – Robz
@Robz w ogóle nie udostępniają duplikatu mapowania, więc są świetnym kandydatem do mapowania na coś bardziej użytecznego. –