如何处理 Vim 脚本中的错误?
在我的 .vimrc
文件中,我有以下函数,它将许可信息折叠在一些 .hpp
和 .cpp
文件的顶部:
" Skip license
function! FoldLicense()
if !exists("b:foldedLicense")
let b:foldedLicense = 1
1;/\*\//fold
endif
endfunction
au BufRead *.hpp call FoldLicense()
au BufRead *.cpp call FoldLicense()
这效果很好,但如果我打开一个 没有有任何许可信息块的 .cpp
文件,Vim 会抱怨该模式找不到。很公平,但是有没有办法让他在没有找到模式时停止抱怨并且什么都不做?
谢谢 !
编辑:完整的解决方案(使用布莱恩·罗斯的答案)
" Skip license
function! FoldLicense()
if !exists("b:foldedLicense")
let b:foldedLicense = 1
silent! 1;/\*\//fold
endif
endfunction
au BufRead *.hpp call FoldLicense()
au BufRead *.cpp call FoldLicense()
In my .vimrc
file, I have the following function, which folds the licensing information on the top of some .hpp
and .cpp
files:
" Skip license
function! FoldLicense()
if !exists("b:foldedLicense")
let b:foldedLicense = 1
1;/\*\//fold
endif
endfunction
au BufRead *.hpp call FoldLicense()
au BufRead *.cpp call FoldLicense()
This works well, but if I open a .cpp
file which doesn't have any licensing information block, Vim complains that the pattern is not found. Fair enough, but is there a way so that he stops complaining and just does nothing if the pattern is not found ?
Thanks !
Edit: complete solution (using Bryan Ross answer)
" Skip license
function! FoldLicense()
if !exists("b:foldedLicense")
let b:foldedLicense = 1
silent! 1;/\*\//fold
endif
endfunction
au BufRead *.hpp call FoldLicense()
au BufRead *.cpp call FoldLicense()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信这可能有效:
I believe this might work: