Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除vim中的下一个字符(非当前!)?_Vim - Fatal编程技术网

如何删除vim中的下一个字符(非当前!)?

如何删除vim中的下一个字符(非当前!)?,vim,Vim,我经常发现自己需要删除光标后的字符,而不是当前字符。在vim的正常模式下,最短的方法是什么?我知道的最短顺序也是显而易见的: 在命令模式下键入“l x h”。有命令可以删除光标Shift-x之前的字符,但不能删除光标Shift-x之后的字符。我倾向于做lxh来完成这件事 lx将执行此操作,或者lxh如果要将光标返回到原始位置 它只是向前移动光标并删除光标下的字符 如果这不够短,您可以将其映射到单个按键: :map <f5> lxh :映射lxh 然后只需使用f5功能键。我相信有很

我经常发现自己需要删除光标后的字符,而不是当前字符。在vim的正常模式下,最短的方法是什么?

我知道的最短顺序也是显而易见的:


在命令模式下键入“l x h”。

有命令可以删除光标Shift-x之前的字符,但不能删除光标Shift-x之后的字符。我倾向于做lxh来完成这件事

lx
将执行此操作,或者
lxh
如果要将光标返回到原始位置

它只是向前移动光标并删除光标下的字符

如果这不够短,您可以将其映射到单个按键:

:map <f5> lxh
:映射lxh

然后只需使用f5功能键。

我相信有很多方法可以做到这一点,还有另外三种方法:

xpX

请注意,如果光标位于EOL上,
xpX
lxh
将失败。:)

希望有帮助,就像没有一个按键可以做到这一点…亚历克斯,不是在标准的东西,但映射功能可以让你很容易地设置。如果我们想删除下线呢?比接受的答案更好,因为它可以正确删除行中的最后一个字符(当插入符号位于前一个字符时)不改变插入符号的位置。为了避免覆盖剪贴板值,可以使用一些自定义缓冲区,例如0x“0p”\ux