VIM 获取 E488 尾随字符

  • 本文关键字:字符 E488 获取 VIM vim
  • 更新时间 :
  • 英文 :


我尝试使用 F4 添加作者和其他一些信息。

但是当我打开 *.c 或其他文件(不是 *.sh)并按 F4 时,它将显示 E488 尾随字符。

此外,当尝试更新信息时,它符合未设置的 E20 标志。

还有更多问题,当我尝试使用 let suff = expand("%:e")获取java文件扩展名,然后if suff == "java"并发现suff不等于"java",为什么?

这是我的 vim 配置:

" Add Author Information
map <F4> :call TitleDet()<CR>'s
function AddTitle()
    call append(0,"/*========================================")
    call append(1,"#")
    call append(2,"# Author: xxx ")
    call append(3,"#")
    call append(4,"# Email: xxx@gmail.com")
    call append(5,"#")
    call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(7,"#")
    call append(8,"# Filename: ".expand("%:t"))
    call append(9,"#")
    call append(10,"# Description: ")
    call append(11,"#")
    call append(12,"======================================*/")
    call append(13,"");
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction

function AddShellTitle()
    call append(0,"#=========================")
    call append(1,"#")
    call append(2,"# Author: xxx")
    call append(3,"#")
    call append(4,"# Email: xxx")
    call append(5,"#")
    call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(7,"#")
    call append(8,"# Filename: ".expand("%:t"))
    call append(9,"#")
    call append(10,"# Description: ")
    call append(11,"#")
    call append(12,"#========================")
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
function UpdateTitle()
    normal m'
    execute '/# *Last modified:/s@:.*$@=strftime(": %Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/# *Filename:/s@:.*$@=": ".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction

function UpdateShellTitle()
    normal m'
    execute '/" *Last modified:/s@:.*$@=strftime(": %Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/" *Filename:/s@:.*$@=": ".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
function TitleDet()
    let n=1
    let suff = expand("%:e")
    while n < 10
        let line = getline(n)
        if suff != "sh"
            if line =~ '^#s*S*Lastsmodified:S*.*$'
                call UpdateTitle()
                return
            endif
        else
            if line =~ '^#s*S*Lastsmodified:S*.*$'
                call UpdateShellTitle()
                return
            endif
        endif
        let n = n + 1
    endwhile
    if suff != "sh"
        call AddTitle()
    else
        call AddShellTitle()
    endif
endfunction

从此行中删除尾随;

call append(13,"");

最新更新