Một số cách để có năng suất cao hơn với Emacs là gì? [đóng cửa]


20

Tôi đã sử dụng Emacs khá nhiều và tôi cảm thấy thoải mái với các lệnh / phím tắt cơ bản nhất, nhưng tôi biết Emacs có nhiều thứ để cung cấp hơn những gì tôi đang sử dụng. Một số tính năng ít được biết đến của emacs có thể giúp tôi trở thành một lập trình viên năng suất hơn là gì?


8
@ Bất cứ ai bỏ phiếu để đóng: điều này chắc chắn không lạc đề ...
Chinmay Kanchi

1
Nếu điều này không đúng chủ đề, tôi cho rằng mục đích chính của trang web này là dành cho các câu hỏi loại "kể cho tôi câu chuyện yêu thích của bạn".
MIA

2
Tôi không thấy làm thế nào điều này có thể được coi là lạc đề. Nếu tôi hỏi điều này tại Stack Overflow, có lẽ nó sẽ bị đóng ở đó vì chủ quan. Vì vậy, nếu Điều này không phù hợp ở một trong hai trang web, nơi tôi có nghĩa vụ phải hỏi một câu hỏi như vậy?
GSto

Lập trình viên năng suất eh ..
Daniel Little

2
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì nó đang hỏi về một công cụ phần mềm. Tuy nhiên, nó quá rộng và quá cũ để di chuyển sang Stack Overflow.

Câu trả lời:


17

Học elisp.

  1. Nó cho phép bạn lập trình bất kỳ phím tắt nào bạn có thể nghĩ ra. Bất cứ khi nào bạn thấy mình thực hiện một quy trình gồm nhiều bước cho một cái gì đó hữu ích, bạn tạo một chức năng từ nó và liên kết nó với một tổ hợp phím nóng.

  2. Nó cho phép bạn thử nghiệm lập trình chức năng - học một mô hình mới là một cách tốt để mở rộng tầm nhìn của bạn.


Cộng với việc có một số mức độ trôi chảy, sẽ mở ra một thế giới cấu hình. Ngay khi có gì đó làm phiền tôi, tôi chỉ cố gắng sửa nó. Ngoài ra, yasnippet cho phép các đoạn mã có thể lập trình có thể tiết kiệm hàng tấn gõ (như thay đổi mẫu được chèn nếu bạn đang ở trong một tệp tiêu đề hoặc tệp thực hiện và khoảng một triệu thủ thuật khác).
Julien

9

Hãy xem trang SO này, nó có đủ mẹo để tăng năng suất Emacs của bạn ít nhất gấp 2 lần:

http://stackoverflow.com/questions/60367?tab=votes&page=1

Ngoài ra, bạn hoàn toàn tích cực phải sử dụng chế độ Org nếu bạn là người dùng Emacs:

Org: Cuộc sống của bạn trong văn bản thuần túy

EDIT: Thật không may, có vẻ như người điều hành SO không chỉ đóng câu hỏi / liên kết đầu tiên mà còn loại bỏ nó, phá hủy kiến ​​thức và sự khôn ngoan trong quá trình này. (Hãy ghi cuốn sách này, chúng tôi không biết nó thuộc về đâu!) Cho đến bây giờ, liên kết thay thế hữu ích duy nhất tôi tìm thấy là chủ đề HN thảo luận về chủ đề SO:

Tính năng Emacs hữu ích nhất - Tin tức Hacker


Liên kết SO không còn hoạt động
funkybro

Cảm ơn vì đã đề phòng, đưa ra một giải pháp thay thế, nó không tốt bằng nhưng có một số mẹo.
limist

1
Bạn vẫn có thể tìm thấy bài đăng bị xóa trong www.stackprinter.com xem: stackprinter.com/ Kẻ
barracel

@barracel Cảm ơn bạn! Một chương trình / dịch vụ đã cứu chúng tôi khỏi sự ngu ngốc của người điều hành.
limist

4

Off đỉnh đầu của tôi:

