Перейдіть до n-го символу в рядку


85

Як перемістити курсор на n-й символ зліва у Vim?

Одне з рішень, яке я бачу, - це преса 0n<right-arrow>, вона переміститься в положення n + 1. Чи існує більш природний спосіб це зробити?


1
рішення зі стрілкою вправо спрацювало для моєї проблеми ... thnx
— raj_gt1

Хто коли-небудь використовує <right arrow>замість lin vim?
— LRDPRDX

Відповіді:


129

Труба '|' персонаж може бути тим, що ви хочете:

Щоб перейти до 25-го стовпця в рядку в звичайному режимі, натисніть 25|

Щоб перейти до 37-го стовпця в рядку в звичайному режимі, натисніть 37|

і так далі. . .



4
@CamilB Спробуйте щось на зразок того $3h, що перемістить вас до кінця рядка, а потім 3 символи ліворуч.
— Джефф Кляйн,

Детальніше про це на vim help :help bar. Коли я дізнався про це, це набагато полегшило коментування та розкомментацію XD. Після виявлення цього я не покладаюсь на зовнішні плагіни для коментарів / розкомментацій, життя редагування коду зараз набагато краще :)
— Avi Mehenwal,

40

РЕДАГУВАТИ: неправильно прочитати ваше питання.

Ви можете перейти до певного символу, набравши, fа потім відповідний символ:

якщо ви хочете перейти до третього $, введіть:

3f$

щоб повернутися назад, ви використовуєте велику букву "F"

F$

щоб спершу дійти до кінця рядка, ви використовуєте "$"

отже, ваші натискання клавіш для пошуку третього $ з кінця рядка:

$3F$

мені подобається тримати щось подібне під рукою під час використання Vim:
http://www.lagmonster.org/docs/vi.html


1
Це був перший результат в Google, і це те, що я шукав, дякую
— kgwong

цей рух також буде додано до інших команд, наприклад: зміна з поточного положення на 2-й вигляд символу "e" - c2te :)
— Vũ Tô

8

Я не впевнений, що ви маєте на увазі n-й символ або n-те входження символу; на другу відповіли, тож я відповім на першу.

^переведе вас на початок рядка, за винятком пробілів (тобто до першого небілого стовпця), а |(pipe) або 0(zero) - до першого символу. Тоді l(мала літера L) відведе вас праворуч; і 7lпроведе вас сім символів праворуч. Отже, всі разом, щоб перейти до (n + 1) -го символу на рядку, для n = 7 07l,.


Бачу, ви зараз відредагували запитання; lзамість стрілки вправо - про найкраще, що ви отримаєте. (Ви знайомі з навігацією hjkl?)
— Кріс Морган,

Я знаю, що справжній віммер не повинен використовувати стрілки, але я використовую деякі інші програми, які не підтримують прив'язку клавіш низького рівня, і єдиним способом навігації є стрілки, тому для полегшення перемикання між ними я використовую стрілки
— Nutel

@Vetal: Я іноді засмучуюсь, коли прокрутка просто не працює в інших програмах ... hjkl набагато приємніші, ніж стрілки.
— Chris Morgan,

Як зазначається у відповіді Герберта Сіца, |перехід йде лише до першого символу, оскільки за [count]замовчуванням 1 - це насправді переходить до [count]го-го символу в рядку, так 8|це як, 07lокрім як одного руху замість двох.
— hobbs

Думаю, слід звернути увагу на те, що роблять персонажі. Потрібно було думати, що малоймовірно, що існують два способи робити те саме.
— Chris Morgan,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.