2009-07-08 10 views
30

Có vẻ như có một vài trại khi nói đến Emacs trên OSX; Carbon so với Aqua Emacs. Có vẻ như lập luận rằng Aqua hơi xa so với các Emacs tiêu chuẩn và nếu bạn cảm thấy quá thoải mái thì bạn sẽ gặp rắc rối khi sử dụng bất kỳ một Emacs nào khác.Carbon so với Aqua vs. Ca cao Emacs xây dựng

Là một nhà phát triển đã cố gắng xâm nhập vào Emacs trong một vài tháng, tôi đã sử dụng Carbon Emacs với số Emacs Starting Kit và mọi thứ sẽ ổn.

Nhưng với việc xây dựng Ca cao của Emacs đến với Emacs 23 (và bản dựng hàng đêm), điều này có thay đổi gì không?

Tôi có nên cân nhắc việc sử dụng bản dựng ca cao hàng đêm trong dự đoán không? Tôi rất tò mò muốn tìm ra những lợi ích và nếu có thay đổi hoặc cải tiến đáng kể so với hai ứng dụng OSX Emac chính.

Trả lời

28

Là một người sử dụng emacs thời gian dài, tôi sẽ recommand chống lại các phiên bản "kỳ lạ" của emacs (Aquamacs rơi vào loại di , nhưng điều này "bộ khởi động" điều là tốt, và hãy để tôi cố gắng giải thích tại sao), chỉ vì lợi ích của đào tạo ngón tay và đào tạo não cũng.

Đối số của tôi là bạn muốn tìm hiểu emacs một lần và cho tất cả, bất kể nền tảng (tức là kết hợp OS/desktop/phần cứng/bất cứ điều gì) bạn sẽ sử dụng emacs. Hầu như mọi hương vị của unix đều đi kèm với một emacs được cài đặt sẵn, vì vậy hy vọng là bạn sẽ không bao giờ phải sử dụng đến ví dụ. vi, ngay cả trong các môi trường thù địch nhất (ví dụ: chỉnh sửa tệp cấu hình/etc trên máy chủ HP/UX từ xa qua ssh). Bạn sẽ vẫn có thể sử dụng các emacs 19 mà ngồi ở đó, và thậm chí nếu nó không có tập tin cấu hình của bạn (có nghĩa là, bộ khởi động của bạn, keybindings của bạn, và các công cụ), bạn vẫn sẽ nói 70% quyền lực chỉnh sửa thông thường của bạn trong tầm tay.

Và nếu bạn thấy mình thường xuyên buộc phải chỉnh sửa những tệp đó trên máy thù địch đó, bạn sẽ muốn sao chép cấu hình .emacs của bạn trên các biểu tượng cũ càng nhiều càng tốt. Tất nhiên, bạn sẽ mất trên đường đi một số thứ không được hỗ trợ ở đó, nhưng một lần nữa, emacs good'ol sẽ luôn là emacs ngay cả khi bị giảm đi.

Tất nhiên, nếu bạn kiểm soát hoàn hảo môi trường làm việc của mình, ví dụ: nếu bạn chỉ làm việc trên máy tính xách tay mac sáng bóng của mình, bạn có thể muốn có một phiên bản facier của các emacs, chỉ vì nó sẽ dễ sử dụng Cmd-C/Cmd-V hơn là học Meta-W/Ctrl-Y. Và vì lý do tương tự nếu bạn phát triển bằng một ngôn ngữ, bạn có thể thực sự sử dụng một IDE toàn diện với các siêu quyền lực được điều chỉnh cho ngôn ngữ đó (ví dụ: Eclipse, Xcode, bất kỳ thứ gì). Nhưng bạn biết rằng đôi khi, bạn sẽ phải chỉnh sửa tệp không mong muốn như tập lệnh shell hoặc trang web hoặc tập lệnh Python hoặc ai biết loại tệp văn bản nào và đây là lý do tại sao bạn muốn sử dụng One True Editor omni mạnh mẽ ngay từ đầu. Và đây là lý do tại sao tôi sử dụng Carbon Emacs trên máy tính xách tay mac sáng bóng của tôi: Tôi nhận được chính xác (emacs) tính năng trên hộp Ubuntu tôi buộc phải sử dụng tại nơi làm việc, bằng cách sử dụng chính xác cùng một tập tin cấu hình (thủ công trong mười năm emacsery của tôi), và tôi vẫn có thể cảm thấy khá confortable trên emacsen của người khác hoặc máy móc khác.

