我知道在vim中可以通过输入5x
来删除5个字符,而且我经常使用这个方法通过5xu
来复制和粘贴文本。
但是我懒得去撤销刚刚的剪切操作,所以我更想直接复制这5个字符。
我该怎么做呢?
我知道在vim中可以通过输入5x
来删除5个字符,而且我经常使用这个方法通过5xu
来复制和粘贴文本。
但是我懒得去撤销刚刚的剪切操作,所以我更想直接复制这5个字符。
我该怎么做呢?
Yank命令支持标准的移动命令。使用y5l(这是小写字母 L)来复制光标后的 5 个字符。
如果您想向后复制 5 个字符,请使用y5h。
现在,如果您感到非常懒惰,可以将此特定序列重新映射为一个键组合,方法如下:
:nnoremap <C-l> y5l
在这种情况下,“向右拽5个”被映射为Ctrl+L(小写的L)。
v
进入可视模式,开始选择,然后使用正常的移动键移动光标,最后按下 y
进行复制。 - voithos这是对 voithos 答案的补充:
你也可以使用 5 y 空格或y5空格 (感谢 @hauleth 的建议)
对我来说,当我只想yank一个字符时,这很有用:
y空格
比敲击l键更容易(至少对我来说)。
y5
可以实现。 yy
复制行,y
复制字符。
y5
是一个不完整的动作,对吗?你需要指定5个什么。向右移动五个字符? y5l
向左移动五个字符? y5h
等等。 - voithos
x
只是dl
的快捷方式。 - Neil5xu
)实际上并没有比“技术上正确”的y5l
使用更多的按键,所以帮助不是太大。 - voithos