vim改变一个时期的最快方式是什么“。”箭头“ - >”?
我知道这听起来像挑剔的问题,这不是很重要,但它实际上证明是我的挫折源。vim改变一个时期的最快方式是什么“。”箭头“ - >”?
偶尔我会使用点运算符“。”。当我打算使用箭头“ - >”时,在指针类型上。为了解决这个问题,我通常需要改变2-3个点到箭头,但我似乎无法找到一种方法来做到这一点在vim中,我不需要大量的文本键盘的笔触改变。
例如,我可以这样做:
:lineNum,lineNum s/\<objectName\>\./->/g
但是,这是一个相当大量的输入,如果有只有2-3实例。
或者,我可以用jkhl
导航到各个时期,并做到:
r-a><ESC>
但五个击键每个人似乎挺折腾使用jkhl
后,发现所有的三个,还有精神上下文切换随着进入和退出插入模式这么快。
如何将点变为箭?你有没有找到一种更快的方法?
/\.<CR>
s-><ESC>
n.
n.
...等...
每个n
去没有您搜索的下一个表情,每.
重复使用箭头点的替换。根据需要混合并匹配ns和点。
首先搜索点的初始实例:/\.
。
请在一审替换光标放在需要更改的点,用小号,杀死当前字符并开始插入:s->
。
现在使用n找到下一个匹配,并重复最后一个命令的周期:。
如果您需要对点进行更具体的描述,那么您的搜索可能是:/objectName\./e
,将光标留在搜索结束处,但这样更有效。也许/ob/e+9
?
我喜欢这个想法,但它不起作用。首先,你需要搜索'\ /。',其次,当我使用'.'重复命令时,点不会被删除。我不知道为什么。我应该在'xi->'后打'
铢。重复只是插入,对不起 – pb2q 2012-07-10 16:02:38
可以映射例如键:
:map v :s/\./->/g^M
然后只需按该行的关键诉
视觉模式通常是非常有用的(取决于你如何使用vim)。我会使用'g.'来避免阻塞vim的功能,但映射的密钥显然可以达到OP。 – 2012-07-10 16:18:28
如果你正在使用vim,你可以添加键盘映射到你的〜/ .vimrc文件,是这样的:
map <F2> :lineNum,lineNum s/\<objectName\>\./->/g
那么当你在Vim中键入“F2”,将映射的命令出现,可在编辑参数之前编辑参数。
您可以在视觉模式下选择 - >并执行"ky
将其保存到寄存器k中,然后通过。并做x"kP
'x“kP'实际上需要'xh”kP' – 2012-07-10 16:04:33
用光标指针名称命中*
。这将找到指针的所有实例。
Then /<M-UP>\./e
将检索先前的搜索,追加.
并将光标放在.
上。
现在我们的搜索词只会发现问题.
s。
在第一个s-><ESC>
替换.
与->
的要求和n.
将解决所有其他事件
因为n.
用于经常我发现它有助于映射它,我用F3
map <F3> n.
我认为这也是一个很好的方法。但是,当我搜索'/ foo \ ./ \ e'时,我的光标不会放在给定文本'foo.bar()'的时间段内,而是放在'f'上。 – 2012-07-10 16:50:31
在'e'之前丢失反斜杠。我相信这是一个错误。 – 2012-07-10 16:53:46
是反斜杠是一个错字。应该现在工作得更好。 '/ e'将光标放在搜索词的末尾。 更多信息请参阅':help pattern' – 2012-07-10 20:44:04
@CoryKlein这就是我正在使用's'而不是'x'。 +1 – pb2q 2012-07-10 16:12:38
这可能会更有用,因为':%s /\./->/ gc' – Conner 2012-07-10 19:02:23
@Conner:是的,我同意,但OP在当地只需要2-3次更改。代替整个文件最终会产生大量的误报,并且确定要应用的行范围可能太像努力工作:) – 2012-07-11 08:15:11