W vimie, jak sprawić, aby lewy i prawy klawisz strzałki zmieniły linię?


25

W vimie moje klawisze strzałek działają poprawnie, przesuwając w górę, w dół, w lewo i w prawo zgodnie z oczekiwaniami, z jednym wyjątkiem. Na początku linii lewa strzałka nic nie robi, zamiast przejść do ostatniego znaku z poprzedniej linii. Na końcu wiersza strzałka w prawo nic nie robi, zamiast przejść do pierwszego znaku następnego wiersza.

Czy istnieje ustawienie, które mogę zmienić, aby uzyskać oczekiwane zachowanie?


4
Sądzę, że większość użytkowników VIM zaleca, aby nie używać klawiszy strzałek.
user12612,

@ user12612 dlaczego dokładnie?
luchonacho

@luchonacho Myślę, że pomysł polega na tym, że poważni użytkownicy VIM utrzymywaliby, że twoje palce nie powinny opuszczać głównego rzędu klawiatury, aby nawigować tam, gdzie jesteś w tekście.
nohat

Odpowiedzi:


26

Po dalszych poszukiwaniach w Google znalazłem odpowiedź, aby skorzystać z tej whichwrapopcji.

Dodałem następujący wiersz do mojego .vimrc:

set whichwrap+=<,>,[,]

<I >możliwości włączenia do żądanego trybu normalnego i [i ]włączyć pożądane ustawienie trybu wkładki.


1
(Dlaczego nie było to ustawienie domyślne w moim systemie to tajemnica)
więcej

Wydaje się, że nie wpływa to na zachowanie h j k lkluczy.
Sebastián Grignoli,

Tak, istnieją inne wartości dla hi j. Zobacz :help 'whichwrap'lub vimhelp.appspot.com/options.txt.html#%27whichwrap%27 . k i ja tak naprawdę nie mają zastosowania, ponieważ mówimy o zachowaniu lewo / prawo na początku / końcu linii.
Adam Monsen


0

Jest to zachowanie domyślne - zawsze możesz użyć opcji Początek i Koniec, aby przejść na początek i koniec linii.


5
OP chce zmienić domyślne zachowanie. Właśnie dlatego zapytał tutaj.
akira

0

Możesz obejść ten problem, używając w i b, które będą owijać linie.


Ale b zabiera ci pierwszy znak ostatniego słowa poprzedniego wiersza. Czy naprawdę nie ma sposobu, aby strzałka w lewo przesunęła się do ostatniego znaku poprzedniej linii, gdy znajduje się na pierwszym znaku linii?
nohat

Tak, wiem, to nie jest prawdziwe rozwiązanie.
hasen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.