在插入模式下如何在Vim中执行Ctrl+DEL?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (81)

有人知道如何在Vim的插入模式下删除光标前面的单词吗?大多数系统使用Ctrl+Del做这件事。

我知道在插入模式下删除Vim中光标后面的单词是Ctrl+w,但我不知道如何向前删除。

提问于
用户回答回答于

把这个添加到你的~/.vimrc(适用于VIM或GVIM):

imap <C-D> <Esc>eaX<Esc>bce
;   1          2  34   5  67  ; just a comment for the further description

(在GVIM,<C-Del>同样有效。)

描述

  1. 在插入模式下将以下绑定设置为Ctrl+D
  2. 保留插入模式。(光标现在是一个位置,只剩下插入模式中的位置。)
  3. 将光标右移到最近的字尾。
  4. 添加一个虚拟字母来处理最初只包含一个字符的单词。
  5. 保留插入模式。(光标在现在添加的字母上。)
  6. 将光标左移到当前单词的第一个字符。
  7. 将字符从当前位置移到下一个单词尾(即从当前单词的第一个字符移到其最后一个字符)。然后再次输入插入模式。

行为

  • 如果光标位于一个单词的字符上,那么这个单词将被移除。
  • 否则,如果左边有一个单词,那么它将被删除(没有任何空白字符)。
  • 否则(即,如果光标位于接近文件末尾的空白字符),将不会删除任何内容。
  • 如果一个单词被移除,那么光标将与单词的第一个字符位于相同的位置。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • 人生的旅途

    10 粉丝484 提问7 回答
  • uncle_light

    5 粉丝518 提问7 回答
  • 无聊至极

    4 粉丝504 提问6 回答

扫码关注云+社区

领取腾讯云代金券