Если у меня есть этот текст в Vim, и мой курсор находится на первом символе:
www.foo.com
Я знаю, что я могу сделать:
cw
изменить до первого периода, потому чтоword
(строчная w) заканчивается на любой пунктуации ИЛИ пробелеcW
изменить весь адрес, потому чтоWord
(в верхнем регистре w) заканчивается только в пробелах
Теперь, что если у меня есть это:
stupid_method_name
и хотите изменить это на это?
awesome_method_name
И то, cw
и другое cW
изменилось, но я просто хочу изменить фрагмент перед подчеркиванием.
Моя резервная техника - c/_
это «изменяйся до тех пор, пока ты не достигнешь следующего подчеркивания в поиске», но для меня это также вызывает выделение всех подчеркиваний в качестве поисковых терминов, что немного раздражает.
Есть такой спецификатор, как w
или W
он не включает подчеркивания?
:nohl
?Ответы:
Вы можете сделать
cf_
. f не выделит искомый символ.Вы также можете сделать,
ct_
если вы не хотите включать _.источник
f
движется вперед к персонажу;F
движется назад к персонажу;t
движется вперед прямо перед персонажем; иT
перемещается назад к персонажу справа от целевого персонажа. Итак, ваш второй пример должен был бытьct_
.ct_
это именно то, что я хотел. Теперь это стало частью моего обычного рабочего процесса. Спасибо!Поместите это в ваш .vimrc:
set iskeyword-=_
Тогда _ будет рассматриваться как граница слова (хотя и не граница WORD), а cw может использоваться только для изменения «удивительного», а cW для изменения всего.
Видеть:
:help iskeyword
а также
:help word
для получения дополнительной информации.
источник
ct_
осознавать, что я могу определить свои собственные границы слов, но, подумав, я думаю, что лучшее решение - это, как говорит двойное лицо ниже, так как оно сжато и является поведением по умолчанию vim.camelcasemotion - это очень удобный плагин vim, который позволяет вам перемещаться по словам при использовании символов подчеркивания или верблюда. Используя этот плагин, вы можете поставить запятую перед многими традиционными командами движения vim, которые позволят вам рассматривать слова в нижнем подчеркивании или записи верблюда как полные слова.
источник