我在转换具有以下内容的文档时遇到问题:
这位作者{john,#99}说...... ... bla bla其他作者提到{barlic,#1508} ......
我希望vim将其转换为:
这位作者\ cite {latexref99}说... ... bla bla其他作者提到\ cite {latexref1508} ...
知道怎么做吗?还有如何恢复到:
这位作者{,#99}说......其他作者提到了{,#1508} ...
答案 0 :(得分:1)
转换为:
:%s/{[^#]*#\(\d\+\)}/\\cite{latexref\1}/g
转换回来:
:%s/\\cite{latexref\(\d\+\)}/{,#\1}/g
答案 1 :(得分:0)
你不需要一个可以使用sed的插件:
sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' < file.tex >new_ref.tex
您也可以将其映射到vim中的快捷方式
nmap n :%w ! cat % \| sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' > % <CR>