M-x compile     (now do C-x ` to cycle through errors)
M-x gdb
M-x grep-find
M-x find-tag    (aka M-.  and C-u M-. is "next" tag)
inferior-processes (if you use an interpreted language, 
                    you can eval directly from Emacs)
C-x v v         ([version control][1])

Nói chung, chương Chương trình biên dịch và kiểm tra của các trang thông tin là một bài đọc tốt.


4

Steve Yegge vĩ đại đã viết một bài đăng blog rất hay 10 cách cụ thể để cải thiện năng suất của bạn với Emacs . Nó bao gồm các thủ thuật và thói quen như

  • cấu hình bàn phím (Hoán đổi Caps-LockControl, đảo ngược M-X)
  • Xóa từ bằng backspace(nếu bạn là người đánh máy đủ nhanh, loại bỏ toàn bộ từ và gõ lại từ đó sẽ thuận tiện hơn là nhấn liên tục backspacecho đến khi lỗi đánh máy của bạn bị xóa)
  • Điều hướng bằng cách tìm kiếm gia tăng
  • Sử dụng bộ đệm tạm thời và học cách điều hướng bộ đệm hiệu quả
  • Loại bỏ điều hướng bằng chuột, menu và những thứ GUI khác
  • Học cách sử dụng hệ thống trợ giúp
  • Học sức mạnh của biểu thức chính quy

Ông cũng liệt kê một số chế độ emacs hữu ích và đề cập đến nhiều thủ thuật khác khiến mọi người chờ đợi để cập nhật trong tương lai cho bài đăng trên blog.


2

Tôi biết bạn đã hỏi cụ thể về các phương thức và lệnh, nhưng tôi sẽ đề xuất cách tiếp cận toàn diện sau:

  1. Đọc một cuốn sách về Emacs: có một số bao gồm cả Hướng dẫn sử dụng EmacsHọc Gnu Emacs của Cameron Et al. Tôi biết "đọc hướng dẫn" âm thanh nhàm chán và hạ mình, nhưng những gì tôi đang thực sự nói là mỗi lần tôi đọc hướng dẫn, tôi tìm hiểu về một cái gì đó thực sự mát mẻ mà tôi thậm chí không nghĩ đến. Tôi luôn cảm thấy mình không dành đủ thời gian để đọc hướng dẫn.
  2. Tham gia vào Cộng đồng Emacs: Emacswiki là một nơi tuyệt vời để giao tiếp với những người dùng Emacs khác và tìm hiểu về các gói thú vị. Ngoài ra, việc tham gia trợ giúp-gnu-emacs có thể tốt, bởi vì mọi người sẽ yêu cầu trợ giúp về các tính năng mà họ đang sử dụng và qua proxy, bạn có thể tìm hiểu về các tính năng đó. Tôi đã tìm thấy nhiều tính năng thú vị bằng cách thấy ai đó yêu cầu giúp đỡ và sau đó đọc về nó trong hướng dẫn.
  3. Tìm hiểu một số Lisp : Khi bạn ít nhất có thể thảo luận về Emacs Lisp, bạn sẽ ở một nơi tốt hơn nhiều để tìm hiểu về các tính năng mới.
  4. Sử dụng Emacs mọi lúc. Tôi sử dụng Emacs cho mọi thứ trừ trình duyệt web (điều mà bạn cũng có thể làm) và do đó tôi luôn có cơ hội học cách làm một số điều mới tốt hơn với một số tính năng do Emacs cung cấp. Tôi sử dụng Emacs để gửi thư , lập lịch và lập kế hoạch , kiểm soát phiên bản , tài liệu LaTeX lập trình. Về tất cả thời gian của tôi dành cho Emacs hoặc Firefox.

2

Tùy chỉnh quy trình công việc tùy chỉnh

Khi tôi bắt đầu thực hiện Test Driven Development, tôi đã tạo một hàm elisp cho phép tôi chuyển giữa tệp với các bài kiểm tra đơn vị và tệp có mã sản xuất một cách dễ dàng.

Tôi cũng bắt đầu sử dụng yasnippets cho một vài cấu trúc ngôn ngữ chính, giảm thời gian tôi phải viết thứ tôi viết hàng trăm lần mỗi ngày.

Cuối cùng nhưng không kém phần quan trọng; Tôi đã tạo chế độ luddite , nó chỉ đơn giản là tắt các thanh menu / công cụ, tua và thanh cuộn, buộc tôi phải sử dụng phím tắt càng nhiều càng tốt.


0

Hai lệnh tôi có xu hướng sử dụng mỗi giờ và sau đó là string-rectanglekill-rectangle. Cái trước cho phép bạn chèn văn bản lặp đi lặp lại trong một cột cụ thể trên một số hàng; cái sau làm ngược lại.


-1

Tôi đoán đây không phải là tính năng "ít được biết đến", nhưng tôi có xu hướng sử dụng Emacs cho bất kỳ chỉnh sửa văn bản lặp đi lặp lại. Quy tắc bàn phím-macro! http://jamesthornton.com/emacs/node/emacs_487.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.