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.