Vim字符串(双引号)运算符

p5fdfcr1  于 2023-10-20  发布在  其他
关注(0)|答案(2)|浏览(147)

我发现下面的Vim重新Map,它们可以完美地用于选择,删除,选择......括号或括号之间的所有内容

onoremap b i[|               
onoremap p i(|

我试着对字符串做同样的事情,但它不工作onoremap s i\"|
我试过Map到不同的键,以及使用omap没有成功。

pbgvytdp

pbgvytdp1#

首先,“onoremap”中的“re”和“no”一起变成了“nore”,“nore”是“non-recursive”的缩写,而不是“map”。因此,这些不是“重Map”,而是“Map”(或者不常见的“Map”,如果你真的想要的话)。
第二,我不知道你从哪里得到这些,但|似乎不是Map的一个组成部分。第一行末尾的空格使它看起来像是试图按照:help :map-comments处理内联注解,但您的示例不包括注解,所以这令人困惑。如果你没有一个明确的理由为这些|,你应该删除它们(并修复你的尾随空格问题):

onoremap b i[
onoremap p i(

第三,对双引号字符串做同样的事情很容易:

onoremap s i"

请注意,在这里,覆盖有用运动的风险很高。你已经在第一个Map(:help b)中这样做了,当你添加更多的文本对象“快捷方式”时,你可能会遇到其他情况。我觉得整个主意不太好。

wn9m85ua

wn9m85ua2#

这应该做的工作:

onoremap s i"

使用Vim 9.0测试

相关问题