Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu Gvim中的文本消失_Ubuntu_Vim - Fatal编程技术网

Ubuntu Gvim中的文本消失

Ubuntu Gvim中的文本消失,ubuntu,vim,Ubuntu,Vim,我在Ubuntu上使用GVim有一段时间的字体渲染问题。在选项卡之间切换时,我经常注意到这个问题。在选项卡之间切换后,有时不会渲染线。如果我按ctrl+l,选项卡中的内容将被重新绘制,缺少的行将正确呈现。我想我可以在我的.vimrc中编写一个函数,在切换选项卡后自动运行ctrl+l,但我觉得我只是在避免问题,而不是解决根本问题 Ubuntu 11.10 GVim 7.3 .vimrc:set guifont=incolata\12 长期以来,我一直在使用不同版本的Ubuntu和不同的gui字

我在Ubuntu上使用GVim有一段时间的字体渲染问题。在选项卡之间切换时,我经常注意到这个问题。在选项卡之间切换后,有时不会渲染线。如果我按ctrl+l,选项卡中的内容将被重新绘制,缺少的行将正确呈现。我想我可以在我的.vimrc中编写一个函数,在切换选项卡后自动运行ctrl+l,但我觉得我只是在避免问题,而不是解决根本问题

  • Ubuntu 11.10
  • GVim 7.3
  • .vimrc:
    set guifont=incolata\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>
函数TabLeft()
设tab_number=tabpagenr()-1
如果tab_number==0
执行“tabm”tabpagenr(“$”)-1
其他的
执行“tabm”选项卡编号-1
恩迪夫
端功能
函数TabRight()
设tab_number=tabpagenr()-1
让最后一个\u tab_number=tabpagenr(“$”)-1
如果制表符编号==最后一个制表符编号
执行“tabm”0
其他的
执行“tabm”选项卡编号+1
恩迪夫
端功能
映射:执行TabRight()
映射:执行TabLeft()

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

我在Ubuntu上看到字体渲染的小故障。我的解决方法是使用“textmode”样式的选项卡标题,请参见GUI选项

以下是我喜欢的设置:

:se guioptions=agim
注意

  • 我可能在想象,但它似乎也更敏捷
  • 这将为编辑带来更多屏幕空间
  • 上述设置也会删除所有滚动条(谁需要滚动条?)
要仅更改选项卡标题样式,请尝试,例如

:se guioptions-=e

通过在每个
执行“tabm”
命令之后添加
execute
。我的标签切换现在强制屏幕重新绘制。这感觉像是一个临时的修复,直到我能找出根本的问题是什么。我添加了
se-guioptions=agim
。如果有什么我真的更喜欢干净的外观。我讨厌GVim添加到编辑器中的所有额外垃圾。自从做了这个更改之后,我没有发现任何文本呈现的问题。经过一段时间的测试后,我会将这个答案标记为已接受的答案。谢谢。我也遇到了同样的问题,删除-e选项似乎对我起到了作用。我将
execute
更改为
call
,选项卡切换功能的行为与此相同。我认为你是对的,在这种情况下使用“call”比“execute”更正确。