在VIM中转换和还原尾注{author,#XXX}引用?

在VIM中转换和还原尾注{author,#XXX}引用?,vim,plugins,Vim,Plugins,我在转换具有以下内容的文档时遇到问题: 这位作者{john,#99}说。。。 ... 布拉布拉另一位作者提到{barlic,#1508} 我希望vim将其转换为: 这位作者引用{latexref99}说。。。 ... bla bla另一位作者提到\cite{latexref1508} 你知道怎么做吗?但如何恢复到: 这位作者说。。。布拉布拉另一位作者提到{,#1508} 您不需要可以使用sed的插件: sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\

我在转换具有以下内容的文档时遇到问题:

这位作者{john,#99}说。。。 ... 布拉布拉另一位作者提到{barlic,#1508}

我希望vim将其转换为:

这位作者引用{latexref99}说。。。 ... bla bla另一位作者提到\cite{latexref1508}

你知道怎么做吗?但如何恢复到:

这位作者说。。。布拉布拉另一位作者提到{,#1508}


您不需要可以使用sed的插件:

sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' < file.tex >new_ref.tex
sed-e的/{[^}]*\\\\\\\\([0-9]*\)}/\\cite\{latexref\1\}/g'new\u ref.tex
您还可以将其映射到vim中的快捷方式

nmap n :%w ! cat % \| sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' > % <CR>
nmap编号:%w!cat%\\\sed-e的/{[^}]*\\\\\\\([0-9]*\)}/\\cite\{latexref\1\}/g'>%
转换为:

:%s/{[^#]*#\(\d\+\)}/\\cite{latexref\1}/g
转换回:

:%s/\\cite{latexref\(\d\+\)}/{,#\1}/g

乳胶相关问题最好发布在。我已将此标记为迁移。@彼得格里尔我认为这与乳胶无关