2

当我启动 python-shell(或者甚至只是从 Mx shell 启动 python)时,Emacs 会给出预期的提示:

bash-3.2$ python
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

但是当我在提示符下键入内容并按 RET 时,光标会向下移动一行,但不会执行命令。我可以让子进程响应的唯一命令是像 CC Cc 这样的中断。中断后,会出现另一个提示 (>>>),我可以使用 Mn 和 Mp 导航我之前“输入”的行。

>>> test
hmmm, definitely pressed enter there
  C-c C-c
KeyboardInterrupt
>>> 

奇怪的是,这发生在 Aquaemacs 和 emacs -nw 中。我试过移动我的 .emacs 和 .emacs.d 文件,行为是一样的。关于可能导致这种情况的任何想法?

4

1 回答 1

3

执行“Mx shell”然后执行“python RET”后,执行“Ch k RET”然后显示什么?帮助缓冲区应该说“comint-send-input”是为 RET 执行的命令。如果它没有将“comint-send-input”显示为“RET”执行的命令,那么您的一个 init 文件(.emacs 文件不是唯一的 init 文件)中可能存在覆盖此绑定的内容. 因此,然后尝试使用“emacs -nw -q -no-site-file”运行 emacs 并重复上述操作。如果它之前没有显示“comint-send-input”而现在显示“comint-send-input”,那么它肯定是您的一个 init 文件中的内容。查看您的本地(http://www.gnu.org/software/emacs/emacs-lisp-intro/elisp/Init-File。html#Init-File) 和站点范围 (http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/Site_002dwide-Init.html#Site_002dwide-Init) 的 init 文件尝试查找罪魁祸首。如果检查文件后不明显,最好的办法是重命名找到的任何 init 文件并逐渐重新引入代码,直到找到导致“损坏”的原因。

于 2011-09-26T21:16:15.520 回答