2011-02-04 30 views
5

Tôi đã xem python-mode và python.el. Tôi đang sử dụng python-mode.el. Tôi cũng dùng dây thừng và ropemac. Tôi đang tìm kiếm hoặc cho một số tài liệu về những giúp tôi, hoặc một gói elisp hoặc một cái gì đó.Chỉnh sửa Python trong Emacs

Vấn đề hiện tại của tôi là mã tôi đưa ra có kích thước thụt lề không nhất quán. Đối với một số khối nó sẽ là hai, đối với một số nó sẽ được 4. Tôi muốn làm sạch này, nhưng Đối với một số lý do, khi tôi nói emacs "sửa chữa thụt đầu dòng" nó chỉ cần truy cập tab trên mỗi dòng về cơ bản, mà vít lên mã. Những gì tôi muốn là để giữ cho thụt đầu tương đối tương tự, nhưng tiêu chuẩn hóa trên 4 không gian. Mọi thứ sẽ cho phép tôi làm điều này một cách dễ dàng?

Tôi cho rằng tôi có thể tìm thấy từng trường hợp thụt lề xấu, chặn nó và truy vấn thay thế 2 dấu cách bằng 4 dấu cách. Nhưng điều đó phụ thuộc quá nhiều vào độ chính xác của tôi, nhận thấy nơi này nên được thực hiện. Ngoài ra, đó là rất nhiều mã.

Có người nói với tôi rằng thợ sửa xe đạp sẽ giải quyết vấn đề này, nhưng điều đó đã không được phát triển trong vài năm nay ... Bất kỳ đề xuất nào khác?

cảm ơn.

+3

Không thực sự là một câu trả lời emacs, nhưng bạn có thể quan tâm [trong câu trả lời này bởi Alex Martelli] (http://stackoverflow.com/questions/1024435/howto-fix-python-indentation/1024489 # 1024489). –

+0

Cảm ơn! ít nhất là giải quyết một vấn đề! –

Trả lời

0

Giả sử bạn đã sử dụng nhận xét của Sven Marnach để làm sạch cơ sở mã, tôi đoán bạn chỉ cần làm cho python-mode.el sử dụng kiểu thụt lề mà bạn thích?

Nhìn vào các biến py-indent-offsetpy-smart-indentation (và có thể cũng py-continuation-offsetpy-honor-comment-indentation). Cũng như bình thường indent-tabs-mode.

Bạn có thể tuỳ chỉnh chúng (M-xcustomize-groupRETpythonRET), hoặc thêm một chức năng tùy chỉnh để python-mode-hook. ví dụ .:

(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)) 
+0

vâng, tôi nghĩ rằng 4 là mặc định, và đó là những gì tôi muốn. Đó là vấn đề của việc sử dụng gợi ý của Sven và có một số công cụ để di chuyển các khối mã xung quanh dễ dàng hơn ... –

-1
(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)) 

Rõ ràng đây là những thiết lập toàn cầu cho các chế độ mà tôn vinh họ (mà python-mode không). Tôi không fudge xung quanh với các thiết lập thụt đầu dòng python-mode ở tất cả.

0

với đặt dấu ngoặc nhọn thông minh thành `t '

python-mode.el hiện tại nên thực hiện.

http://launchpad.net/python-mode

Trong trường hợp của một lỗi, xin vui lòng báo cáo có

Các vấn đề liên quan