标签: python-mode

在python/c模式下打开linum模式

我想用python和c模式自动打开linum模式(Mx linum-mode).我在.emacs中添加以下代码,但它似乎不起作用.

(defun my-c-mode-common-hook ()
  (line-number-mode 1))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

(defun my-python-mode-common-hook ()
  (line-number-mode 1))
(add-hook 'python-mode-common-hook 'my-python-mode-common-hook)
Run Code Online (Sandbox Code Playgroud)

可能有什么问题?

emacs c-mode python-mode

8
推荐指数
2
解决办法
4119
查看次数

Emacs python-mode

我正在尝试使用python-mode.el-6.0.7软件包配置Emacs23.2以使用python2.7.3

在我的.emacs文件中添加这些LISP行后,如INSTALL说明中所示,......

(add-to-list 'load-path "PATH/TO/PYTHON-MODE/") 
(setq py-install-directory "PATH/TO/PYTHON-MODE/")
(require 'python-mode)
Run Code Online (Sandbox Code Playgroud)

...我打开一个文件foo.py,直到这里一切正常:python被识别,语法突出显示,emacs运行良好.

但是我怀疑我错过了什么或做错了什么......主要是因为在python-mode包中有更多的东西要用于python和emacs,比如pycomplete,pymacs等...看起来像是当我打开emacs和python时不能一起操作.

有没有人知道如何以适当的方式配置这个包,让一切工作正常?

任何(个人)建议都是受欢迎的,因为我不是emacs的专业人士......!

python emacs configure python-mode

8
推荐指数
1
解决办法
6625
查看次数

在emacs python-mode中不正确地退出缩进

我正在使用Emacs python-mode.我用它来调用它.emacs

(add-to-list 'load-path "~/emacs/python-mode.el-6.0.3/")
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
(require 'python-mode)
(add-hook 'python-mode-hook
      (lambda ()
    (set-variable 'py-indent-offset 4)
    ;(set-variable 'py-smart-indentation nil)
    (set-variable 'indent-tabs-mode nil)
    (define-key py-mode-map (kbd "RET") 'newline-and-indent)
    ;(define-key py-mode-map [tab] 'yas/expand)
    ;(setq yas/after-exit-snippet-hook 'indent-according-to-mode)
    ))
Run Code Online (Sandbox Code Playgroud)

它通常缩进没关系,因为如果我写道:

if condition:
Run Code Online (Sandbox Code Playgroud)

然后按Return键,它会正确地将光标放在缩进的换行符中.问题是它没有正确退出缩进.在其他系统中,当我在缩进子句的主体(如if语句体)中创建一个新行并按Backspace时,它会在缩进中跳出一个级别,而不是退格.例如,如果我有:

if condition: 
  statement1
  statement2
Run Code Online (Sandbox Code Playgroud)

然后我按下返回,退格键statement2,它会将光标放在这里:

if condition: 
  statement1
  statement2
<-- cursor position
Run Code Online (Sandbox Code Playgroud)

如果你有许多想法的级别而且它没有这样做,编辑Python变得不可能,因为你必须手动退格,直到你达到正确的缩进级别......它容易出错并且很烦人,例如,如果你有:

for something:
  for other:
    if hello:
      while …
Run Code Online (Sandbox Code Playgroud)

python emacs elisp python-mode

7
推荐指数
1
解决办法
1497
查看次数

Emacs取消绑定模式的键绑定

我已经创建了一个自定义键绑定宏,如下所示:

(global-set-key (kbd "C-C C-c") "\C-a\C- \C-n\M-w\C-y")

问题是,C-c C-c被定义为python-send-bufferpython-mode.所以我的宏适用于除python-mode之外的所有模式.我假设python-mode在我的init文件之后进行评估,因此它会覆盖该键绑定.

我尝试C-c C-c使用(eval-after-load "python-mode")和使用取消设置,global-unset-key但这不起作用.C-c C-c在python中始终映射到python-send-buffer.

我怎样才能完全禁用Python C-c C-c,而是使用我的宏?

我正在使用Emacs 24.2.1.

emacs key-bindings python-mode emacs24

7
推荐指数
1
解决办法
2181
查看次数

Vim 对 Python 代码的缩进错误(使用 python 模式插件)

如下面的屏幕截图所示,我演示了 Vim 在向 Python 代码添加注释时的奇怪行为。在演示 1 和演示 2 之间,我只是在不同的缩进级别(在类定义内)开始注释行。

演示1

在此输入图像描述

演示2

在此输入图像描述

问题:

正如截屏结束时所演示的,只有:在插入模式下键入才能获得正确的缩进。

理想的解决方案将实现:

当开始一行注释时,请保持正确的缩进级别;

python vim python-mode

7
推荐指数
1
解决办法
7376
查看次数

Emacs python-mode:pdb逐步调试的键盘快捷键

我想知道是否有办法联系:

  • n RET (下一个)
  • p RET (以前)
  • c RET (继续)
  • C-x SPC RET (set/clear breakpoint)

使用功能键F1- F12或其他键盘快捷键.这个想法是模拟其他IDE用于调试的键盘快捷键(例如Visual Studio,MATLAB等).

这是否已经支持python-mode?是否有任何Emacs模式可用于补充python-mode调试目的?

python emacs python-mode pdb

6
推荐指数
1
解决办法
1509
查看次数

ftp,病原体和ftplugin文件的加载顺序

我已经使用Vim和病原体一段时间了,事情进展顺利,但最近我开始使用我的ftplugin配置加载订单问题.

我现在遇到的具体问题是python-mode覆盖了我的ftplugin设置.我有一个~/.vim/ftplugin/python.vim包含以下行:

setlocal textwidth=119
Run Code Online (Sandbox Code Playgroud)

python-mode附带了自己的ftplugin文件,该文件也设置textwidth~/.vim/bundle/python-mode/ftplugin/python/pymode.vim.

问题是Vim现在正在我的ftplugin文件之后加载python-mode的ftplugin文件,所以我最终得到了它textwidth=79.我最近不得不重新安装MacPorts,我认为库存配置必须改变.

我尝试了各种技巧,包括在调用病原体之前关闭文件类型/插件检测,根据其他各种 答案,但没有一个能帮助.

通过使用verbose set textwidth?和一些echomsg调试,我知道两个ftplugin文件都被调用,并且它们被错误地调用(根据我的需要).

有没有办法迫使Vim/pathogen在插件之后调用我的ftplugin文件?

我甚至尝试将我的设置放入~/.vim/after/plugin/pymode.vim,但是在病原体设置插件后立即加载,所以它仍然在ftplugin文件之前运行,只有在我编辑Python文件后才会加载.

vim python-mode pathogen

6
推荐指数
2
解决办法
2029
查看次数

如何让Aquamacs在ipython中运行代码

我在OS X lion上使用Aquamacs并尝试使用最新的python-mode.el来编辑和运行我的python代码.我可以通过键入C-来打开ipython shell,但如果我运行Cc Cc或Cc | python代码在没有ipython 的新Python缓冲区中运行.我尝试过一些修复方法.以下是我的.emacs文件的python特定部分:

(when (featurep 'python) (unload-feature 'python t))
;; add custom libs
(add-to-list 'load-path "~/tools/emacs")
;; Set up pylab 
(setq py-install-directory "/Users/stringham/tools/emacs/")
(require 'python-mode)
(setq py-shell-name "/usr/local/bin/ipython")
(setq py-python-command "/usr/local/bin/ipython")
Run Code Online (Sandbox Code Playgroud)

有没有人成功使用ipython和Aquamacs?

python emacs aquamacs ipython python-mode

6
推荐指数
1
解决办法
1346
查看次数

python-mode,ipython,(ipython.el)版本/发布和init.el/.emacs.d代码的组合是什么?

我的目标是使用Emacs 24作为我的python编辑器(也有一个Matlab和R编辑器,但这不是我的问题).

(如果我遗漏了任何信息或者我没有说明清楚的话,请告诉我.)

我已经能够以这样的方式设置我的包和我的init.el文件,以便我能够获得标签完成,正确的突出显示和python的片段.我正在使用python-mode.el作为我的python模式. 问题都围绕着这个问题:我想使用ipython作为我的python shell,以便在调试脚本时使用它的选项卡完成功能.

  • 但是,当我启动ipython(使用Mx ipython)时,我没有完成选项卡.此外,它没有显示"[1] in:",但它确实显示"[1] out:".
  • 我想让ipython成为我在Emacs中的默认shell.但是,尝试此操作失败(例如将C:\ PATH\TO\IPython.exe设置为py-python-command).
  • 当我尝试使用Cc Cc运行我的python脚本时,它使用普通的Python运行,并且确实停在我告诉调试器停止的位置(我使用ipdb.set_trace).但是当我使用另一种应该启动IPython的命令时(比如将该区域设置为我的整个脚本并运行py-execute-region-ipython),IPython不起作用.它确实启动了一个IPython shell,或者至少它似乎是,但我可以像在文本编辑器中一样键入shell(fyi:在mini缓冲区中它显示"Comint:run shell-compile").

我的问题是:我的init.el文件中的包版本和lisp代码的哪些组合应该允许我使用带有tab完成的ipython作为我在Emacs中的默认shell?如果有必要,我愿意降级一些软件包.

额外信息:

从我在Python-mode.el的Project页面上看到的内容,我了解到IPython仍然存在一些关于此软件包的最新版本的错误,因此可能需要使用旧版本.我一直在谷歌搜索寻找解决方案,我找不到一个适合我的解决方案.

我在跑

我的init.el看起来像(python的东西在底部):

;; Requisites: Emacs >= 24
(require 'package)
(package-initialize)

(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/") t)

(package-refresh-contents)

(defun install-if-needed (package)
  (unless (package-installed-p package)
    (package-install package)))

;; make more packages available with the package installer -->
;; removed …
Run Code Online (Sandbox Code Playgroud)

python emacs ipython python-mode emacs24

6
推荐指数
1
解决办法
3318
查看次数

使用Python或IPython在Emacs的"python-mode"中使用多个Python shell

有没有办法强制python-shell运行Emacs时的新实例?使用单独的工作目录(和不同的模块集)处理多个项目时会很方便.

任何调用尝试python-shell都只会拉出当前实例.

python emacs elisp ipython python-mode

5
推荐指数
1
解决办法
897
查看次数