如何在vim中查找和删除部分单词?
我是vim新手,我的拥抱文本文件如下:如何在vim中查找和删除部分单词?,vim,Vim,我是vim新手,我的拥抱文本文件如下: ZK792.6,ZK792.6(let-60),cel-miR-62(18),0.239 UTR3,IV:11688688-11688716,0.0670782 ZC449.3b,ZC449.3(ZC449.3),cel-miR-62(18),0.514 UTR3,X:5020692-5020720,0.355907 首先,我想删除所有偶数行(2,4,6…) 其次,我想从整个文件中删除(18)。例如: cel-miR-62(18)将是cel-miR-62
ZK792.6,ZK792.6(let-60),cel-miR-62(18),0.239
UTR3,IV:11688688-11688716,0.0670782
ZC449.3b,ZC449.3(ZC449.3),cel-miR-62(18),0.514
UTR3,X:5020692-5020720,0.355907
首先,我想删除所有偶数行(2,4,6…)
其次,我想从整个文件中删除(18)。例如:
cel-miR-62(18)将是cel-miR-62
第三:如何删除所有括号,包括括号内的括号?
有人能帮我吗 对于第一个:
:g/[02468]\>/d
其中:g
通过正则表达式在斜杠之间匹配所有行,并在匹配行上运行d
(删除行)。正则表达式非常容易阅读,唯一有趣的符号可能是\>
,它匹配单词的结尾
关于第二个问题:
:%s/\V(18)//g
其中,%
是表示“文件的所有行”的规范,s
是替换命令,\V
设置正则表达式的“非常正常”模式(不确定默认值是什么,您可能不需要它),最后的g
使vim替换每行上的所有出现(使用空字符串,斜杠之间的字符串)。确保:set gdefault?
打印nogdefault
(默认设置为gdefault
),否则,从替换命令中删除最后的g
。对于第一个:
:g/[02468]\>/d
其中,:g
通过正则表达式匹配斜杠之间的所有行,并在匹配行上运行d
(删除行)。正则表达式非常容易阅读,唯一有趣的符号可能是匹配单词结尾的\>
关于第二个问题:
:%s/\V(18)//g
其中,%
是表示“文件的所有行”的规范,s
是替换命令,\V
设置正则表达式的“非常正常”模式(不确定默认值是什么,您可能不需要它),最后的g
使vim替换每行上的所有出现(使用空字符串,斜杠之间的字符串)。确保:set gdefault?
打印nogdault
(默认设置为gdefault
),否则,从替换命令中删除最后的g
注意:第三个答案中的模式是非贪婪匹配。是否要删除第二行(行号2、4、6,…)或包含偶数的所有行?行号2、4、6..,也许您可以帮助删除第三行。是否要删除第二行(行号2、4、6,…),或所有包含偶数的行?行数2、4、6..,也许您可以帮助处理第三行。
:%s/(.\\{-})//g