Emacs:使用矩形命令时的非字符输入事件

时间:2015-02-10 12:55:22

标签: emacs

我经常使用ractangular命令,例如C-x r r。昨天,我安装了新版本的Emacs(GNU Emacs 24.4.1,修改版with ESS)。当我尝试用C-x r r复制时,我得到这样的信息:
非字符输入事件

我不知道为什么会这样,这意味着什么。如果有人能给我一些建议我需要做些什么改变才能恢复使用矩形命令的能力,我会很高兴。

3 个答案:

答案 0 :(得分:1)

如果您使用

启动emacs

emacs -q

然后尝试一些rectagular edit命令并且您没有收到错误,然后您就知道问题是由emacs init配置中的某些内容引起的。

如果是这种情况,您可以通过浏览init文件并注释掉位来开始跟踪它。一个好方法是注释掉init的后半部分,用-q重新启动emacs,再次尝试命令。如果错误仍然存​​在,那么您知道它是由配置的前半部分中没有注释掉的东西引起的。如果没有发生错误,那么您知道它是由您注释掉的init文件的后半部分引起的。

然后继续此过程,注释并取消注释init文件并使用-q重新启动,直到在init文件中找到导致错误的行。

答案 1 :(得分:1)

Tim的回答表明你确保这不是你的init文件的问题是一个很好的问题。首先尝试,因为它的工作量较少,对现有工作流程的更改较少。

我怀疑这是您安装的已修改Emacs的问题。我建议安装未修改的Emacs并在之后安装ESS:

  1. 安装GNU Emacs。 GNU现在提供official Windows binaries,您只需解压缩并直接使用即可。如果内存服务,则应使用runemacs.exe目录中的wbin/启动Emacs。

    在撰写本文时,最新版本是版本24.4。

  2. 添加第三方软件包存储库。从版本24开始,Emacs有一个名为package.el的内置软件包管理器。开箱即用,唯一的活动包存储库是GNU ELPA,但还有其他几个。

    添加一个包含ESS的内容,例如MELPAMELPA stable。对于MELPA,您应该包含类似

    的内容
    (require 'package)
    (add-to-list 'package-archives
                 '("melpa" . "http://melpa.org/packages/") t)
    (package-initialize)
    

    在您的配置中。 MELPA getting started页面值得一读。

  3. 使用package.el安装ESS。有几种方法可以执行此操作,但最简单的方法是运行M-x package-list-packages,搜索生成的包列表缓冲区对于ess,请标记ess(以及您希望安装的任何其他软件包)以安装i,然后使用x安装标记的软件包。

  4. 这在Linux上运行得非常好,我使用的大多数软件包都可以在Windows上安装和运行。不幸的是我没有尝试在Windows上安装ESS,因此我无法对此进行具体评论。

    如果您喜欢package.el方法,那么您可能需要阅读许多其他主题。我建议尽快与use-package建立非常好的朋友。

答案 2 :(得分:0)

解释了解决方案here

在第二个 r 之后,应输入类似别名的内容,例如 a 或任何其他字母(区分大小写)或数字。在以前版本的emacs中,这不是必需的,在第二次r之后我必须输入RETURN。以下是如何操作的示例:

C-x r r a
C-x r i a