2011-07-29 78 views
4

我正在使用來自fgallina的python.el python.el github有一長串功能,但我不知道如何使用它們。python.el shell並執行緩衝區

編輯:發現這種模式工作,但沒有自動打開解釋器去信息被髮送到那裏。我如何發送/加載我的當前Python緩衝區進行評估?我正在嘗試使用C-c C-c,但我沒有得到任何輸出。

Python shell集成和shell完成?我是否需要在標準加載路徑旁添加一些內容,並且需要語句?

Imenu支持這也不是爲我顯示。 編輯我試圖將此添加到我的emacs,但沒有奏效。

add-hook 'python-mode-hook 'imenu-add-menubar-index) 

我使用emacs 23 ubuntu上

回答

6

關於第一個問題:通常你可以加載使用C-C C-1的緩衝區/文件。 (剛剛測試過這個python.el,它也適用於這個)這將把文件發送到次級python進程 - 所以你應該打開* Python *緩衝區來查看結果。 * Python *緩衝區也是您的常規python解釋器/ shell/REPL。 C-M-x綁定到python-send-defun,它將一個方法/函數定義發送給解釋過程。對於其他綁定,只需按下M-x describe-bindings,然後在打開的* Help *緩衝區窗口中查找「python-」(在「主模式綁定」下)。

有一個在python.el的開頭有一些更多的文件,如果你想知道更多關於完成:

報價:

殼牌完成:打標籤會盡量完成當前 字。如果你將python-shell-interpreter更改爲任何其他(例如IPython的 ),則可以通過另一種方式來計算 完成。您只需指定您的自定義 python-shell-completion-setup-codepython-shell-completion-string-code

Quote:

符號完成:您可以在點完成符號。它使用 在後臺完成shell,所以你應該不時運行 python-shell-send-buffer以獲得更好的結果。

骨架:提供6個骨架用於簡單插入類, def,for,if,try and while。這些骨架與 dabbrev集成在一起。如果您已激活dabbrev-mode並且 將python-skeleton-autoinsert設置爲t,那麼無論您何時鍵入 其中任何一個定義的名稱和命中SPC,它們將自動展開爲 。

imenu條目顯示了我沒有添加掛鉤,只是(require 'python)在配置文件中。