运行 如果完整文件名不包含模式则自动命令
Run autocommand if full file name does not include pattern
每次保存 python 文件时,我都有一个 运行 flake8
的功能。但是,如果完整文件名(完整路径)包含 /.git/
,我不希望该函数为 运行。我怎样才能做到这一点?我尝试了以下但没有成功:
au BufWritePost */[^git]/*.py call s:MyFlake8()
我会在 MyFlake8
顶部进行早期检查,如果不满足条件则退出。
function! MyFlake8()
if expand("%:p") =~ "/\.git/"
return
endif
echo "FLAKE8!"
endfunction
au BufWritePost *.py call s:MyFlake8()
负文件 glob 很难实现,但您可以通过设置 "ignore this" 标记的正 glob 和检查该标记的另一个全局命令(按此顺序!)来避免此问题:
au BufWritePost */.git/*.py let b:insideGit = 1
au BufWritePost *.py if ! exists('b:insideGit') | call s:MyFlake8() | endif
每次保存 python 文件时,我都有一个 运行 flake8
的功能。但是,如果完整文件名(完整路径)包含 /.git/
,我不希望该函数为 运行。我怎样才能做到这一点?我尝试了以下但没有成功:
au BufWritePost */[^git]/*.py call s:MyFlake8()
我会在 MyFlake8
顶部进行早期检查,如果不满足条件则退出。
function! MyFlake8()
if expand("%:p") =~ "/\.git/"
return
endif
echo "FLAKE8!"
endfunction
au BufWritePost *.py call s:MyFlake8()
负文件 glob 很难实现,但您可以通过设置 "ignore this" 标记的正 glob 和检查该标记的另一个全局命令(按此顺序!)来避免此问题:
au BufWritePost */.git/*.py let b:insideGit = 1
au BufWritePost *.py if ! exists('b:insideGit') | call s:MyFlake8() | endif