Vim 在插入模式下是否有类似 <Cw> 的东西,它可以删除一个单词?

Nat*_*ong 5 vim

在插入模式下,word如果按<C-w>(control + w) ,Vim 将删除回 a 。是否有类似的命令可以删除 a Word

(例如,将删除全部http://www.example.com而不是仅删除com部分。)

如果没有,我正在考虑映射<C-BS>(控制+退格键)来做到这一点。

Ing*_*kat 2

不,没有这样的内置命令,但以下命令应该可以解决问题:

:inoremap <silent> <expr> <C-S-BS>
\   col('.') == 1 ?
\       '<C-w>' :
\       col('.') >= col('$') ?
\           '<C-o>:normal! Bd$<CR>' :
\           '<C-o>:normal! m"Bdg`"<CR>'
Run Code Online (Sandbox Code Playgroud)

当在行的开头时,它只执行<C-w>与上一行连接的命令。在该行末尾,它返回 WORD 并删除其余部分。否则,它会建立一个临时标记m",返回一个 WORD B,并删除该文本部分。

编辑:修复了行尾的光标