Чаще всего мне приходится работать со старым простым vi на минималистичных терминалах, которые, как правило, действуют иначе, чем vim в больших дистрибутивах, и поэтому такое поведение сбивает меня с толку.
Я хочу знать не как перейти к последнему символу в строке, а к одному символу после него. Потому что ввод $
НЕ перемещает курсор вставки на последний символ в строке, и это легко доказать. Я использую vi на MSYS прямо сейчас.
Если я наберу строку
This is a test
и нажмите esc
, $
, i
и <enter>
, я получу следующее:
This is a tes
t
Это показывает, что курсор вставки был не помещен в конец строки, а один слева от последнего символа в строке (представьте, что поле представляет собой строку, как в Notepad++. в верхней части буквы, что означает, что символ будет вставлен в область, которая составляет левую часть поля), и я знаю это, потому что, если бы он был действительно в конце («конец» означает ПРАВО от последнего символа) последний символ не будет перемещен в отдельную строку, как вы видите выше.
Я не хочу такого поведения. Для меня слишком утомительно вводить один дополнительный символ каждый раз, когда я нажимаю клавишу ввода, просто чтобы убедиться, что мне не нужно перепечатывать свои слова. Это убивает мою продуктивность.
Как это исправить? Можно ли настроить этот параметр в .exrc
?
i
, он вставляет перед символ, на котором вы находитесь. Используйтеa
для вставки после (добавления) иA
для добавления в конец текущей строки (после$
). - person Two-Bit Alchemist   schedule 25.04.2014A
в командном режиме? Это должно поставить вас после последнего символа в режим вставки. Если это не сработает, введите<Esc>$a
, что должно сделать то же самое. - person Rick   schedule 25.04.2014i
, иa
переводят вас в режим вставки, разница в том, чтоi
запускает вас перед текущим символом, аa
запускает вас после. - person Rick   schedule 25.04.2014