Я знаю, как обычно перемещаться в командном режиме, в частности, переходить на строки и т. Д. Но что это за команда, чтобы перейти к концу строки, на которой я сейчас нахожусь?
vim
editor
keyboard-shortcuts
vi
salt.racer
источник
источник
vimtutor
это здорово. Возможно, они не знали об этом?Ответы:
Просто $ (знак доллара) ключ. Вы можете использовать, Aчтобы перейти к концу строки и переключиться в режим редактирования (Добавить). Чтобы перейти к последнему непустому символу, вы можете нажать gзатем _клавиши.
Противоположностью Aявляется I(режим вставки в начале строки), в сторону. Нажатие только на ^курсор поместит курсор на первый символ строки, не являющийся пробелом.
источник
g_
g_
вариант, так как он не содержит пустых символовКак много людей сказали:
но и:
источник
|
может принимать значения, например, 3 | перейти к третьему столбцу.g _ переходит к последнему непробельному символу.
g $ переходит в конец строки экрана (когда строка буфера переносится на несколько строк экрана)
источник
b
к началу предыдущего слова, которое совсем не одно и то же. Это примерно эквивалентно$ge
._
иg_
для visual / yanking, так как$
также будет копировать / удалять символ новой строки (LN).g_
это единственный путь, который я нашел, чтобы добраться до фактического конца линии.$
идет до конца строки, даже когда завернутый для меня. Я не знаю никаких настроек, чтобы настроить его поведение. Возможно, он был переназначен вашим .vimrcg$
?Главный вопрос - конец строки
$ идет до конца строки, остается в командном режиме
A идет до конца строки, переключается в режим вставки
И наоборот - начало строки (технически первый непробельный символ)
^ идет в начало строки, остается в командном режиме
I (верхний регистр i) переходит в начало строки, переключается в режим вставки
Далее - начало строки (технически первый столбец независимо от пробела )
0 (ноль) переходит в начало строки, остается в командном режиме
0i (ноль, за которым следует строчная буква i) идет в начало строки, переключается в режим вставки
Для тех, кто начинает изучать vi, вот хорошее введение в vi путем перечисления бок о бок команд vi с типичным движением курсора в Windows GUI Editor и сочетаниями клавиш.
редактор vi для пользователей Windows
источник
I
является not,0
но^
, поскольку обаI
и^
переходят к первому непробельному символу строки, но0
переходят к нулевому столбцу (как следует из его названия).0
будет? (перейти к первому символу (= столбец 0) строки и перейти в режим вставки)0i
. :-)Если ваша текущая строка обернута вокруг видимого экрана на следующую строку, вы можете использовать g $, чтобы добраться до конца строки экрана .
источник
gw
иgq
это команды, которые переформатируют текст. (см.:h gw
и:h gq
) Вероятно, произошло то, что вы сделалиgw{motion}
и изменили текст так, чтобы строки экрана соответствовали фактическим строкам.Знак доллара: $
источник
Во многих случаях, когда мы находимся внутри строки, мы заключены в двойные кавычки, или при написании оператора мы не хотим нажимать клавишу escape и идти до конца этой строки клавишей со стрелкой и нажимать точку с запятой (
;
) только для завершения линия. Напишите следующую строку в вашем файле vimrc :Что говорит линия? Он отображает Ctrl + l в серию команд. Это эквивалентно одновременному нажатию Esc(командный режим), $(конец строки), a(добавление).
источник
vim
конечно, позволяет делать гораздо больше за гораздо меньшее время с такими вещами. @razorxpress, незначительная корректировка будетimap <C-l> <Esc>A
, что делает Ctrl + l равным нажатиюEsc
(выход из режима вставки), затемA
(добавление к концу строки).inoremap <C-l> <C-o>A
Преимущество клавиши «Конец» в том, что она работает как в обычном, так и в режиме вставки.
'$' работает только в обычном / командном режиме, но также работает в классическом редакторе vi (полезно знать, когда vim недоступен).
источник
Также обратите внимание на различие между линией (или, возможно, физической линией) и линией экрана . Строка заканчивается символом конца строки ("\ n"). Строка экрана - это то, что происходит в виде одной строки символов в вашем терминале или на экране. Эти два варианта расходятся, если у вас физические строки длиннее ширины экрана, что очень часто встречается при написании электронных писем и т.
Различие проявляется и в командах конца строки.
Если вы всегда предпочитаете последнее поведение, вы можете переназначить ключи следующим образом:
источник
g_
это последний непробельный символ физической строки. Как насчет строки экрана?Нажмите, Aчтобы войти в режим редактирования, начиная с конца строки.
источник
Или есть очевидный ответ: используйте Endключ, чтобы перейти к концу строки.
источник
Я не вижу горячей клавиши для MacBook для использования VIM в стандартном терминале. Надеюсь, это кому-нибудь поможет. Для пользователей macOS (протестировано на macbook pro 2018):
Для последних двух команд иногда нужно нажать дважды.
источник
Возможно, не связано, но если вы хотите начать новую строку после текущей строки, вы можете использовать o в любом месте строки.
источник
Самый простой вариант - ввести $. Если вы работаете с блоками текста, вам может понравиться команда {и }для перемещения абзаца вперед и назад соответственно.
источник
Я привык к Home / End, приводя меня к началу и концу строк в режиме вставки (от использования в Windows и, я думаю, в Linux), который Mac не поддерживает. Это особенно раздражает, потому что когда я использую vim в удаленной системе, я также не могу легко это сделать. После некоторых мучительных проб и ошибок я придумал эти
.vimrc
строки, которые делают то же самое, но привязаны к Ctrl-A для начала строки и Ctrl-D для конца строки. (По некоторым причинам, Ctrl-E, я думаю, зарезервирован или, по крайней мере, я не мог найти способ связать его.) Наслаждайтесь.Здесь есть хорошая диаграмма для кодов управляющих символов ASCII и для других:
http://www.physics.udel.edu/~watson/scen103/ascii.html
Вы также можете сделать Ctrl-V + Ctrl-, но это не так хорошо вставляется в такие места.
источник