Движения слова в Vim универсальны (или, как вы говорите, "наивны") и управляются только настройкой 'iskeyword'
. Обычно это хорошо, потому что они применимы ко всем видам текста и большинству языков программирования.
То, что вы хотите, это специализированный текстовый объект; Вы могли бы реализовать это, переназначая текстовый объект iw
по умолчанию (и, возможно, также связанные движения, такие как w
, e
и т. д. для согласованности). Я не видел такой реализации, но это определенно выполнимо в Vimscript. Может помочь плагин textobj-user .
Кроме того, вы можете сначала применить текстовый объект в визуальном режиме, а затем исправить выбор для первого символа n
: viwolc
. o
переходит в другую сторону выбора, l
уменьшается его один раз, и , наконец , висящий c
выбор.
... или просто повторно введите удаленный n
; в конце концов, это всего лишь один персонаж, и это быстро сделать. Это то, что я, вероятно, сделал бы.