编程论坛
注册
登录
编程论坛
→
Linux教室
初学vim, 如何快速删除/替换此类文本
lonmaor
发布于 2012-01-15 21:38, 1419 次点击
只有本站会员才能查看附件,请
登录
如图,是c.vim插件的\ss命令插入的部分文本,请问如何快速删除/替换?
对象就是那些反白部分的文本
[
本帖最后由 lonmaor 于 2012-1-15 21:39 编辑
]
6 回复
#2
静夜思
2012-01-15 22:09
假设要把
<-LABEL->
替换成
bccn
%s/<-LABEL->/bccn/g
也支持正则替换
%s/<-.*->/bccn/g
删除的话直接换成空内容就可以了
%s/<-LABEL->//g
推荐一个Vim便利贴,上面都是一些vim的小贴士
http://tip.
#3
lonmaor
2012-01-15 22:36
回复 2楼 静夜思
谢谢,我以为将鼠标移动到反白开始处能够用一个简单的类似于dd的命令就可以删除该处文字并留空呢。
或者换一种说法,那种反白的文字是如何在vim中输入的呢? 类似于word中的超链接之类?
[
本帖最后由 lonmaor 于 2012-1-15 22:41 编辑
]
#4
静夜思
2012-01-15 23:16
主贴里这种情况不清楚
一般搜索的关键词都用反白显示,比如/abc会把文本中所有的abc反白
#5
pangding
2012-01-18 14:28
我没用过你说的那个插件。所以也不是很清楚那个命令是不是有什么其它的便捷用法。
一般来说,如果你手动改的话,移动到 <-LABLE-> 的 < 处(比如用 /<-LABLE->) 然后用 ct: 就可以。
ctx 表示修改从光标直到x之间的内容(助记符是 change tile x)。然后可以用 n 跳到下一个。
其实直接反白了很可能是那个插件有意设了搜索串为 <-LABLE->,好方便你用 n N 之类的指令来跳转。你用一个
:nohl
如果那个反白没了,就是这种情况。
vim 一般只用来编辑文本,不处理富文本的内容。如果光标下的东西确实是超链接,可以用 gf 或者 <C-w><C-f> 这样的指令来跟踪那个链接(助记符是 goto file)。
[
本帖最后由 pangding 于 2012-1-18 14:36 编辑
]
#6
pangding
2012-01-18 14:35
如果你想用命令的方式来改,那么可以先
vi{
把那个 switch 块选中,再
:s/<-LABEL->/\=input("")/
会只对选中区域执行替换。
然后你可以依次输入你想要替换的东西。
比如你想把那个 <-LABEL-> 替换成 1, 2, 3 就 1 回车,2 回车,3 回车 就行了。
不过直到你打完,都不会刷屏。所以在执行完之前看上去好像没什么作用。
我姑且想到的,没准也有什么其它的好方法能做这个事。
#7
easyknow
2012-02-03 18:19
ctrl + j 就可已跳到<-LABEL->位置上.
1