Определение нового оператора Vim с параметром

Я искал отображение нового оператора в Vim, который принимает дополнительный параметр .

Например, мы знаем, что ciw «прорежет внутреннее слово» и переведет вас в режим вставки, я ищу настраиваемое действие для замены c ( например s ), который принимает движения, подобные iw , но требует дополнительного параметра.

Тривиальный пример:

Given a line in a text file

И выполнить в обычном режиме (если курсор находится в первом столбце) siw * , которое окружит первое слово * вот так :

*Given* a line in a text file

Я знаю, это то, что делает самый лучший плагин Surround.vim. Но я просто привожу здесь пример и ищу ответ, как получить сопоставления, чтобы вышеперечисленное работало.

Я пробовал играть с onoremap и opfunc , но не могу заставить их играть так, как я хочу.

Итак, это комбинация движений и отложенных отображений операторов.

22
задан Ruben Verborgh 20 December 2016 в 13:23
поделиться