2014-12-20 42 views
17

Vim: czy istnieje ruchomy kursor na początku następnej linii? j przesuwa kursor do odpowiedniej pozycji bieżącej pozycji w następnym wierszu. Poszukuję pojedynczego klawisza, który może przesunąć kursor do pozycji 0 niezależnie od pozycji kursora w bieżącej linii.Vim przesuwanie kursora na początek następnej linii

+0

To jest 'j', a nie' J'. – romainl

Odpowiedz

26

+ ruchu przesuwa się do pierwszej niepustej litery w następnej ([count]) linii. To spełnia twoje wymagania, jeśli nie ma wcięć. Z wcięciem możesz użyć +0 lub j0.

+1

'' i '+' są tym samym ruchem, ale bardziej wygodne. Ten ruch jest świetny podczas nagrywania makr –

+0

@PeterRincker Dzięki. Czy wiesz, czy vim pozwala na taką samą funkcjonalność w odniesieniu do linii ekranu, a nie linii tekstowych? Miałem nadzieję, że zrobi to g +, tak jak gj przenosi Cię o jedną linię ekranu, g $ na koniec linii ekranu i tak dalej, ale w tym przypadku (g +) wydaje się mieć jakąś inną funkcjonalność .. – Lavya

+1

@ Lavya Teoretycznie możesz użyć 'gj' i' g^', aby utworzyć mapowanie" g '", ale nie sądzę, aby 'g ^' zachowywało się tak, jak się tego spodziewałem. Zobacz ': h g ^'. na przykład 'nnoremap g gjg ^'. 'G +' i 'g-' są poleceniami cofania nawigacji i mogą być całkiem pomocne. Sugerowałbym, aby ich nie przesłaniać. Zobacz ': h g +' i ': h undo-tree', aby uzyskać więcej informacji. Drzewo cofania jest całkiem fajne, szczególnie w połączeniu z uporczywym cofaniem (patrz ': h persistent-undo'). –

4

Możesz przejść do początku wiersza, naciskając: + Po prostu przesuwa się do pierwszego niepustego znaku na początku wiersza, co jest w porządku, jeśli nie ma wcięcia. Jeśli chcesz, aby przejść do pierwszego znaku w linii, niezależnie od białej przestrzeni, można zrobić j0

Jeśli potrzebujesz więcej pomocy z klawiszy, to jest to dobre źródło: http://vim.wikia.com/wiki/Moving_around

+0

Dlaczego zmieniasz swoją odpowiedź, aby pasowała do mojej ?! –

+0

@IngoKarkat Przepraszam za to. Nie zdawałem sobie sprawy, że pytanie brzmiało "idę do początku ** następnej ** linii", kiedy pierwszy raz udzieliłem odpowiedzi, i zmieniłem ją na coś, co faktycznie odpowiedziało na to pytanie. Mogę to usunąć, jeśli chcesz. – EvergreenTree

+0

W porządku. Twoja odpowiedź nadal ma przydatne łącze, więc po prostu ją zachowaj. –