Как перейти к концу строки в Vim?

Я знаю, как обычно передвигаться в командном режиме, в частности, прыгать на строки и т. д. Но какова команда перейти к концу строки, в которой я сейчас нахожусь?

14 ответов


просто $ (знак доллара) ключ. Вы можете использовать на для перехода в конец строки и перехода в режим редактирования (добавление).

напротив на и Я (режим вставки в начале строки), в сторону.


как многие люди сказали:

  • $ получает вас до конца строки

а также:

  • ^ или _ возвращает вас к первому символу без пробелов в строке и
  • 0 (ноль) возвращает вас к началу строки ВКЛ. пробел

  • $ переход к последнему символу в строке.
  • g _ переходит к последнему символу без пробелов.

  • g $ идет в конец строки экрана (когда строка буфера обернута через несколько строк экрана)


главный вопрос - конец строки

$ переходит в конец строки, остается в командном режиме

A переходит в конец строки, переключается в режим вставки

наоборот - начало строки (технически первый без пробелов символ)

^ переходит в начало строки, остается в командном режиме

Я (верхний регистр i) переходит в начало строки, переключается на режим вставки

далее-начало строки (технически первая колонка независимо от пробел)

0 (ноль) идет в начало строки, остается в командном режиме

0i (ноль с последующим строчным I) идет начало строки, переключается в режим вставки

для тех, кто начинает изучать vi, вот хорошее введение в vi, перечисляя бок о бок команды vi для типичного курсора редактора графического интерфейса Windows движение и сочетания клавиш.

vi редактор для пользователей Windows


Если ваша текущая строка обертывается вокруг видимого экрана на следующую строку, вы можете использовать g$ до конца линии.


знак доллара: $


преимущество клавиши " End " заключается в том, что она работает как в обычном режиме, так и в режиме вставки.

' $ ' работает только в обычном / командном режиме, но также работает в классическом редакторе vi (хорошо знать, когда vim недоступен).


во многих случаях, когда мы находимся внутри строки, мы заключены в двойную кавычку или при написании оператора мы не хотим нажимать escape и переходить к концу этой строки с помощью клавиши со стрелкой и нажимать точку с запятой (;) просто, чтобы закончить линию. Написать следующую строку внутри vimrc:

imap <C-l> <Esc>$a

что говорит линия? Он сопоставляет Ctrl+l с серией команд. Это эквивалентно вам нажатие Esc (командный режим), $ (конец line),a (добавление) сразу.


также обратите внимание на различие между строка (или, возможно, физическая линия) и экран. Строка завершается символом конца строки ("\n"). Строка экрана-это все, что отображается в виде одной строки символов в вашем терминале или на экране. Они разделяются, если у вас есть физические линии длиннее ширины экрана, что очень распространено при написании писем и тому подобное.

различие отображается в командах конца строки как что ж.

  • $ и 0 переместить в конец или начало физической строки или абзаца, соответственно:
  • g$ и g0 переместить в конец или начало строки экрана или пункта, соответственно.

Если вы всегда предпочитаете последнее поведение, вы можете переназначить ключи следующим образом:

:noremap 0 g0
:noremap $ g$

пресс на для входа в режим редактирования начиная с конца строки.


или есть очевидный ответ: используйте конец ключ, чтобы перейти к концу строки.


возможно, не связано, но если вы хотите начать новую строку после текущей строки, вы можете использовать o в любом месте строки.


самый простой вариант-ввести $. Если вы работаете с блоками текста, вы можете оценить команду { и } для перемещения абзаца назад и вперед, соответственно.


Я привык к Home / End получать меня к началу и концу строк в режиме вставки (от использования в Windows, и я думаю, Linux), который Mac не поддерживает. Это особенно раздражает, потому что когда я использую vim в удаленной системе, я также не могу легко это сделать. После некоторых болезненных проб и ошибок я придумал эти .vimrc строки, которые делают то же самое, но привязаны к Ctrl-A Для начала строки И Ctrl-D для конца строки. (По какой-то причине Ctrl-E, я думаю, зарезервирован или по крайней мере, я не мог придумать, как его связать.) Наслаждаться.

:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>

здесь хорошая диаграмма для кодов символов управления ASCII здесь для других:

http://www.physics.udel.edu / ~watson/scen103/ascii.html

вы также можете сделать Ctrl-V + Ctrl -, но это не вставляет также в такие места, как это.