В VIM, как вы удаляете в конец строки в командном режиме:?
В VIM у меня есть ярлык лидера для следующего:
:!git commit % -m 'updated '; git push;
Мой курсор попадает на персонажа после обновления, когда я выполняю этот ярлык лидера. Теперь вопрос:
Как удалить до конца этой строки с помощью сочетания клавиш? В bash это будет "CTRL-k", но здесь это не работает. Я просто хочу удалить все после слова "обновлено".
2 ответа
Для того, что вы просили, не существует сопоставления ярлыков по умолчанию. Полную документацию по редактированию командного режима можно найти через :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 извлекает содержимое из командного режима в виде строки. И вернуть только содержимое от начала строки на одну позицию впереди позиции курсора. Остальная часть контента будет усечена и, следовательно, удалена.
После ввода :
чтобы войти в командный режим или после того, как вы вставите свою команду, введите CTRL+f. Ваша история команд появится в новом "окне командной строки". Оказавшись там, вы можете использовать D с той точки, с которой вы хотите начать удаление. Затем просто введите ↩, чтобы выполнить вашу команду.