2010-09-27 67 views
5

我剛開始使用Python,但我是一個非常有經驗的emacs用戶。我試圖決定python.el和python-mode.el(或任何其他等效模式的人可以建議)。emacs python模式首選項

目前我強烈地傾向於中的python-mode.el,主要是因爲它有一個有用的「縮進區域」的方法...

然而,有一對夫婦的C模式的特點,我似乎在這兩種模式中都缺乏進​​入下一個/上一個函數(c-defun開始)(這與py-goto-block-up的不同之處在於1)沒有py-goto-block-down,並且2)你可以使用cb ....通過多個函數向上滾動,但py- ..只能出水平)

此外,由於C有大括號等,很容易找到的開始/結束當前部分。 PY-轉到塊式給了我一個塊的開始,但有沒有類似塊的結束......

感謝

+0

只需選擇塊文本,然後輸入Cc <(python-shift-left)或Cc>(python-shift-right),就可以使用Emacs 23.2中的python.el來嚴格縮進Python塊。你有關python-mode.el下的縮進區域 – codeasone 2010-09-28 09:31:27

+0

問題是什麼? – 2010-09-29 06:47:40

+0

問題是「是否有更好的python模式?或者如何在現有的python模式下執行這些操作?」 – 2010-09-29 14:43:32

回答

4

C-M-aC-M-e在python模式。他們分別開始和結束當前的def或class。它們默認映射到beginning-of-defunend-of-defun

還有C-c C-u,它映射到python-beginning-of-block。我的Python模式默認不映射python-end-of-block,但它也在那裏。

+0

是的,但他們只適用於頂級結構,比如def和class ......你不能用它們來找到forloop的結尾...... – 2010-09-27 17:51:44

+0

啊,出於某種原因,我以爲你已經有'python- [開始|結束] -of-block'。編輯。 – nmichaels 2010-09-30 14:06:01

0

我發現pdbtrack(蟒蛇 - mode.el的一部分)的寶貴

0

當前的python-mode.el自帶了很多更細的晶粒命令RESP。 到方框,語句,表達,局部表達,類,DEF,線

與BEG /結束/複製/刪除屬性/執行

https://launchpad.net/python-mode

0

唐得到它忘記有兩個python.el文件。其中一個是Emacs中的「舊」版本,而the other是fgallina,當它發佈時將會在Emacs 24.2中發佈。我沒有資格說如果新的比python-mode.el好。