Перехід до початку рядка, не відкриваючи новий рядок у VI


229

Зараз я використовував SHIFTOі SHIFT$переходив до початку та кінця рядка в vi.

Однак SHIFTOбільше для відкриття нового рядка над курсором.

Чи є якась команда, яка просто приведе вас до початку рядка?


9
Окрім наведених нижче відповідей, введіть: допомогайте ліво-праворуч у Vim для отримання великої кількості інформації.
ngm

хороша книга для vim: практика в vim. ^ 0
陈思秀

Відповіді:


426

Ви можете використовувати ^або 0(Нуль) у звичайному режимі для переходу до початку рядка.

^переміщує курсор до першого непорожнього символу рядка,
0завжди переміщує курсор до "першого стовпця"

Ви також можете використовувати Shiftiдля переміщення та переходу в режим Вставка.


5
Також Shift + A і Shift + I переходить відповідно до кінця та початку рядка, а також переходить на Вставити модель
bibstha

7
Для мене натискання ^зазвичай не таке просте, як натискання 0та wпослідовно.
DXDXY

33

Простий 0відведе вас до початку рядка.

:help 0 для отримання додаткової інформації



12

Ви можете використовувати 0або ^перейти до початку рядка.
Можна використовувати Shift+ Iдля переходу до початку та переходу в режим редагування ( Вставити ).


Ви відповідаєте, як правило, правильно, але є невеликий застереження. Shift+Iабо ^перемістить курсор на початок тексту в рядку. Якщо рядок має nвкладки на початку, він перемістить курсор до n*tabstop + 1стовпця. У той час як 0переміщує курсор до першого стовпця рядка.
нарендра-чодхарі

10

Є ще один спосіб:

|

Це "труба" - символ, знайдений під задньою зоною в макеті ANSI .

Vim quickref ( :help quickref) описує це як:

N      |      to column N (default: 1)

А як із загорнутими лініями?

Якщо у вас є обгортка лінія включена, 0і |більше не братиме вас в початок екрана лінії. У такому випадку використовуйте:

g0

Знову ж, vim quickref doc:

 g0   to first character in screen line (differs from "0"
      when lines wrap)

Тепер я бачу, чому це працює. Дякую. Мені було цікаво Я думаю , що це краще , ніж 0тому , що |і $знаходяться на тому ж ключі.
WesternGun


6

Перемістіть курсор до початку або кінця в режимі вставки

  • I - Переміщує курсор до першого непорожнього символу у поточному рядку та вмикає режим вставки.
  • A - Переміщує курсор до останнього символу в поточному рядку та включає режим вставки.

Тут Iеквівалент ^+ i. Аналогічно Aеквівалентно $+ a.

Просто переміщення курсору до початку чи кінця

  • ^ - Переміщує курсор на перший непорожній символ у поточному рядку
  • 0 - Переміщує курсор на перший символ у поточному рядку
  • $ - Переміщує курсор до останнього символу в поточному рядку

5

Я щойно знайшов 0 (нуль), а зміна + 0 працює на vim.


5
shift+0ось )це наступне речення
mihai

Shift+0краще, ^показує характер і це дратує. Спасибі
calbertts

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