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

Zam*_*Zam 5 regex vim vim-plugin regex-greedy

有没有办法在某个乳胶命令(\ body)之前用大括号获取数据并将该内容(长文本)分配给变量.

例如:

\ text {只是身体前的文字}\body {包含很多段落等等等等,而且这些段落还包含很多乳胶命令,如\ textbf {my name}和\ textit {text}等,但我想要所有的内容在括号中}\text {只是身体后的文字}

我需要

\ body {包含很多段落等等,而且段落中还包含很多乳胶命令,比如\ textbf {my name}和\ textit {text}等,但我希望变量中的所有内容都在一个变量中

我想要一些搜索并替换它.这就是为什么

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

有没有简单的方法来做到这一点?

提前致谢

Mic*_*son 6

您可以将里面的东西的{注册a使用

"ayi{
Run Code Online (Sandbox Code Playgroud)

细分是

"a - select register a
y  - yank 
i{ - everything inside {}
Run Code Online (Sandbox Code Playgroud)

它匹配大括号是正确的

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

"ap    : paste register a in normal mode
<C-r>a : paste register a into command line
@a     : access register in script
Run Code Online (Sandbox Code Playgroud)

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