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?


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. . .


Ś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


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,.


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,
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.