Перейдіть до 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.