在Vim中使用全局变量定义的值之间的文本

时间:2015-03-15 18:53:20

标签: vim

以下命令将##' s分隔的文本拉出并保存到缓冲区a

:?##?;/##/y a

这将查找分隔符的前一次和下一次出现。但我想将其概括为任何分隔符。我在考虑用

定义一个变量

let g:delimiter = "#another_delimiter"

但我不知道如何访问该值以执行类似

的操作

:?\=g:delimiter?;/\=g:delimiter/y a

你们有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果您在命令行中执行此操作,则可以使用<C-r>=variable插入变量的值:

:?<C-r>=g:delimiter<CR>?,/<C-r>=g:delimiter<CR>/y a

如果您在脚本中执行此操作,则应使用字符串连接:

execute ":?" . g:delimiter . "?,/" . g.delimiter . "/y a"