当使用gVim时,每当我在两个标签之间切换时,其中一个标签垂直分割而另一个标签不垂直,窗口的水平尺寸减少了一小部分(可能是一列)。 这真令人讨厌,因为它迫使我每隔几分钟调整窗口大小。
行为可以重现如下:
:tabnew
Ctrl+W v
gt
( - >窗口大小将减少)这是某种预期的行为还是只是一个错误?无论如何,有什么方法可以阻止这种情况吗?
如果重要:我使用Ubuntu 12.04和Xfce,使用repos中的vim版本(7.3,包含的补丁:1-429)。
我关注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)。
我将vim更新到版本7.4,当使用空缓冲区进行测试时,问题就消失了,即使使用字体大小!= 10.但是,只要我打开文件,它就会再次出现:(
答案 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文档要求的字体,则应填写错误报告。