当使用非标准字体大小

时间:2015-07-22 10:08:36

标签: vim

当使用gVim时,每当我在两个标签之间切换时,其中一个标签垂直分割而另一个标签不垂直,窗口的水平尺寸减少了一小部分(可能是一列)。 这真令人讨厌,因为它迫使我每隔几分钟调整窗口大小。

行为可以重现如下:

  1. 启动gvim
  2. 创建新标签:tabnew
  3. 垂直拆分窗口Ctrl+W v
  4. 切换标记gt( - >窗口大小将减少)
  5. 这是某种预期的行为还是只是一个错误?无论如何,有什么方法可以阻止这种情况吗?

    如果重要:我使用Ubuntu 12.04和Xfce,使用repos中的vim版本(7.3,包含的补丁:1-429)。

    更新1

    我关注instructions of the FAQ posted by nMontu并将问题跟踪到.vimrc的以下行:

    set guifont=Meslo\ LG\ S\ DZ\ 12
    

    实际上问题是字体大小,如果我将其更改为

    set guifont=Meslo\ LG\ S\ DZ\ 10
    

    问题已经消失(当然,让我遇到字体太小的问题......)。它只有字体大小,更改字体本身并不能解决问题。对于其他字体大小!= 10问题也存在(我测试的大小为8-14)。

    更新2

    我将vim更新到版本7.4,当使用空缓冲区进行测试时,问题就消失了,即使使用字体大小!= 10.但是,只要我打开文件,它就会再次出现:(

1 个答案:

答案 0 :(得分:2)

按照Linux上的步骤,Mint不会显示错误。我已经执行了100个标签页开关,窗口大小没有变化(qmgtq来记录宏,100@m来执行它。)

请注意,vim 7.3已经很老了,您应该尝试将其更新为7.4。但是您遇到的错误可能不是vim错误。您应该尝试按照Vim-FAQ 2.5

中描述的步骤进行操作
  

2.5。我有一个" xyz" (某些)Vim的问题。我如何确定它是一个        我的设置或Vim的问题? /我在Vim中发现了一个错误吗?

     

首先,你需要找出错误是否在实际中   运行时文件或与Vim一起分发的任何插件或是否   是.vimrc中任何配置选项的简单副作用   或.gvimrc。首先,像这样启动vim:

vim -u NONE -U NONE -N -i NONE
     

这会在非兼容模式(-N)中启动Vim,而无需阅读   viminfo文件(-i NONE),不读取任何配置文件(-u   NONE没有读取.vimrc文件而-U NONE没有读取.gvimrc   文件)甚至插件。

     

如果以这种方式启动Vim时没有发生错误,那么   问题要么与你的某些插件有关,要么与某些设置相关   您的一个本地安装文件。你需要找出,是什么触发了   错误,你尝试这样开始Vim:

vim -u NONE -U NONE -N
     

如果发生错误,则问题是您的.viminfo文件。只需删除   然后是viminfo文件。如果没有发生错误,请尝试:

vim -u ~/.vimrc --noplugin -N -i NONE
     

这只会将.vimrc用作配置文件,但不会加载   任何插件。如果此时发生错误,则可能是错误   由.vimrc文件中的某些配置选项引起的。根据   在你的vimrc文件的长度上,跟踪它可能非常困难   该文件中的来源。

     

最好的方法是在.vimrc中添加:finish命令。   然后使用相同的命令行重新启动。如果错误仍然存​​在   发生时,必须由于前半部分的设置而导致错误   你的.vimrc。如果它没有发生,那么问题设置必须是   在.vimrc的后半部分。所以将:finish命令移动到   那一半的中间,你知道它会触发错误和   继续前进,直到找到有问题的选项。如果你的   .vimrc是350行长,你需要最多9次尝试才能找到   违规行(实际上,这通常可以进一步减少,因为   通常线条相互依赖)。

     

如果没有出现问题,当只加载.vimrc文件时,   错误必须由插件或其他运行时文件引起(缩进   自动加载或语法脚本)。检查:scriptnames的输出   命令查看已加载的文件,并为每个文件尝试   逐个禁用它们,看看哪一个触发了bug。经常   由vim加载的文件有一个简单的配置变量   禁用它们,但您需要单独检查每个文件内部。

修改

Vim的文档编写得非常好,而且非常全面。您可能会在那里找到关于Vim的大部分细节。它还有一个很棒的常见问题解答,可以通过this nice plugin直接在Vim上查看。

Vim-FAQ 31.2有一系列有用的参考资料:

  

有关详细信息,请阅读

'guifont'
'guifontset'
'guifontwide'
font-sizes
-font
-boldfont
-italicfont
-menufont
-menufontset

特殊情况,:help font-sizes

  

注意:所有字体(菜单和工具提示除外)必须相同   尺寸!!!如果你不这样做,文字就会消失或弄乱   显示。 Vim不检查字体大小。这是屏幕上的大小   像素必须相同。请注意,某些字体具有相同的字体   磅值不具有相同的像素大小!另外,   字体的定位必须相同(上升和下降)。您   可以使用" xlsfonts -l {fontname}"。

进行检查

我不知道你提到的字体(Meslo),但我猜它不是单声道的。

修改2

  

Meslo是单行间距

It is possible that Meslo won't work, similar to what is stated in its FAQ

  

问:我可以将Meslo与......一起使用吗?

     答:至于......我还不知道。你可能要尝试一下。我做   然而,知道目前似乎存在问题   使用一个名为SecureCRT的应用程序,它不会将Meslo识别为   等宽字体字体。 (另见:问题2)

issue 2似乎与您的问题类似。

  

我试图在需要固定宽度的终端应用中使用Meslo   字体,但是当我选择Meslo时,它声称字体不是   固定宽度。

您还提到了

  

此外我遇到了与其他单倍间距字体相同的问题   (即' Monospace')。

奇怪的是,它出现在常见的单倍间距字体中,因为这种问题肯定会被报道。如果您确定使用符合Vim文档要求的字体,则应填写错误报告。