... hai xu của tôi

+2

Cảm ơn vì điều này! Vô cùng sâu sắc! – mwilliams

+3

Và với điều này đang được nói, với việc xây dựng Cocoa được chính thức đóng gói với Emacs 23, nó là một cược an toàn nếu tôi làm việc lên một cấu hình tốt đẹp, nó nên được di động giữa các xây dựng của Emacs, chính xác? – mwilliams

+0

có và không: đầu tiên bạn sẽ phải thực sự _extract_ các phần liên quan trong núi lisp đi kèm với emacs của bạn, nhưng thậm chí sau đó, thói quen ngón tay của bạn (như Cmd-C/Cmd-V, hoặc chọn văn bản bằng cách sử dụng shift + mũi tên phím) sẽ không được di chuyển đến một môi trường "thù địch". Nhập "emacs" trong cửa sổ mac os x terminal để xem ý tôi là gì (và tưởng tượng nó có thể tồi tệ hơn nhiều ;-) – Gyom

2

Tôi đã sử dụng Aqua Emacs tắt và bật trong một thời gian trên Emacs chuẩn. Những thứ tôi thích chỉ là tích hợp hệ thống tốt hơn một chút ... có thể là việc xây dựng Cocoa chính thức của Emacs có thể cung cấp đủ tích hợp giao diện người dùng hệ thống chuẩn mà nó sẽ tạo ra lựa chọn mặc định tốt.

Có thể đáng để thử đêm, nếu chỉ báo cáo lại và giúp họ ổn định mọi thứ.

Điều lạ lùng nhất đối với tôi về Aqua emacs là chế độ mặc định cho tệp .m thực ra là Matlab (sử dụng cùng một phần mở rộng) thay vì chế độ Obj-C!

Một điều tôi muốn thấy là nhận thức XCode lớn hơn từ xây dựng emacs (thực sự chỉ tăng cường những thứ như chế độ Objc tôi đoán).

1
  • Carbon Emacs là emacs
  • Cocoa Emacs là emacs
  • X11 Emacs là emacs
  • emacs -nw (ví dụ: dòng lệnh chỉ emacs) cũng được Emacs
  • Thậm chí Xemacs là đủ gần để emacs cho một người mới bắt đầu mà bạn sẽ không nhận thấy sự khác biệt ngoài GUI: D

Tôi chỉ sử dụng các Emacs Carbon trên mac (*), nhưng tôi không thể tưởng tượng ere là bất cứ điều gì trong ca cao Emacs đó là bất kỳ khác với bất kỳ phiên bản Emacs khác mà không thể được truy tìm đến một cấu hình hoặc một lỗi!

(*) ive dùng X11, emacs dòng lệnh và Xemacs trên nền tảng Linux rộng rãi mặc dù

+0

Aquamac khác với các bản phân phối emacs thường xuyên một chút; rất nhiều keybindings là khác nhau và nó khẳng định về việc sử dụng hệ thống riêng của mình để lưu trữ các sở thích. Điều đó làm tôi từ bỏ nó, vì tôi cố gắng duy trì cùng một cấu hình cho một số cài đặt của các máy và hệ điều hành khác nhau. –

+0

Keybindings có thể được thay đổi bằng cách cấu hình tập tin, không? Đó là những gì tôi đã nói trong câu trả lời của tôi, những khác biệt duy nhất sẽ là trong cấu hình. Không nên sợ sử dụng một emacs khác nếu tất cả những gì bạn cần làm để làm cho chúng giống nhau là thay đổi một tập tin cấu hình. Vì vậy, đọc lại những gì tôi đã nói một cách cẩn thận;) – hhafez

+0

Trong trường hợp emacs là hoàn toàn cấu hình tập tin. – Singletoned

0

Đối với các tập hợp con của emacs mà tôi sử dụng, có rất ít sự khác biệt giữa việc sử dụng Aquamacs và GNU emacs trên một hộp Linux. Đó là chỉnh sửa văn bản chung, tương tác lisp, lệnh đệm, khung mới, khu vực lựa chọn hình chữ nhật, khóa chỉnh sửa emacs tiêu chuẩn, & c. Tôi chỉnh sửa tệp .emacs của mình để tùy chỉnh cấu hình, v.v. (Tôi nghĩ rằng bằng cách sử dụng trình soạn thảo cấu hình đồ họa không sử dụng các tùy chọn Aquamacs, như người khác đã nói.)

