VI中调用自定义函数(如Do_CsTag)后,屏幕字符消失/白屏

关键字:.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!"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值