如何将大括号中的文本分配给 vim 中的变量

How to assign text with in braces into variable in vim

有什么方法可以在某个乳胶命令 (\body) 之前用大括号获取数据,并将该内容(长文本)分配给变量。

例如:

\text{just a text before body} \body{contains lot of paragraphs etc etc etc, and that paragraphs also contains lot of latex command like \textbf{my name} and \textit{text} etc. but i want all the content with in the brace} \text{just a text after body}

我需要

\body{contains lot of paragraphs etc etc etc, and that paragraphs also contains lot of latex command like \textbf{my name} and \textit{text} etc. but i want all the content with in the brace} in a variable

我想要一些搜索和替换。这就是为什么

我做了一个宏,在 % 的帮助下用大括号拉出文本(用大括号搜索)。

有什么简单的方法可以做到这一点吗?

提前致谢

您可以分配 { 中的所有内容以使用

注册 a
"ayi{

细分为

"a - select register a
y  - yank 
i{ - everything inside {}

它可以正确匹配大括号

如果您以后需要访问 a 的内容,您可以根据上下文以多种不同的方式执行此操作 - 我认为这些方式是

"ap    : paste register a in normal mode
<C-r>a : paste register a into command line
@a     : access register in script

值得注意的是,正则表达式不够强大,无法匹配大括号。 (我认为有一些扩展可以使它足够强大,但我不确定 vim 是否支持其中任何一个),