每次保存python文件时,我都有一个运行flake8
的函数。但是,如果完整文件名(完整路径)包含/.git/
,我不希望该函数运行。我怎样才能做到这一点?我尝试了以下但没有成功:
au BufWritePost */[^git]/*.py call s:MyFlake8()
答案 0 :(得分:3)
我会在MyFlake8
顶部进行提前检查,如果条件不满意则退出。
function! MyFlake8()
if expand("%:p") =~ "/\\.git/"
return
endif
echo "FLAKE8!"
endfunction
au BufWritePost *.py call s:MyFlake8()
答案 1 :(得分:2)
负文件globs很难实现,但你可以避免使用设置“忽略此”标记的正整数和另一个检查该标记的全局命令(按此顺序!)的问题:
au BufWritePost */.git/*.py let b:insideGit = 1
au BufWritePost *.py if ! exists('b:insideGit') | call s:MyFlake8() | endif