我想选择多行直到一个确定的字符,如下图所示,此示例中的特殊字符为=
。
我尝试使用VIM ctrl + v /但不起作用。这就是示例:
global Tint=spettro.readlines()[3].split(",")[1]
global Average=spettro.readlines()[4].split(",")[1]
global Sensor_Mode=spettro.readlines()[6].split(",")[1]
global Case_Temperature=spettro.readlines()[7].split(",")[1]
global Sensor_Temperature=spettro.readlines()[8].split(",")[1]
答案 0 :(得分:2)
你不能在Vim。有块状视觉选择(通过<C-V>
),但这仅限于矩形块,期望进行选择(使用$
)到达所有被覆线的末端,其中有一个&#34;锯齿状的右边缘&#34;是可能的。
由于选择本身没什么价值,你可能想要做一些东西。有替代品,例如:substitute
或:global
个命令,其模式可选择最后一个=
:/^[^=]*/
要抓取文字,我会使用它(也有不同的方法;请注意,您需要调整getline()
内的范围):
:let @@ = join(map(getline(1, '$'), 'matchstr(v:val,"^[^=]*")'), "\n")
答案 1 :(得分:1)
试用vim-multiple-cursors插件。
然后,在这三行中选择:
/=<cr>
转到第一个'='<c-n>
启动多个游标模式<c-n>
创建一个新光标并跳转到第二个'='<c-n>
创建一个新光标并跳转到第三个'='ho0
选择'='删除和更改选择似乎工作正常。我不知道是否也可以做到。
答案 2 :(得分:1)
https://github.com/magnars/multiple-cursors.el
我没有玩过多少,但它可能会做你想要的。看视频。
你可以用正则表达式替换(也许是键盘宏)来实现你的最终目标,但你还没有说明最终目标是什么。通常最好问一下如何将一个代码块改为另一个代码块,而不是假设某种技术(例如多个选择)。