value(val_1)
value(val_100)
value(val_10)
我想在括号中选择文本并为多行做一行,对于一行,我可以使用 f ( v a (但我不知道如何选择其余2行。
编辑(解决方案)
我想要的是更改每个行中带有唯一文本的括号内的文本,首先,我想要选择文本,删除它然后手动更改文本,@ rosipov告诉有一个插件来做选择部分和这很棒,但是@romainl给了我另一个方向也可以。
f(ci(foo<Esc>jci(bar<Esc>jci(baz<Esc>
答案 0 :(得分:2)
你想选择这个:
value([val_1])
value([val_100])
value([val_10])
或选择:
value([val_1)]
[value(val_100)]
[value(val_10])
遗憾的是第一个不可行。但是,根据您对所选文本的处理方式,更改它,例如,合理的近似值为:
f(l<C-v>jj$cnew value)<Esc>
但是我确信很多Vimmers可能会通过替换解决问题:
:,+2s/(.*/(new value)
第二种方法只需:
f(lv3/)h
或
f(ljjt)
答案 1 :(得分:1)
在这种情况下,您可能会对EasyMotion插件感兴趣:https://github.com/Lokaltog/vim-easymotion
使用插件时,它将是: f ( v Leader Leader < KBD>˚F ) C
Or: Leader Leader f ( a v < / KBD> 导 导 ˚F ) C
其中 c 是代表第三个右括号的字母, a 代表第一个开头p。
编辑:如果没有插件,可以按行号进行操作。
假设您使用第1-3行: f ( v 3 G < / KBD> ˚F )
其中 3 G 代表“转到第3行”,在视觉和普通模式下都有效。