我正在尝试编写一个vim语法文件,我正在处理的一个问题是vim的正则表达式语法与大多数其他语言不同(我认为称为“perl兼容正则表达式”,Python,JavaScript等主要用于相同的正则表达式语法)所以我不能使用正则表达式测试程序,如regexpal。
尝试vim正则表达式最简单的方法是什么?理想情况下我想要的是两个分割,一个是我写的vim正则表达式,另一个是文本,匹配的部分应该突出显示。
提前致谢。
编辑:我添加了Ingo Karkat对.vimrc
的回复的修改版本:
nnoremap <F5> mryi":let @/ = @"<CR>`r
此版本还会将光标放回到按F5时的位置,并且丢失标记r
的成本。
答案 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并实时试用的好工具。