Tôi nghĩ xu hướng trong các bản cập nhật gần đây đã được chuyển từ phong cách emac truyền thống sang một cái gì đó khác "Mac- như ", đó là sự thật, và tôi thấy mình tắt các tùy chọn này. Nhưng, bạn có thể uốn cong nó theo ý muốn của bạn và làm cho nó truyền thống hơn.

8

Tôi đã xây dựng Emacs 23 từ nguồn và sử dụng nó với bộ kit khởi động emacs trong một thời gian, và tôi chắc chắn tìm thấy nó là một sự thỏa hiệp tốt.

Có các lối tắt Mac Cmd lành mạnh được tích hợp vào Emacs 23 và bộ công cụ bắt đầu emacs-starter giúp dễ dàng tùy chỉnh chúng trên cơ sở mỗi máy tính/người dùng/người dùng.

Tôi khuyên bạn nên chống lại ý tưởng rằng bạn nên học "emacs tinh khiết" mà không cần tùy chỉnh quá nhiều. Nếu bạn làm điều đó thì bạn đang thiếu một nửa điểm của các emacs. Đó là trình chỉnh sửa có thể tùy chỉnh nhiều nhất, vì vậy hãy tùy chỉnh nó.

Nếu bạn là sysadmin hoặc tương tự, và thường xuyên nhảy vào các máy lạ, đủ công bằng, nhưng nếu bạn muốn một trình soạn thảo giống nhau trên mọi unix, thì vim là lựa chọn tốt hơn nhiều (và phổ biến hơn có sẵn). (Đây cũng là một lý do tốt để học vim ngay cả khi bạn sử dụng emacs làm trình soạn thảo chính).

Bạn nên học các phím tắt cổ điển trước khi thay đổi chúng. Thường có một lý do chính đáng là họ là như vậy. Ví dụ, nếu bạn đã quen với TextMate thì bạn có thể bị cám dỗ để ánh xạ rất nhiều chức năng cho các khóa hợp phím 5 phức tạp, nhưng về lâu dài sẽ dễ dàng hơn khi đi với các chuỗi lệnh dài mà các emacs có khuynh hướng hướng tới. Có ít méo mó hơn khi gõ.Bạn thậm chí sẽ thấy rằng, với việc hoàn thành tab, M-x tên lệnh dài nhanh hơn các hợp âm phức tạp.

Edit:

Vì vậy, để thực sự trả lời câu hỏi của bạn, có bạn nên sử dụng các đêm xây dựng (hoặc tốt hơn, biên dịch chúng mình, nó khá dễ dàng với một google duy nhất, và làm cho bạn cảm thấy ấm áp bên trong). Và tiếp tục với emacs-starter-kit. Bất kỳ vấn đề với nó, cảm thấy tự do để cho tôi một tiếng hét.

+1

+1, Emacs được cho là được sửa đổi để tận dụng tối đa sức mạnh của nó. Vim có lẽ là một lựa chọn tốt hơn cho "máy tính thù địch". –

+1

không làm cho tôi sai, tôi không khuyên chống lại tuỳ biến (và tất cả các kilobyte của .emacs của tôi có thể làm chứng); Tôi khuyên bạn không nên sử dụng hương vị emacsen "không di động" kỳ lạ. – Gyom

5

Tôi đang sử dụng Carbon Emacs bản thân mình và tôi đang chuyển sang cổng Cocoa của GNU Emacs khi nó được phát hành. Tôi nghĩ rằng không có sự khác biệt lớn giữa chúng. Tôi có thể nghĩ về một số mặc dù:

  • "Ca cao" Emacs là "thực" GNU Emacs thay vì một ngã ba như Carbon Emacs, vì vậy nếu bạn muốn cập nhật và sử dụng phiên bản mới nhất, phiên bản Cocoa luôn có sẵn từ GNU CVS.
  • Các Emacs Carbon bao gồm một số gói không rõ ràng không được bao gồm trong GNU Emacs. Có sẵn list.
  • cổng Cocoa là phiên bản 23 khi Carbon là 22. Có thể có một số vấn đề với khả năng tương thích này elisp về, vv

Tôi cũng muốn tránh xa Aquamacs. Giao diện của nó dường như quá định hướng chuột. yuck :)