我知道这听起来像是一个不太重要的挑剔问题,但事实证明这对我来说是一种挫败感。
偶尔我会使用点运算符“。”当我打算使用箭头“ - >”时指针类型。为了解决这个问题,我通常只需要将2-3个点更改为箭头,但我似乎无法在vim中找到一种方法来执行此操作,因为我不会对文本的数量进行相对大量的击键操作。变化
例如,我可以这样做:
:lineNum,lineNum s/\<objectName\>\./->/g
但如果只有2-3个实例,那就是打字很多。
或者,我可以使用jkhl
导航到每个时段,并执行:
r-a><ESC>
但是使用jkhl
找到所有这三个键后,每个键盘的五次击键似乎都是折磨,以及进入和退出插入模式的心理上下文切换如此之快。
你如何将你的点变成箭头?你找到了一种更快的方法吗?
答案 0 :(得分:6)
/\.<CR>
s-><ESC>
n.
n.
...等......
每个n
都不会搜索您搜索的下一个表达式,并且每个.
都会用箭头重复替换该点。根据需要混合和匹配ns和点。
答案 1 :(得分:4)
您可以映射一个键,例如:
:map v :s/\./->/g^M
然后按下那一行的按键v。
答案 2 :(得分:1)
首先搜索点的初始实例:/\.
。
使用 s 将光标放在需要更改的点上的第一个实例上进行替换,这将取消当前字符并开始插入:s->
。
现在使用 n 查找下一个匹配项,并使用句点重复上一个命令:。
如果您需要更具体地说明这些点,那么您的搜索可能是:/objectName\./e
,将光标留在搜索的末尾,但这更像是打字。也许是/ob/e+9
?
答案 3 :(得分:1)
如果您使用的是vim,则可以将键盘映射添加到〜/ .vimrc文件中,例如:
map <F2> :lineNum,lineNum s/\<objectName\>\./->/g
然后当您在vim中键入“F2”时,会出现映射的命令,您可以在触发之前编辑参数。
答案 4 :(得分:1)
将指针名称上的光标命中为*
。这将找到指针的所有实例
然后/<M-UP>\./e
将检索上一个搜索,追加.
并将光标放在.
上。
现在我们的搜索字词只会找到问题.
s
在第一个s-><ESC>
上,.
根据请求替换->
,n.
将修复所有其他事件
由于我经常使用n.
,因此我发现映射它很有帮助,我使用F3
map <F3> n.
答案 5 :(得分:0)
您可以选择 - &gt;在可视模式下,执行"ky
将其保存到寄存器k中然后重新执行。并做x"kP