如何解决为什么vim返回E488:将字符拖到我的函数中?
保存时,我试图执行yapf命令来格式化我的python文件,所以我创建了一个函数来调用此命令:
function Format_python_file()
silent :!yapf --style="{based_on_style: pep8,indent_width: 4}" -i %
silent :e %
endfunction
autocmd BufWritePost *.py call Format_python_file() <afile>
解决方法
问题出在您的autocmd
行,您的行尾有<afile>
。
实际上,我所看到的消息非常明确:
Error detected while processing BufWritePost Autocommands for "*.py":
E488: Trailing characters: <afile>
您应该删除<afile>
,该函数本身已在当前缓冲区上运行,不需要任何参数或对当前文件的其他引用。
还请注意,将autocmd
放入首先清除的augroup
内是一个好习惯。这样,如果您重新加载源文件(vimrc或其他文件),它将不会创建重复的autocmd
。
设置此autocmd
的更简洁的方法是:
augroup python_yapf
autocmd!
autocmd BufWritePost *.py call Format_python_file()
augroup END
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。