我在使用函数更新 VIM 中的信息时遇到了麻烦。我的代码如下:
map <F4> :call UpdateTitle()<cr>'s
"Update the latest modification time and filename
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 copyright." | echohl None
endfunction
当我按下F4VIM 时,它确实有效。但它总是将错误消息显示为E20: Mark not set
. 我认为错误发生在最后两行。但我找不到解决方案。
我试过了echoerr
。它有效,但不是我什么。我一个人尝试echomsg
过echo
。但它不起作用。没有消息输出。但错误消息显示为E20: Mark not set
。
此外,即使我删除了整个回声线。同样的错误再次出现。
VIM 版本是 7.0.237。