例如:忘记在
keywords = {about}
之后添加逗号,这意味着我不得不花时间调试。 Vim有什么办法可以让我记住?顺便说一下,我有bib_autocomp.vim插件... #1 楼
快速而肮脏的解决方案::match Error /^\s\+.*,\@<!\ze\n\s\+\w/
您也可以使用相同的模式为BibTeX文件创建特殊的语法。
使用过的一些解释正则表达式:
^\s\+
搜索缩进的关键字。\ze
停止模式匹配,以便不标记下一行。,\@<!\n
搜索不以逗号结尾的行。\n\s\+\w
保证当前正在扫描的行之后有一个新条目。可以使用相同的模式用于使用
vimgrep
在错误的行之间跳转,如下所示::vimgrep /^\s\+.*,\@<!\ze\n\s\+\w/ %
如果快速修复窗口未自动打开,则可以使用
:copen
打开它。并且:cnext
和:cprevious
可用于在错误之间跳转。评论
很好!当我按n时,是否可以使它跳到下一个错误?
–克里斯蒂安(Kristian Nordestgaard)
15-10-25在14:56
我已经更新了答案,以包括您的要求。看看是否适合您。
–游客
15-10-25在19:38
#2 楼
一种可能性是定义一个.vimrc
快捷方式以添加缺少的,
。 评论
不为我工作?我得到E10:\应该跟/ ,?或&24,1 60%,但也许我做错了吗?
–克里斯蒂安(Kristian Nordestgaard)
15-10-25在14:55
@KristianNordestgaard,在.vimrc中,必须删除初始的“:”。请尝试映射\ q:%s / \ v([}“])(\ s * \ n \ s * \ S + \ s * \ =)/ \ 1,\ 2 / e
– JJoao
2015年10月25日在17:31
评论
这不是我所知道的,但是您可以尝试使用以下方法修复它::%s / [^,] \ zs \ ze \ n \ s * [^}] /,/ ..