Ответ 1
Попробуйте следующее:
:nnoremap <NL> i<CR><ESC>
затем просто нажмите Ctrl-J, когда вы хотите разделить строку.
Я хотел бы сломать строку (по указанию курсора) на две строки, не выходя из нормального режима (ввод в режиме вставки или в командной строке). Возможно ли это?
В настоящее время я попадаю в нужное место и нажимаю "i", чтобы войти в режим вставки, 'enter', чтобы разбить строку на две части, затем "esc", чтобы вернуться в нормальный режим.
Я не пытаюсь установить максимальную длину строки или сделать какой-либо синтаксис или что-то в этом роде. Я просто хочу разбить одну строку на две строки, не выходя из нормального режима. "J" присоединяется к строке, в которой курсор находится на линии под ней, что удобно. Я хочу наоборот: сломать одну строку на две с помощью одной команды.
Попробуйте следующее:
:nnoremap <NL> i<CR><ESC>
затем просто нажмите Ctrl-J, когда вы хотите разделить строку.
Я не знаю ни одной ключевой команды, но много раз я делаю "r", затем "Enter", чтобы сломать строку.
"r" заменяет текущий символ под курсором, не переходя в режим вставки. Возможно, это не то, что вам нужно, если вы не хотите заменять символ...
поместите курсор в положение и...
r<Enter>
Подобно другим ответам, но не заменяет текущий символ.
R<enter>
Не требуется переназначение.
Насколько я знаю, это невозможно без ввода режима вставки. Однако вы можете скомпоновать его с чем-то вроде (замените Z любой клавишей, которую вы хотите использовать)
nmap Z i<cr><esc>k$
в основном это отображает ключ "Z" для входа в режим вставки "i", вставьте карету return '<cr>
', оставьте режим вставки '<esc>
', поднимите строку 'k' и, наконец, перейдите к конец строки '$'
В этом дублирующем вопросе: Как вставить строку, где курсор не входит в режим вставки в Vim?
Изнутри vim введите:
:map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]
Это отображает ключ G в макрос я [Enter] [Escape]
Вы можете использовать запись. Поместите курсор, где вы хотите вставить разрыв строки. Введите qa
, чтобы начать запись в регистр a
(вы можете использовать другой регистр, отличный от a
, если хотите. Затем введите i
(переход в режим вставки), Return (insert newline), escape (режим вставки выхода), q
(завершает запись.) Теперь вы можете вызвать эту последовательность клавиш, набрав @a
(где a
- номер регистра, который вы использовали при запуске записи, поэтому просто продолжайте перемещать курсор где вы хотите вставить новую строку и введите @a
.