Emacs 24中的Shift选择不高亮显示文本
我一定很愚蠢,但我刚刚切换到Emacs 24,在移动点的同时按住Shift键不再突出显示文本。鼠标选择与以前一样有效。我错过了什么?我是不是碰巧把它关掉了?或者轮班选择被认为是不符合逻辑的,所以我们手头有其他更好的基于键盘的选择吗?在Emacs 24中,默认情况下会启用轮班选择 您可以始终运行Emacs 24中的Shift选择不高亮显示文本,emacs,Emacs,我一定很愚蠢,但我刚刚切换到Emacs 24,在移动点的同时按住Shift键不再突出显示文本。鼠标选择与以前一样有效。我错过了什么?我是不是碰巧把它关掉了?或者轮班选择被认为是不符合逻辑的,所以我们手头有其他更好的基于键盘的选择吗?在Emacs 24中,默认情况下会启用轮班选择 您可以始终运行emacs-Q来禁用init文件和任何其他默认库,以确定emacs的默认行为 您还可以运行emacs-q,这将仅禁用您的init文件(可以加载其他系统范围的init文件) 如果该功能在没有init文件的情况
emacs-Q
来禁用init文件和任何其他默认库,以确定emacs的默认行为
您还可以运行emacs-q
,这将仅禁用您的init文件(可以加载其他系统范围的init文件)
如果该功能在没有init文件的情况下工作,并且不能使用它,那么您可以开始缩小init文件的哪一部分出错的范围(通常是通过注释掉功能,直到该功能开始按预期工作——请注意Drew的注释)
在这种情况下,我建议您首先(使用C-hv)验证
换档选择模式
变量是否为非零
(在正常配置下运行时),因为零
值意味着换档选择被禁用。我还发现查看加载路径
变量很有用,C-h v加载路径
,它将我指向罪犯,旧elpa软件包。您使用的是组织模式吗?如果是,则:(setq组织支持轮班选择“始终”)
;或nil
表示从不;或t
用于在特殊上下文之外的情况。运行emacs-Q
以验证默认情况下班次选择突出显示是否有效。在正常配置下运行时,还要检查变量shift-select mode
是否为非nil
。@phils,我赞扬你的谦虚,但你能给出一个完整的答案吗?是的,使用emacs-Q
,它确实可以工作。很抱歉,虽然我正在广泛使用emacs,但我几乎没有时间真正研究它。因此,无论我的问题有多无意义,请定期回答,并解释-Q的含义,也许还有放入.emacs
中的代码片段。因为它显然在没有init文件(emacs-Q
)的情况下工作,所以通过递归地对init文件(~/.emacs
)进行二等分来缩小问题的范围。也就是说,注释掉其中的1/2,然后是3/4、7/8、15/16。。。您可以使用带或不带前缀arg的命令comment region
对文本区域进行注释。@Drew在.emacs
完全注释掉的情况下,不希望出现的行为仍然存在,而emacs-Q
仍会恢复它。初始化文件在哪里?实际上,C-hv
报告shift-select mode
变量的值为nil
,而原始值为t
。我将尝试init file bisecting方法,看看是谁为我做了这个不需要的更改。在这样做之前,请确保检查它是否直接设置在init文件中(如果是单独的,则设置在自定义文件中)。e、 g.通过M-x自定义变量RET shift select mode RET
更新和保存值可能就足够了。否则,您可能会发现M-x rgrep-RET shift-select mode RET*.el-RET~/.emacs.d/RET
有助于跟踪潜在的罪犯。罪犯是.emacs.d/elpa
中的旧软件包。我清除了它们,只重新安装了我需要的。这是因为我重新安装了整个系统,并简单地将备份的配置文件复制到我的主目录。