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

时间:2013-01-24 10:29:09

标签: regex vim vim-plugin

我正在尝试编写一个vim语法文件,我正在处理的一个问题是vim的正则表达式语法与大多数其他语言不同(我认为称为“perl兼容正则表达式”,Python,JavaScript等主要用于相同的正则表达式语法)所以我不能使用正则表达式测试程序,如regexpal。

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

提前致谢。

编辑:我添加了Ingo Karkat对.vimrc的回复的修改版本:

nnoremap <F5> mryi":let @/ = @"<CR>`r

此版本还会将光标放回到按F5时的位置,并且丢失标记r的成本。

4 个答案:

答案 0 :(得分:5)

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

:let @/ = @"

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

:nnoremap <F5> yi":let @/ = @"<CR>

答案 1 :(得分:4)

使用vim来测试正则表达式。在/中输入vim即可搜索内容,搜索使用正则表达式。

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

答案 2 :(得分:2)

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

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

ý / 控制+ R 0 < / KBD> CR

说明:

y i - &gt;双引号"内的Yank / - &gt;打开搜索栏
Ctrl + R 0 - &gt;粘贴最后一个被嘲笑的文本

答案 3 :(得分:0)

你也可以尝试RegExr 它是学习RegEx并实时试用的好工具。