你怎么在vim中抽出X个字符?

Cor*_*ein 54 vim

我知道我可以通过键入在vim中剪切5个字符5x,我经常使用它来复制和粘贴文本,5xu然后将它们粘贴到其他地方.

我很懒,宁愿只抽5个字,所以我不必撤消剪切动作.

我怎样才能做到这一点?

voi*_*hos 84

Yank支持标准移动命令.使用y5l(< - 这是一个小写的L)

如果你想向后猛拉5个字符,请使用y5h.

现在,如果您感觉非常懒,请将此特定序列重新映射为键组合,如下所示:

:nnoremap <C-l> y5l
Run Code Online (Sandbox Code Playgroud)

在这种情况下,"向右猛拉5"被映射到Ctrl+ L(小写L).


如果你愿意,你也可以使用Space而不是L向前移动字符(例如:ySpace单个字符或5ySpace5).有些人可能会发现它比击球更快或更容易L.


bol*_*lov 11

这补充了voithos的答案:

您也可以使用5ySpacey5Space(ty @hauleth作为建议)

这对我很有用,特别是当我想要只抓一个角色时:

ySpace

更容易(至少对我来说)找到和命中Spacel.

  • y+空格对于复制单个字符非常有用。您应该编辑 voithos 的答案以包含该内容。 (2认同)

zun*_*arz 9

发现这个帖子是因为我也想拉x不剪切的情况下猛拉数字字符,并在测试时学到了这一点。

有时,查找某些字符可能比计算要复制的字符数更容易。

输入动议tT

认为ytxyank forward to character x

认为yTxyank backward to character x

在此输入图像描述