関数で 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
ます。エラーは最後の2行で発生すると思いました。しかし、私は解決策を見つけることができません。
やってみechoerr
ました。それは機能しますが、私が何であるかではありません。私は試しechomsg
てみecho
ました。しかし、うまくいきません。メッセージ出力なし。しかし、エラーメッセージは次のように表示されE20: Mark not set
ます。
さらに、エコー行全体を削除しても。同じエラーが再び表示されます。
VIM のバージョンは 7.0.237 です。