在命令模式下更改删除默认行为

时间:2020-06-22 18:50:24

标签: vim

摘自Delete的vim帮助:

                                                    c_<Del> c_Del
<Del>       Delete the character under the cursor (at end of line:
            character before the cursor) (see :fixdel if your <Del>
            key does not do what you want).

是否可以禁用以下操作:(在行尾:光标之前的字符)。如果是这样,那怎么办?

1 个答案:

答案 0 :(得分:1)

如果您对默认行为不满意,则可以创建一个映射来处理“命令终止时光标”的情况。

cnoremap <expr> <del> len(getcmdline())+1==getcmdpos()?'<left>' : '<del>'

由于您没有告诉您光标在EOL处时希望DEL做什么,所以我仅以左箭头键为例。

这样,如果光标在EOL上,则按DEL,光标将向后移(左)一个位置而不删除任何内容。否则,它将执行正常的删除功能。

相关问题