2009-12-07 68 views
14

Tôi mới làm quen với emacs và tôi muốn sử dụng emacs cho phát triển python. Tôi đang sử dụng Ubuntu 9.10. Tôi thất vọng khi nhận được các emacs làm việc với python. Tôi sử dụng GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu, GTK + Phiên bản 2.18.0).Làm thế nào để sử dụng Emacs với Python

Đây là những gì tôi đã làm. *

Emacs đi kèm với chế độ python nhưng rất khó hiểu có hai loại chế độ một là python-mode.el và một loại khác là python.el. Tôi sử dụng emacs 23 vì vậy tôi là python.el (tôi nghĩ). Tôi có cần chế độ python không? Hoàn thành mã không hoạt động khi tôi nhấn M-Tab, thay vì trình quản lý cửa sổ hoạt động. Tôi đã thử Esc-Tab nhưng nó nói "Không phù hợp". Làm thế nào tôi có thể kích hoạt hoàn thành mã?

Sau đó tôi cài đặt ropemacs

sudo aptitude install python-ropemacs 

Sau đó, tôi tạo ra tập tin emacs tại ~/emacs và tôi đã thêm sau để emacs tập tin

(require 'pymacs) 
(pymacs-load "ropemacs" "rope-") 
(setq ropemacs-enable-autoimport t) 

Sau đó, khi tôi nhấn M/(Alt- /) nó không hoạt động khi tôi cick từ menu Rope-> Code hỗ trợ nó sẽ mở ra một hộp thoại tập tin để chọn thư mục dự án gốc. Tôi chọn thư mục hiện tại có một số mã python. Khi tôi thử lại Mã hỗ trợ từ trình đơn, nó cho biết "Hoàn thành cho x:" không có gì ngoài bộ trống. Làm thế nào có thể làm cho emacs python code hoàn thành công việc?

Sau đó, tôi đã tải về anything.el, bất cứ điều gì-config, bất cứ điều gì-match-plugin vào thư mục ~/.emacs.d Sau đó, tôi thêm vào sau dòng để emacs tập tin

(require 'anything-config) 
(require 'anything-match-plugin) 
(global-set-key "\C-ca" 'anything) 
(global-set-key "\C-ce" 'anything-for-files) 

Đoán những gì nó làm việc. Tôi đã thử "M-x bất cứ điều gì" một lần nữa tôi nhận được Không phù hợp. (Tôi đoán tôi có thể kết hợp của C-ca (đầu tiên kiểm soát-a sau đó e) có thể làm việc nó nói nó không được xác định). Bạn có thể giải thích hoàn thành mã cho python với lời giải thích rõ ràng (từng bước) cho ai đó giả như tôi. Cảm ơn. Chỉnh sửa: Tôi có thể làm việc với con trăn bằng liên kết. Cảm ơn tất cả vì đã trả lời

Trả lời

0

Tôi không thực sự chắc chắn bạn phải làm bất cứ điều gì ưa thích để phát triển Python hoạt động. Trên gNewSense deltah (ngã ba của Ubuntu 8.04) tất cả tôi đã làm là chỉnh sửa một file .py với dòng đầu tiên con người:

#!/usr/bin/python

Và sau đó Emacs chỉ con số nó ra và cung cấp cho bạn tùy chọn chế độ python. Tôi không phải cài đặt bất cứ thứ gì ngoài Emacs.

Sau đó, một lần nữa, điều này có thể không hữu ích như gacSense cài đặt trước Emacs theo mặc định. Tôi sẽ phải làm điều đó trên một trong các cài đặt Ubuntu vani của tôi.

+0

Emacs kích hoạt chế độ Python bằng cách nhìn mở rộng py nhưng mã complation không hoạt động –

+0

Ý tôi là đơn Python là nhìn thấy được. Tôi đã thử từ Menu Python-> Biểu tượng hoàn chỉnh nhưng không hoạt động. –

+0

@TonyCruise Nó nên. Vui lòng gửi báo cáo lỗi tại https://gitlab.com/groups/python-mode-devs/issues vì ​​cần thêm một số thông tin để sửa lỗi. –

0

Emacs đã làm việc với tôi trên Ubuntu 9.10.

Bạn đã thử C-c TAB (cập nhật nhập) trước khi thử hoàn tất mã? Tôi không nghĩ rằng nó hoạt động trừ khi bạn làm điều đó.

+0

Tôi đã nhập C-c TAB. Sau đó, tôi viết impo (tôi muốn nó để comlete để nhập khẩu) sau đó từ trình đơn Python-> Hoàn thành biểu tượng tôi đã nhận Không phù hợp. –

+0

Có bạn đã đúng. Các ngón tay của tôi đã gõ 'M- /' hoạt động, nhưng không giống với mục nhập của trình đơn 'Biểu tượng hoàn chỉnh' không có tác dụng. –

2

Tôi nghĩ bạn làm muốn gói python-mode được cài đặt! Các biến thể ropemacs dường như chỉ để tái cấu trúc, và các pymac cho phép Python như là một ngôn ngữ mở rộng Emacs - không phải cái nào là cái bạn cần để hỗ trợ chuẩn.

+0

Bây giờ tôi đã thử sau sudo aptitude cài đặt python-mode sau đó tôi nhận được thêm một menu IM-Python và menu Python khác hoàn toàn thay đổi ngay bây giờ không có biểu tượng Hoàn thành –

+0

Đó là cách thức - bạn cần các công cụ emacs khác để cung cấp cho bạn hoàn thành mã dưới Linux. EmacsWiki có thể giúp bạn bắt đầu và các công cụ (cedet, ecb, ...) cũng có trong Ubuntu. Điều đó nói rằng, tôi không sử dụng nhiều bên cạnh TAGS và 'đơn giản hơn nhiều nhưng chủ yếu là đủ tốt' M- /. –

+0

@TonyCruise Dường như một phiên bản lỗi thời được sử dụng. Xin vui lòng tải một hiện tại, phát triển là ở đây: https://gitlab.com/groups/python-mode-devs –

3

Tôi đã không thử bất cứ điều gì, và tôi đã không có nhiều may mắn với dây (cây nguồn khổng lồ gây ra emacs của tôi để treo khi lưu bất kỳ tập tin).Thay vào đó, tôi thấy việc hoàn thành mặc định hoạt động đủ tốt cho mục đích của tôi.

Phím tắt hoàn thành mặc định là M-/. Điều đó chạy dabbrev-expand để mở rộng từ hiện tại thành "từ trước, gần nhất mà từ đó đây là tiền tố." Nó không hoàn hảo: Nó sẽ không phân tích các loại, và nó sẽ không tìm kiếm nhập khẩu, nhưng nó hoạt động trong 90% các trường hợp.

(Bạn sẽ phải tắt sợi dây thừng.)

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