По умолчанию не существует сопоставления ярлыков для выполнения того, что вы просили. Полную документацию по редактированию в командном режиме можно найти через :help cmdline-editing
. Вы можете просмотреть его, чтобы найти что-нибудь полезное для вас. Но я не думаю, что функция, которую вы просили, заключается в этом.
Я полагаю, что стандартный способ редактирования командной строки не требует такой операции. Обычно мы удаляем слово перед курсором с помощью <Ctrl-W>
не перемещая курсор вокруг. Но, конечно, если у вас есть свой собственный способ его редактирования, вы всегда можете изменить поведение vim в свою пользу.
Вы можете получить нужный ярлык, сопоставив <C-K>
с функцией, определенной в соответствии с вашим требуемым поведением. Здесь я пишу пример. Вы можете просто вставить следующий код в ваш ~/.vimrc
. Ресурс файла. И вы можете иметь ярлык, работающий по-своему.
cnoremap <C-k> <C-\>estrpart(getcmdline(),0,getcmdpos()-1)<CR>
Если вам интересно, это вызывает ярлык командного режима по умолчанию (<C-\>e
) для оценки {expr} и замены всей командной строки результатом. strpart()
- это функция обрезания строк, предоставляемая vim.
После нажатия клавиши <C-k>
vim извлечет содержимое из командного режима в виде строки. И поместите обратно только содержимое от начала строки на одну позицию впереди позиции курсора. Остальная часть контента будет усечена и, следовательно, удалена.