vim - 如何在vim插入模式下删除一个WORD

标签 vim

有没有办法在插入模式下删除整个 WORD(例如从 vim path/to/some/file.txtvim)?

要在插入模式下删除单词,C-W 快捷键效果很好。我也习惯在 bash 中使用 C-W 但 bash 实际上会删除整个单词。

现在我希望能够在插入模式下删除整个单词。我怎样才能在 vim 中实现这一点?

最佳答案

对于单词只有 :help i_CTRL-W ,对于整行只有 :help i_CTRL-U ,但对于 WORD 却没有。不过,您可以轻松定义自定义映射:

:inoremap <C-B> <Esc>"_dB"_s

这是一个更详细的版本,可以更好地处理极端情况:

inoremap <silent> <expr> <C-B>
\   col('.') == 1 ?
\       '<C-w>' :
\       col('.') >= col('$') ?
\           '<C-o>:normal! B"_d$<CR>' :
\           '<C-o>:normal! m"B"_dg`"<CR>'

关于vim - 如何在vim插入模式下删除一个WORD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30751787/

相关文章:

vim - 制作时如何继续编辑文件?

vim - 在Vim中移动行

python - 通过映射到 autocmd 自动完成 python Shebang(在非 .py 文件中)

vim - 增加Markdown文件中的标题级别

c# - 删除整个方法的命令?

vim 切换颜色方案的函数

vim - 如何在 Vim 中开箱即用地实现 “paste -d ' ␣'” 行为?

regex - 从缓冲区中删除与所选文本匹配的行

windows - Vim:\n 与\r

linux - 为什么 vim 的 d 运算符行为不端?