Я пытаюсь сопоставить Ctrl-j, чтобы объединить две строки, используя запятую. У меня есть следующие строки в моем файле .vimrcЗапуск пользовательской виртуальной карты keybinding один раз работает, но ее запуск x количество раз не работает
:map <C-j> A<space>,<ESC>J
Это прекрасно работает, когда я нажимаю Ctrl-J раз
Before After
test test , test
test test
test
Но когда я пытаюсь объединить несколько строк сразу, нажав «2Ctrl-J «Я получаю следующие
Before After
test test , , test
test test
test
Что я делаю неправильно? Как я могу объединить несколько строк в одну запятую? Я попытался заменить <Esc>
на <C-[>
, но это не сработало.
Также есть способ параметрирования символа соединения? Например, если бы я хотел отобразить Ctrl-k, за которым следует любой символ, чтобы присоединиться к двум строкам с использованием указанного символа, какова будет карта для этого?
Ходатайства не работает так. 2 заставляют вас повторять A, дважды, но J выполняется только один раз. Однако я не уверен, как сделать эту работу движением. –
fotanus
'J' по умолчанию принимает минимальное количество 2. Как и в этом случае, следующие две строки. Если вы набрали 3 буквы, вы получите три строки, соединенные – FDinoff
@FDinoff Nope. Ввод 3 просто дает мне 3 запятые. 'test,,, test' – Chaitanya