最简单的方法来测试vim正则表达式?

sin*_*nan 9 regex vim vim-plugin

我正在尝试编写一个vim语法文件,我正在处理的一个问题是vim的正则表达式语法与大多数其他语言不同(我认为一个名为"perl兼容正则表达式",Python,JavaScript等使用大多数相同的正则表达式语法)所以我不能使用像regexpal这样的正则表达式测试程序.

尝试vim正则表达式的最简单方法是什么?理想情况下我想要的是两个分割,一个是我写vim正则表达式,另一个是文本,匹配的部分应该突出显示.

提前致谢.

编辑:我添加了Ingo Karkat的修改版本的答案.vimrc:

nnoremap <F5> mryi":let @/ = @"<CR>`r
Run Code Online (Sandbox Code Playgroud)

此版本还将光标放回到按下F5时的位置,以及丢失标记的成本r.

Ing*_*kat 7

在Vim这样做.对于语法文件,您经常处理start="^begin"内容.将正则表达式通过yi",然后通过以下方式突出显示:

:let @/ = @"
Run Code Online (Sandbox Code Playgroud)

当然,如果您经常需要这个,请将其绑定到映射(并且:set hlsearch),如:

:nnoremap <F5> yi":let @/ = @"<CR>
Run Code Online (Sandbox Code Playgroud)


Mat*_*yra 5

使用vim测试正则表达式。通过键入/vim你可以搜索的东西,搜索使用正则表达式。

有关语法的帮助,请查看vimregex


Tom*_*ann 5

我们可以在 Ex 模式或搜索模式下通过按Ctrl+R,然后按要粘贴的寄存器来访问 Vim 的寄存器。

根据您的情况,我们可以使用它来复制我们想要测试的文本,然后将其粘贴到我们的搜索中。

yi"/Ctrl+R0CR

解释:

yi"-> 在双引号内复制"
/-> 打开搜索字段
Ctrl+R0-> 粘贴最后复制的文本