Idź do n-tego symbolu w linii

85

Jak przenieść kursor do n-tego symbolu od lewej w Vimie?

Jednym z rozwiązań, które widzę, jest naciśnięcie 0n<right-arrow>, przesunie się do pozycji n + 1. Czy jest na to bardziej naturalny sposób?

Nutel
źródło
1
strzałka w prawo zadziałała w moim przypadku ... thnx
raj_gt1
Kto kiedykolwiek używa <right arrow>zamiast lin vim?
LRDPRDX

Odpowiedzi:

129

Rura '|' postać może być tym, czego chcesz:

Aby przejść do 25-tej kolumny w wierszu w trybie normalnym, naciśnij 25|

Aby przejść do 37. kolumny w wierszu w trybie normalnym, naciśnij 37|

i tak dalej. . .

Herbert Sitz
źródło
Świetnie, właśnie tego szukałem
Nutel
4
@CamilB Spróbuj czegoś takiego $3h, co przeniesie Cię na koniec linii, a następnie 3 znaki w lewo.
Jeff Klein,
Więcej na ten temat na vim help :help bar. Kiedy dowiedziałem się o tym, że komentowanie i uncommentig tyle łatwiejsze XD Po odkryciu tego, że nie opierają się na zewnętrznych komentarz / odkomentuj wtyczek, kod edycji życie jest tak dużo lepiej :)
Avi Mehenwal
40

EDYTUJ: źle odczytałem pytanie.

możesz przejść do konkretnego symbolu, wpisując, fa po nim odpowiedni symbol:

jeśli chcesz przejść do trzeciego $, wpisz:

3f$

aby się cofnąć, używasz dużej litery „F”

F$

aby najpierw dotrzeć do końca linii, użyj „$”

więc twoje naciśnięcia klawiszy do znalezienia trzeciego znaku $ od końca linii to:

$3F$

Lubię mieć coś takiego pod ręką podczas używania Vima:
http://www.lagmonster.org/docs/vi.html

Ramy
źródło
1
To był pierwszy wynik w google i właśnie tego szukałem, dziękuję
kgwong
ten ruch można dodać również do innych poleceń, takich jak: zmiana z bieżącej pozycji na drugie pojawienie się znaku "e" - c2te :)
Vũ Tô
8

Nie jestem pewien, czy masz na myśli n-ty znak, czy n-te wystąpienie znaku; druga została odebrana, więc odpowiem na pierwszą.

^przeniesie Cię na początek linii z wyłączeniem białych znaków (więc do pierwszej innej niż biała kolumna), a |( kreska ) lub 0(zero) przeniesie Cię do pierwszego znaku. Następnie l(mała litera L) przeniesie Cię w prawo; i 7lzabierze Cię siedem znaków w prawo. A więc razem, aby przejść do (n + 1) -tego znaku w wierszu, dla n = 7 07l,.

Chris Morgan
źródło
Widzę, że zredagowałeś teraz pytanie; lzamiast prawej strzałki oznacza najlepsze, jakie otrzymasz. (Czy znasz nawigację hjkl?)
Chris Morgan,
Wiem, że prawdziwy vimmer nie powinien używać strzałek, ale używam innych aplikacji, które nie obsługują przypisywania klawiszy niskiego poziomu, a jedynym sposobem nawigacji są strzałki, więc aby ułatwić sobie przełączanie się między nimi, używam strzałek
Nutel
@Vetal: Czasami denerwuję się, gdy przewijanie po prostu nie działa w innych aplikacjach ... hjkl są znacznie ładniejsze niż strzałki.
Chris Morgan,
Jak wskazuje odpowiedź Herberta Sitza, |trafia tylko do pierwszego znaku, ponieważ wartość [count]domyślna to 1 - w rzeczywistości trafia do [count]tego znaku w linii, więc 8|jest tak, jakby 07lto był pojedynczy ruch zamiast dwóch.
hobbs
Myślę, że powinienem zwrócić uwagę na to, co robią postacie. Powinienem był pomyśleć, że to nieprawdopodobne, że istnieją dwa sposoby zrobienia tego samego.
Chris Morgan,