Я хочу нанести Ctrl - M на Ctrl - N в режиме вставки. Если я просто делаю imap <C-M> <C-N>
, тогда Ctrl - M начинает вести себя точно так же, как Ctrl - N, но затем нажатие Enter делает то же самое. Я хочу нажимать Return для продолжения вставки новых строк и в то же время сделать Ctrl - M вставить следующее совпадение завершения по ключевому слову так же, как Ctrl - N. Возможно ли это?
EDIT: Мне удалось изменить исходный код Vim, чтобы безоговорочно относиться к Ctrl - M как Ctrl - N, не затрагивая Return. При этом я также понял, что на самом деле нет способа сделать это без изменения исходного кода, поскольку различие между тем, что на самом деле было нажато - Enter или Ctrl - M, похоже, слишком рано исчезает -прекрасная обработка. Это происходит в платформенно-зависимых модулях пользовательского интерфейса, а переносимая часть кода в обработке нажатия клавиш уже не имеет понятия, было ли нажато Ctrl - M или Return, что привело к key code 13.
Мои изменения были в модулях графического интерфейса для FreeBSD (GTK) и Windows, так как это платформы, в которых я чаще всего использую gvim.
P.S. Если кто-то хочет достичь того же, пожалуйста, напишите мне.
P.P.S. Всем, кто дал ответы на этот вопрос: большое спасибо! Ваши комментарии очень помогли мне.