Vim自动命令生成E488:尾随字符

Kun*_*ngi 5 vim

我正在尝试将以下自动命令插入到Vim中:

autocmd BufEnter *.c :call SourceTagsVim()<CR>

function! SourceTagsVim()
let s:fname = expand('<afile>:p:h') . 'tags.vim'
    if filereadable(s:fname)
        exe 'so ' . s:fname
    else
        echo s:fname " could not be read"
    endif
endfunction
Run Code Online (Sandbox Code Playgroud)

但是vim一直告诉我以下错误信息:

Error detected while processing BufEnter Auto commands for "*.c":
E488: Trailing charcters
Run Code Online (Sandbox Code Playgroud)

但自动命令执行正常.我知道我做错了什么.我还在我的vimrc上使用了dos2unix来确保正确的行结尾.

感谢你的帮助,安德烈亚斯

Pet*_*ker 10

您不需要:<cr>as as autocommands执行命令.

autocmd BufEnter *.c call SourceTagsVim()
Run Code Online (Sandbox Code Playgroud)