2012-11-05 34 views
5

我已经重新安装了我的emacs,现在我正在使用emacs v24.3.50与auto-complete v1.4和popup.el v0.5。不幸的是,自动完成的弹出式“菜单”有点儿坏了(见附件截图)。
不同的项目没有沿着一条垂直线对齐[忽略黑色覆盖,源自CEDET,可能意味着放置在弹出菜单旁边的右侧;当禁用CEDET时仍存在问题,所以不相关)。Emacs自动完成弹出菜单损坏

example of error

从我可以告诉它看起来像这样行之间“移动”的程度取决于字符串的长度多少不同。另外,当使用箭头键选择不同的建议时,每当标记向上/向下移动一行时,线的水平移动会稍微变化(〜几个像素)。

我已经上传了我的.emacs.d/init.el中用于配置自动完成here的部分。

有关如何解决此问题的任何建议?

回答

9

看起来您使用的比例字体打破了叠加层左边缘的计算。

您可以尝试更改自动完成计算列的方式:

(setq popup-use-optimized-column-computation nil) 

您也可以更改为固定宽度的字体。

请注意,Emacs的一些其他完成系统可以使用工具提示而不是覆盖,这将避免此问题。

+1

设置该变量不起作用,但切换到固定宽度的字体没有技巧(我现在使用'Inconsolata';不知道我使用的字体不是固定宽度)。谢谢! – elemakil