关键字:.vimrc, call Do_CsTag(),silent! execute "!ctags -R --c-types=+p"
如果你在vimrc文件中某个函数里(如Do_CsTag()函数)使用了:
silent execute
或者 silent! execute
则在vim中调用Do_CsTag()函数后,屏幕像被clear了一样所有字符都消失了,打开的代码也不见了。上下移动光标或许也刷出一些原来的代码,退出再进vim则又正常了。
问题出在silent函数上,你可以尝试去掉silent和silent!,则解决字符消失的问题。但新问题是每个excute命令后都要你按键确认,如果你的函数中调用了N次excute,这简直让人疯掉。
还有一种用call system(' your commands ')来替代silent! execute " your commands "的方案,不过据说使用system命令会禁掉屏幕的scrapped(废弃?)功能,因而不推荐采纳。
推荐的解决办法是在调用Do_CsTag()或你的函数后在vim 中执行:
: redraw!
消失的字符又回来了。
当然,更好的办法是把这个命令插到出问题的那个函数体的最后一句的位置上:
execute "redraw!"