求助:如何find&replace复杂表达式

Vim、Emacs配置和使用
回复
snowyandrain
帖子: 32
注册时间: 2007-03-21 17:26

求助:如何find&replace复杂表达式

#1

帖子 snowyandrain » 2010-01-27 21:05

问题:
小弟的一篇latex文章种有这样一种格式: \mathbf{A}^{B}_{C}
后鉴于修改的目的,我需要将其变成 \mathbf{A}^{B}_\text{C}
鉴于之后输入过于繁琐,我自定义了命令使用 \mbdtx{A}{B}{C}替代 \mathbf{A}^{B}_\text{C}
其中 A, B, C 为任意字符或字符串!!
我希望在已经编辑好的文件中,用vim实现查找替换 将\mathbf{A}^{B}_{C}全部替换成 \mbdtx{A}{B}{C}
请问如何在vim中实现?
谢谢
头像
anticlockwise
帖子: 2394
注册时间: 2007-03-01 20:46
来自: 湖南长沙

Re: 求助:如何find&replace复杂表达式

#2

帖子 anticlockwise » 2010-01-27 21:23

用sed其实最方便,如果你用的是LINUX的话:

代码: 全选

sed -r "s/\\mathbf\{([^}]+)\}\^\{([^}]+)\}_\{([^}]+)\}/\\mbdtx{\1}{\2}{\3}/g"
snowyandrain
帖子: 32
注册时间: 2007-03-21 17:26

Re: 求助:如何find&replace复杂表达式

#3

帖子 snowyandrain » 2010-01-27 22:59

谢谢楼上的大侠,问题解决,参照你的命令,我使用了
sed -r 's/\\mathbf{\([^}]\)}^{\([^}]\)}_{\([^}]\)}/\\mbdtx{\1}{\2}{\3}/g'
修改成功
谢谢
回复