3

Если вы удалите назад в vim, он не удалит символ под курсором. Что нужно сделать, чтобы удалить его, скажем, обратно в последний пробел?

2 ответа2

4

Что касается удаления символа под курсором при удалении назад, это может быть то, что вам нужно:

Приготовьтесь к тому, чтобы ваш разум был взорван:

dvb

Vim проводит различие между инклюзивным и эксклюзивным движением. v переключает "включенность" или "исключительность" движения. Для примера переключения противоположного направления (включительно => эксклюзивно), попробуйте его с помощью e:

dve

Смотрите :help включительно для объяснения. До сих пор вы думали, что это просто эзотерическая чепуха! Не так ли? Не так ли ?! (По крайней мере, мои глаза закрывались, когда я читал этот раздел в справке ... :)

источник: https://www.reddit.com/r/vim/comments/24wbuz/command_to_delete_one_full_word_backwards/chbbkfk/

Итак, чтобы объединить это с удалением назад до последнего пробела, вы можете использовать dvT<space> .

1
dT<space>

удалить обратно в пробел, где я использовал <пробел>, чтобы обозначить символ пробела. В качестве альтернативы, вы можете использовать

dB

удалить обратно в начало текущего WORD, где WORD представляет собой строку непробельных символов. Увидеть

:help T
:help B
:help WORD

или в более общем плане

:help left-right-motions
:help word-motions
:help motion.txt

Однако во всех этих случаях Vim начинается с символа слева от курсора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .