为何augroup中配置的:redraw!不生效,如何修复Vim-Airline状态栏显示异常
问题原因
原配置的问题在于,你将redraw!命令和source命令写在同一行且用引号包裹,Vim会把引号内的内容识别为source命令的附加参数,而非独立执行的重绘命令,因此自动重绘逻辑从未生效。
修正后的配置
augroup Vim autocmd! autocmd BufWritePost $MYVIMRC ++nested source $MYVIMRC <Bar> redraw! augroup END
- 配置说明:
<Bar>是Vim自动命令场景下分隔多个命令的标准写法,避免竖线被误识别为命令参数的一部分,两个命令会按顺序先后执行:先重载配置,再强制重绘界面。
如果上述配置仍未解决Airline的显示问题,可将redraw!替换为Airline插件自带的刷新命令AirlineRefresh,直接触发插件状态栏重新渲染,适配性更强:
augroup Vim autocmd! autocmd BufWritePost $MYVIMRC ++nested source $MYVIMRC <Bar> AirlineRefresh augroup END
内容的提问来源于stack exchange,提问作者Clark Kent
相关产品推荐
相关产品推荐

