Gvim中的文字消失了

时间:2011-12-21 22:29:02

标签: ubuntu vim

我在Ubuntu上使用GVim已经有很长一段时间了。在标签之间切换时,我经常会注意到问题。在标签之间切换后,有时不会渲染线条。如果我按下ctrl + l,将重绘选项卡中的内容并正确呈现缺失的行。我想我可以在我的.vimrc中编写一个函数,在我切换标签后自动运行ctrl + l,但我觉得我只是避免了问题,而不是修复底层问题。

  • Ubuntu 11.10
  • GVim 7.3
  • .vimrc:set guifont=Inconsolata\ 12

我一直在使用不同版本的Ubuntu和不同的gui字体设置问题。我很想听到任何人有任何想法可以帮助我解决这个问题。

这些是我用来切换标签的功能:

function TabLeft()
   let tab_number = tabpagenr() - 1
   if tab_number == 0
      execute "tabm" tabpagenr('$') - 1
   else
      execute "tabm" tab_number - 1
   endif
endfunction

function TabRight()
   let tab_number = tabpagenr() - 1
   let last_tab_number = tabpagenr('$') - 1
   if tab_number == last_tab_number
      execute "tabm" 0
   else
      execute "tabm" tab_number + 1
   endif
endfunction

map <silent><C-S-PageUp> :execute TabRight()<CR>
map <silent><C-S-PageDown> :execute TabLeft()<CR>

2 个答案:

答案 0 :(得分:5)

我在Ubuntu上看过字体渲染故障。我的解决方法是使用'textmode'样式选项卡,请参阅guioptions。

以下是我的首选设置:

:se guioptions=agim

请注意

  • 我可能想象的东西,但似乎也很快乐
  • 导致更多屏幕空间进行编辑
  • 上述设置还会删除所有滚动条(谁需要滚动条?)

要更改标签标题样式,请尝试,例如

:se guioptions-=e

答案 1 :(得分:0)

我从未见过:execute被用来调用函数(我认为它是来自其他脚本语言的Vim版eval())。尝试将:execute TabRight()<CR>更改为:call TabRight()<CR>,看看是否有帮助。