Как удалить слово и перейти в режим вставки в Vim?
в обычном режиме я могу ударить Ctrl + E который удаляет остаток текущего слова и переходит в режим вставки.
Я хочу удалить все слово, независимо от позиции курсора (в пределах слова, конечно). Кроме того-как я могу заменить текущее слово на то, что находится в регистре по умолчанию?
5 ответов:
вы можете использовать "изменить внутреннее слово", введя "ciw", чтобы удалить слово, на котором находится курсор.
команды "inner" и "a" отлично подходят для Vim, также попробуйте "ci{" внутри блока {} или "ca {", если вы также хотите удалить символы {}. Чтобы перевести эти команды на английский язык, чтобы запомнить их лучше, попробуйте: "change inner { block "И"change a { block".
документация по адресу http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
ответ на ваш последующий вопрос:
viwpv -> start visual mode iw -> select the 'inner word' p -> paste - in visual mode it replaces the visually selected text.
второй вопрос:
bPldwэто приведет вас к началу текущего слова, вставьте регистр по умолчанию перед курсором, перейдите к следующему символу (пройдя мимо конца текста, который вы только что вставили) и удалите остальную часть слова.
по первому вопросу:
bcwтакже работать. Это значит "back до начала слова,changewОГА". Но я думаюciwболее запоминающимся, что значит "changeinnerwОГА", всего лишь один шаг.для второго вопроса о "замене с помощью пасты", мое решение
"_diwP. Этоdeleteinnerword к регистру вы не заботитесь иpАсте содержание регистра по умолчанию. Преимуществом является то, что вы можете вставить регистр по умолчанию много раз, потому что он не будет загрязнен. Это небольшой комплекс, поэтому я отображаю его какnnoremap ,r "_diwP.
Comments