我在vim中调整了我的状态线,并开始喜欢它。我使用autosession.vim所以当我重新打开时,我打开了相同的文件,但状态行丢失了所有颜色设置。如果我擦除缓冲区并重新打开,颜色会回来(或者,如果我来源〜/ .vimrc)。 我做错了什么或只是缓冲区的性质,重新开启会话后状态线会丢失颜色设置?图片如下:
值得一提的是我在ArchLinux上使用gvim。
答案 0 :(得分:2)
当会话恢复时,由于:syntax on
命令,您的自定义突出显示可能会丢失。除了定义您的自定义突出显示之外:
:hi User1 guibg=Blue
添加一个可以恢复它们的autocmd:
:autocmd ColorScheme * hi User1 guibg=Blue
答案 1 :(得分:1)
为了解决此问题,请为.vimrc添加以下用户颜色:
autocmd SessionLoadPost * hi User1 guifg=#112005 guibg=#009099
SessionLoadPost在加载会话文件后触发,并重新激活您的自定义颜色。
答案 2 :(得分:0)
您可以通过执行
调试覆盖状态行设置的内容:verbose set statusline?
这将告诉您最后设置的值
statusline=.....
Last set from C:\Program Files\Vim\_vimrc
答案 3 :(得分:0)
.vimrc
的源代码,这样您就可以将所有的见解回去了。
打开您的Shell配置文件(.bashrc
或.zshrc
等)并编写此函数:
vims() {
vim -S "$1" -c 'source ~/.vimrc'
}
保存并获取Shell配置文件(或重新启动Shell)后,您将始终能够使用以下命令打开vim会话...
vims mysession.vim
...完成了! :)