vim块选择的问题

2013-03-15 18:32:58 +08:00
 ufo22940268
<code>
String a = "b";$
String b = "cccccc";$
String c = "a";$
</code>

类似于上面这样的文本,我需要块选择3个string. 换句话说我的操作方法是CTRL+V + move. 可是因为string c太短了,我选择的块没法覆盖String b后面那几个cccc,这个问题该如何解决呢?

我之前的解决方法是在String c后面加上一窜空格,然后再选择,不过总感觉太麻烦了。
4022 次点击
所在节点    Vim
12 条回复
wenbinwu
2013-03-15 18:38:29 +08:00
shift + v ?
alexrezit
2013-03-15 18:39:46 +08:00
你是想选到第三行之后按 $ 么?
Channing
2013-03-15 18:54:28 +08:00
你具体想做什么操作?Ctrl+V在这种情况下未必是最佳选择。
ufo22940268
2013-03-15 18:54:50 +08:00
@alexrezit 不好意思,我不是很明白您的意思
那个$其实是看不见的字符,在vim里面的正确的表示方法应该是^M吧,我只是表示第三行后面没有空格了。

然后我移动到第三行之后选到最后,却发现第二行后面那几个c没法被选到
ufo22940268
2013-03-15 18:55:39 +08:00
@wenbinwu 因为我不想选择最后的那个回车,所以shift+v不能满足我的要求
alexrezit
2013-03-15 19:07:31 +08:00
@ufo22940268
对啊按 $ 不就到最后了么?
ufo22940268
2013-03-15 19:21:50 +08:00
@alexrezit 果然,厉害
skf1985
2013-03-15 19:24:23 +08:00
@alexrezit
正解,ctrl v 包住选择块的起始,然后$一下,不管多参差不齐的行都全部选中了
又学了一招~
clowwindy
2013-03-16 18:57:36 +08:00
VJJ$
zaeneas
2013-03-17 15:02:43 +08:00
https://github.com/coderifous/textobj-word-column.vim

这个插件提供了很好用的两种text-object
然后vic就可以了

text-object可谓是vim神器之一
zaeneas
2013-03-17 15:05:37 +08:00
抱歉,我刚才把需求理解错了.....
无视我的上一个post吧
ufo22940268
2013-03-17 16:15:31 +08:00
@zaeneas 这货这么凶残真的可以吗,有空有心情的时候试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/63044

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX