簡體   English   中英

在Emacs中編輯Python

[英]Editing Python in Emacs

我看過python-mode和python.el。 我正在使用python-mode.el。 我也在使用繩索和繩索。 我正在尋找關於這些的一些文檔,這些文檔可以幫助我,或者其他elisp軟件包或其他東西。

我目前的問題是我給出的代碼具有不一致的縮進大小。 對於一些塊,它將是兩個,對於一些它將是4.我想要清理它,但由於某種原因,當我告訴emacs“修復縮進”時它只是在每行上點擊選項卡,這搞砸了代碼。 我想要的是保持相同的相對縮進,但標准化為4個空格。 有什么能讓我輕松做到這一點嗎?

我想我可以找到每個壞縮進的實例,阻止它,並用4個空格查詢替換2個空格。 但這對我的精確度有點過分依賴,注意到應該在哪里完成。 此外,它是很多代碼。

有人告訴我,自行車修理工會解決這個問題,但現在幾年已經沒有開發......還有其他任何建議嗎?

謝謝。

將py-smart-indentation設置為`t'

當前的python-mode.el應該這樣做。

http://launchpad.net/python-mode

如果有錯誤,請在那里報告

假設你已經使用了Sven Marnach的注釋來清理代碼庫,我猜你只需要使用python-mode.el使用你喜歡的縮進樣式?

查看變量py-indent-offsetpy-smart-indentation (也許還有py-continuation-offsetpy-honor-comment-indentation )。 以及正常的indent-tabs-mode

您可以自定義它們( Mx customize-group RET python RET ),也可以向python-mode-hook添加自定義函數。 例如:

(add-hook 'python-mode-hook 'my-python-mode-hook)
(defun my-python-mode-hook ()
  (setq indent-tabs-mode nil
        py-smart-indentation nil
        py-indent-offset 4))
(custom-set-variables
   ...
   '(indent-tabs-mode nil)
   '(tab-stop-list (quote (4 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)))
   '(tab-width 4))

顯然,這些是為了尊重它們的模式的全局設置(python-mode會這樣做)。 我根本沒有使用python-mode的縮進設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM