2008-10-01 36 views
34

我最近開始學習Emacs。我閱讀了教程,閱讀了一些介紹性文章,迄今爲止都非常棒。Emacs和Python

現在我想用它來進行Python開發。據我所知,Emacs有兩種獨立的Python模式:python-mode.el,它是Python項目的一部分;和python.el,它是Emacs 22的一部分。

我閱讀了所有我能找到的信息,但大部分信息看起來相當過時,我仍然感到困惑。

的問題:

  1. 他們的區別是什麼?
  2. 我應該安裝和使用哪種模式?
  3. 是否還有其他對於Python開發至關重要的Emacs附加組件?

相關鏈接:

+0

我使用了Emacs 2年,但在Emacs中讀寫Python仍然是我的噩夢。繩索,繩索,pymacs的複雜配置讓我瘋狂。所以,我個人推薦Eclipse + pydev。 – Wilbeibi 2013-03-11 03:59:19

回答

20

如果您正在使用GNU Emacs的21或之前,或XEmacs的,使用蟒蛇 - mode.el。 GNU Emacs 22 python.el將無法工作。在GNU Emacs 22上,python.el可以工作,並且與GNU Emacs自己的符號解析和完成,ElDoc等更好地結合。我自己使用XEmacs,所以我不使用它,並且我聽到人們抱怨說它沒有過去的工作非常好,但有更新可以解決一些問題(例如,在您鏈接的emacswiki頁面上),並且您希望現在有些內容可以集成到上游。如果我是GNU Emacs類型的話,我會使用python.el,直到找到沒有的具體原因。

python-mode.el單個最大的問題,據我所知,它不太理解三引號字符串。它將它們視爲單引號,這意味着三引號字符串中的單引號會拋出語法突出顯示:它會認爲字符串已經結束。您可能還需要更改自動模式alist以打開.py文件的python模式;我不記得是否仍然如此,但我的init.el多年來一直在設置auto-mode-alist。

至於其他插件,沒有我會認爲'必不可少的'。 XEmacs的func菜單有時很有用,它爲您提供當前文件的一些功能/類別瀏覽器菜單。我不記得GNU Emacs是否有類似的東西。我有一個用於reStructuredText編輯的第一模式,就像在某些項目中使用的那樣。綁定到任何你使用的VC,如果有的話,可能對你有用,但內置的支持大多數和容易下載的.el文件的其他人。

+2

作爲GNU emacs 22用戶(在Windows上)。我第二個這個。 python-mode.el並不真正爲你購買任何東西(儘管它確實有效)。使用python-mode.el的唯一真正原因可能是讓ipython在emacs中工作,但是,不幸的是,這在windows中似乎不起作用。關於unix,YMMV .... – 2008-10-01 14:18:21

8

This site介紹瞭如何在Emacs中完成Python代碼完成。 Ropemacs是讓繩子在emacs中工作的一種方法。我還沒有豐富的經驗,但他們值得研究。

+1

我使用ropemacs(雖然不是最新版本),但根據說明安裝和使用相當容易。 – 2008-11-27 16:57:54

7

鑑於我有幾個打開緩衝區的次數都被調用__init__.py,我認爲uniquify庫是python開發必不可少的。

Pyflakes也有助於提高生產力。