Emacs sẽ làm cho tôi một lập trình viên tốt hơn? [đóng cửa]


130

Steve Yegge đã viết một bình luận trên blog của mình :

Tất cả các kỹ sư vĩ đại nhất trên thế giới đều sử dụng Emacs. Các loại thay đổi thế giới. Không phải là gal tuyệt vời trong khối bên cạnh bạn. Không phải Fred, anh chàng tuyệt vời xuống sảnh. Tôi đang nói về những nhà phát triển phần mềm vĩ đại nhất trong nghề của chúng tôi, những người đã thay đổi bộ mặt của ngành. James Goslings, Donald Knuths, Paul Grahams, Jamie Zawinskis, Eric Bensons. Các kỹ sư thực sự sử dụng Emacs. Bạn phải thật thông minh để sử dụng nó tốt, và nó khiến bạn trở nên vô cùng mạnh mẽ nếu bạn có thể thành thạo nó. Hãy nhìn qua vai Paul Nordstrom trong khi anh ấy làm việc đôi khi, nếu bạn không tin tôi. Đây là một công cụ mở rộng thực sự cho những người đã sử dụng các IDE giống như Visual Blub .NET trong toàn bộ sự nghiệp của họ.

Emacs là biên tập viên 100 năm.

Lần cuối cùng tôi sử dụng trình soạn thảo văn bản để viết mã là khi tôi vẫn đang viết HTML bằng Notepad khoảng 1000 năm trước. Kể từ đó, tôi đã ít nhiều phụ thuộc vào IDE, đã sử dụng Visual Studio, NetBeans, IntelliJ, Borland / Codegear Studio và Eclipse cho toàn bộ sự nghiệp của tôi.

Để biết giá trị của nó, tôi đã dùng thử Emacs và trải nghiệm của tôi là một điều khó chịu vì thiếu hoàn toàn các tính năng có thể khám phá được. (Dường như có một lệnh Emacs để khám phá các lệnh Emacs khác mà tôi không thể tìm thấy bằng cách này - nó giống như sống trò đùa giống như Zen độc ác của riêng bạn.) quyết định rằng tôi muốn có các nhà thiết kế GUI kéo và thả, IntelliSense và gỡ lỗi tương tác thay thế.

Thật khó để phân tách sự thật với chủ nghĩa fanboy, vì vậy tôi chưa sẵn sàng nhận ý kiến ​​của Yegge theo mệnh giá.

Có sự khác biệt có thể đo lường được về kỹ năng, năng suất hoặc sự thích thú lập trình giữa những người phụ thuộc vào IDE và những người không, hoặc tất cả chỉ là sự cuồng tín?


22
Cũng đáng lưu ý rằng Paul Graham sử dụng vi; Yegge đưa ra sự điều chỉnh này trong một chú thích trong bài viết được liên kết.
Eli Courtwright

16
Trong tất cả các trình soạn thảo tôi đã sử dụng, Emacs là người duy nhất cho bạn biết cách chạy hướng dẫn mỗi khi nó bắt đầu (cho đến khi bạn học đủ để nói với nó ngừng nói với bạn cách chạy hướng dẫn).
Michael Paulukonis

16
EMACS có nghĩa là gì? Escape Meta Alt Control Shift! ;-)
Peter K.

24
Thuật ngữ chọn nit: Emacs là "trình soạn thảo lập trình viên", không phải là "trình soạn thảo văn bản" đơn thuần. GUI IDE cũng có khả năng chỉnh sửa văn bản, nhưng chúng cũng không chỉ là trình soạn thảo văn bản. So sánh Notepad với Emacs cũng giống như so sánh ... ném đá một thứ gì đó để đánh thứ gì đó với khẩu súng đó vào Ngôi sao chết.
Greg Mattes

8
Rõ ràng một số người không hiểu sự khác biệt giữa tương quanquan hệ nhân quả
Chubas

Câu trả lời:


119

Trước tiên hãy để tôi nói, tôi là một người tự tin chân chính trong giáo phái của Emacs.

Điều đó nói rằng, các blogger là hạt. Bạn viết những gì bạn thấy hữu ích. Tôi thấy rằng Emacs giúp tôi, chủ yếu vì tôi đã dành những năm đại học của mình để trả trước chi phí khởi nghiệp để học cách sửa đổi nó cho phù hợp với nhu cầu của tôi và điều chỉnh bản thân theo nhu cầu của nó.

Nhưng những người khác làm những việc khác nhau, và như họ nói "Không sao đâu".


73
Đã đồng ý. Tôi yêu Emacs, nhưng nghĩ rằng Emacs sẽ giúp bạn trở thành một lập trình viên giỏi hơn giống như nghĩ rằng việc sử dụng các câu lạc bộ golf của Tiger Woods sẽ giúp bạn trở thành một tay golf giỏi hơn, hoặc sử dụng guitar của Eddie Van Halen sẽ giúp bạn trở thành một nhạc sĩ giỏi hơn.
Kristopher Johnson

31
Không đồng ý mạnh mẽ với nhận xét của Kristopher ở trên. Sử dụng các công cụ / nghệ sĩ của một người chơi thể thao tuyệt vời chắc chắn sẽ không khiến bạn trở nên tuyệt vời như họ. Nhưng, sử dụng các công cụ lập trình RIGHT cho công việc RIGHT chắc chắn sẽ! Bạn có thể được tha thứ mặc dù đã đánh đồng lập trình với thể thao và nghệ thuật. :)
Susheel Javadi

6
@Bart: Quan điểm của ông là có nhiều "công cụ phù hợp". Câu lạc bộ golf của Tiger Wood là công cụ tuyệt vời và hoàn hảo cho công việc, nhưng cũng có những câu lạc bộ khác có thể cung cấp kết quả tương tự. Công cụ mà một lập trình viên giỏi sử dụng không định nghĩa họ, khả năng sáng tạo và khả năng của họ.
Seth Moore

9
Tôi nghĩ rằng toàn bộ quan điểm với tuyên bố của Steves là các lập trình viên vĩ đại sử dụng emacs, các nhà phát triển phần mềm tốt sẽ làm việc hiệu quả hơn khi sử dụng IDE. Lập trình viên tuyệt vời luôn lập trình, ngay cả khi sản xuất mã họ lập trình, họ tự động hóa các tác vụ, họ yêu thích make, ant, bash, perl và hudson. Họ biết rằng các tác vụ thủ công trong bất kỳ phần nào của chu trình phát triển phần mềm dễ bị lỗi. Các lập trình viên tuyệt vời cũng biết rằng nếu người khác xây dựng mã của bạn (ví dụ IDE hoặc bất kỳ ai) thì bạn luôn phụ thuộc vào kỹ năng đó khi nói đến việc duy trì mã (ví dụ IDE hoặc bất kỳ ai)
Ernelli

4
Steve Yegge là người đã viết một trình phân tích cú pháp JavaScript hoàn chỉnh ở elisp, vì vậy không có gì phải bàn cãi về việc Emacs đi đâu :)
Tikhon Jelvis

106

Anh ấy (Steve Yegge) đã xây dựng về điều này, theo từng mảnh, trong các bài đăng khác của anh ấy. http://steve-yegge.blogspot.com/2008_04_01_archive.html có lẽ là toàn diện nhất, nhưng thông tin được chôn trong đó vì nó tiếp xúc với chủ đề chính.

Tôi đoán tóm tắt: các lập trình viên chỉ giỏi hoặc có năng lực sẽ chọn một IDE và hiểu rõ về nó, và có thể làm đủ trong đó, nhưng họ sẽ tự giới hạn những gì IDE cung cấp cho họ. Nói cách khác, họ tự thích nghi với IDE. Mặt khác, các lập trình viên vĩ đại sẽ điều chỉnh môi trường của họ để phù hợp với bản thân họ , theo cách như viết kịch bản hoặc công cụ của riêng họ, hoặc mở rộng công cụ của họ. Và đến điểm cuối cùng đó, không chỉ Emacs là môi trường có thể mở rộng nhất mà còn là môi trường dễ dàng nhất để mở rộng, và đó là môi trường mà bạn gặt hái được nhiều lợi ích nhất từ việc mở rộng nó - các tiện ích mở rộng của bạn tích hợp vào Emacs giống như chúng là các tính năng chứng khoán, và vì vậy các tiện ích mở rộng trong tương lai của bạn có thể dựa trên các tiện ích mở rộng trước đó của bạn (loại vòng lặp phản hồi tích cực).


15
Sự khác biệt là năng lượng cần có để mở rộng IDE. Với emacs, tất cả các tệp cấu hình là các tệp chương trình elisp. Vì vậy, về cơ bản, rào cản cho mục nhập thấp đến mức nực cười (chỉ cần thay đổi tệp .emacs của bạn)
shsmurfy

18
Dọc theo đường cùng với Angus. Một IDE tốt không cần phải sửa đổi vô tận để hoàn thành công việc. Một IDE tốt nên có tất cả các tính năng mà một người cần. Chắc chắn bạn có thể muốn định cấu hình các phím tắt và bố cục, nhưng bạn không cần phải viết một loạt các tập lệnh để xử lý mọi thứ.
Kibbee

5
Angus: bạn nói đúng. Nếu bạn phải loay hoay với việc thêm vào thay vì hoàn thành công việc của mình, bạn đã bỏ lỡ vấn đề - Emacs hay không. Sol: Có nhiều hơn để mở rộng sau đó gửi nguồn thông qua các chương trình bên ngoài. Trên thực tế, đó hoàn toàn không phải là một cơ chế mở rộng mạnh mẽ.
Jonathan Arkell

15
Sự khác biệt giữa mở rộng emacs và mở rộng netbeans, studio hình ảnh hoặc nhật thực là tốc độ. Thêm phần mở rộng vào nhật thực cũng giống như viết toàn bộ ứng dụng. Trong khi so sánh, việc viết một phần mở rộng cho emacs có thể là một dòng mã.
Justin Tanner

4
@supercheetah - trông rất nguyên thủy so với intellisense được tìm thấy trong Visual Studio, ví dụ: các biểu tượng hiển thị bên cạnh các thành viên có sẵn là hữu ích! Cá nhân, không có hỗ trợ tái cấu trúc mạnh mẽ, tôi ít quan tâm đến Emacs.
si618

57

Các lập trình viên giỏi nhất sử dụng vi hoặc emacs, bởi vì các lập trình viên giàu kinh nghiệm nhất là tốt nhất, và 20 năm trước, không có nhiều sự lựa chọn ngoại trừ vi và emacs.

Sau khi bắt đầu với vi (khoảng năm 1987) trên một máy có thiết bị đầu cuối văn bản rất chậm, tôi đã chuyển đổi thành (GNU) Emacs sau một vài năm (trên máy nhanh hơn) và sử dụng nó gần như chỉ trong gần 10 năm.

Emacs là môi trường phát triển tích hợp thực sự đầu tiên - toàn bộ chu trình chỉnh sửa / liên kết / biên dịch có thể được kiểm soát trong emacs và bạn có thể tự cuộn cho bất kỳ trình biên dịch nào bạn đã sử dụng.

Ngày nay, các IDE như nhật thực thậm chí còn được tích hợp tốt hơn (thành thật mà nói: emacs hút đồ họa), nhưng Emacs vẫn là một trong những môi trường tốt nhất để chỉnh sửa văn bản "thuần túy".


10
+1 cho lời tiên tri tự hoàn thành trong đoạn đầu tiên.
OregonGhost

12
"Các lập trình viên giàu kinh nghiệm nhất là tốt nhất" - rất xa sự thật, ít nhất là theo hàm ý. Không nói các lập trình viên thiếu kinh nghiệm là tốt hơn, nhưng chỉ vì anh ta đã làm điều tương tự trong hơn 20 năm - KHÔNG có nghĩa là anh ta làm tốt.
AviD

7
Có rất nhiều biên tập viên khác nhau 20 năm trước. Hầu hết trong số họ chỉ đơn giản là không sống sót, nói chung là có lý do chính đáng. Tại sao một anh chàng sử dụng vi hoặc emacs vào năm 1989 tốt hơn một anh chàng sử dụng một trình soạn thảo dựa trên MS-DOS vào năm 1989, hoặc bất cứ điều gì tôi đã sử dụng trên máy tính lớn Control Data?
David Thornley

Heck, 10 năm trước không có một Java IDE tốt !
Susheel Javadi

Từ những gì tôi nhớ về 20 năm trước, vi và emacs là những biên tập viên chiếm ưu thế áp đảo - chỉ vì có rất nhiều biên tập viên (như bây giờ) không có nghĩa là chúng đều được sử dụng rộng rãi như nhau.
FinnNk

34

Cải thiện suy nghĩ rõ ràng và giải quyết vấn đề của bạn sẽ làm cho bạn trở thành một lập trình viên tốt hơn. Không có chương trình nào có thể làm điều đó.

Sử dụng búa tốt hơn sẽ không giúp tôi xây dựng một ngôi nhà đẹp hơn trừ khi tôi biết cách và tại sao. ;)


Một sự tương tự tốt cho những gì tôi muốn nói, quá.
Cướp

21
Nhưng một cây búa xấu sẽ phá hỏng năng suất của bạn trong khi cố gắng xây dựng cùng một ngôi nhà và có thể bạn sẽ kết thúc với một ngôi nhà khác.
dùng51568

Thật công bằng! Một lập trình viên trung bình sẽ không tốt hơn nhiều với chiếc búa đắt tiền.
Jas Panesar

5
Một lập trình viên tuyệt vời có thể xây dựng một ngôi nhà tuyệt vời bằng cách sử dụng đá cho búa. (Anh ấy chậm - nhưng anh ấy vẫn có thể làm được. D)
Egon

Có, nhưng có một trình soạn thảo cho phép dòng mã ra khỏi bạn một cách hữu cơ (mà tôi nghĩ Emacs giỏi hơn hầu hết các biên tập viên) có thể cải thiện suy nghĩ rõ ràng của bạn và do đó giải quyết vấn đề.
Skilldrick

21

Yegge cần gặp Bill Joy. Ông không chỉ là một trong những lập trình viên vĩ đại trên thế giới, ông còn viết rất nhiều vi. Trong vi.

Lời thú nhận đáng xấu hổ ngắn ngủi: Sau 20 năm sử dụng vi (và vim / gvim trong những năm gần đây) cho mọi thứ, vào năm ngoái, tôi đã bắt đầu sử dụng Eclipse để chỉnh sửa java (và Thunderbird cho email), mặc dù trong công việc hiện tại của tôi Máy có bộ nhớ nhỏ đến mức tôi thường sử dụng vi trừ khi tôi cần trình gỡ lỗi.


7
+1 cho vi (thực ra, sử dụng vim, nhưng khác biệt giống nhau). Đó là 98% những gì emacs có thể làm với ít hơn một nửa nỗ lực.
rmeador

25
Tôi đã sử dụng vim trong 5 năm. Sau 20 phút ở Emacs tôi đã thề sẽ không bao giờ quay lại. Vim cảm thấy ngược.
MattBelanger

5
Chính Yegge đã đề cập đến điều này: [Một ngoại lệ đáng chú ý là VIM, cũng rất mạnh bởi tất cả các tài khoản, mặc dù tôi không có kinh nghiệm với nó. Nếu bạn đã phát triển một ưu tiên cho vi hơn emacs, thì bạn có thể trải nghiệm hạnh phúc lớn hơn khi theo đuổi chuyên môn với VIM. Psh] Nguồn: steve-yegge.blogspot.com/2006/06/shiny-and-new-emacs-22.html
user674062

1
Uh .. Bill Joy không sử dụng vi nữa.
Plumator

13

Có sự khác biệt có thể đo lường được về kỹ năng, năng suất hoặc sự thích thú lập trình giữa những người phụ thuộc vào IDE và những người không, hoặc tất cả chỉ là sự cuồng tín?

Chúng ta hãy thu hẹp điều này xuống Visual Studio so với Emacs --- câu hỏi quá rộng và tôi nghi ngờ hầu hết mọi người (ít nhất là ở đây trên StackOverflow) đều quen thuộc với hai người đó. [Tôi, và tôi sử dụng và thích emacs]

Tiếp theo, hãy phá vỡ ba thành phần của câu hỏi.

Thưởng thức lập trình tập trung vào việc chủ yếu thích lập trình trong chính nó, và thứ hai là không có các yếu tố gây phiền nhiễu bật lên khi bạn làm điều đó. Sử dụng các công cụ mà bạn đấu tranh sẽ làm mất đi sự thích thú. Vì vậy, tôi sẽ đoán, sự thích thú có thể được tối đa hóa bằng cách sử dụng các công cụ bạn thích và quen thuộc.

Tất nhiên, một khi bạn đã làm quen với một công cụ mới, bạn có thể thấy rằng bạn thích công cụ đó hơn, và do đó sẽ thích lập trình hơn nếu bạn làm điều đó với công cụ yêu thích mới của mình . Tôi không rõ ràng rằng mọi người nói chung sẽ thích VS hơn emacs (hoặc ngược lại) khi họ biết cả hai.

Tiếp theo, kỹ năng lập trình. Nếu có bất kỳ mối liên hệ nào giữa kỹ năng và lựa chọn VS / emacs, tôi nghĩ đó là kỹ năng gây ra sự lựa chọn, không phải là kỹ năng gây ra sự lựa chọn. Theo kinh nghiệm của tôi, không ai trong số {VS, emacs}, dường như khiến tôi học được bất cứ điều gì về cách viết mã tốt hơn .

Một công cụ tốt có thể khiến tôi có thể viết cùng một mã (và do đó có cùng chất lượng mã) trong khoảng thời gian nhỏ hơn; nếu chúng tôi giả định điều đó productivity = quality of code `times` code per time, thì lý do là bất kỳ trình soạn thảo nào sẽ cho phép bạn viết mã tốt trong thời gian ngắn hơn là tăng năng suất.

Tôi có thể quá xa lạ với VS, nhưng ở đây tôi nghĩ emacs có một số điểm mạnh mà tôi chưa tìm thấy ở VS. Nghe có vẻ vô lý, nhưng một thứ đơn giản như chuyển động của con trỏ Ctrl-[fbnp]là một lợi ích thực sự --- nó có nghĩa là bạn không phải di chuyển bàn tay của mình đến các phím mũi tên. Một điều nữa: bạn có thể thực hiện tìm kiếm hoặc thay thế bao gồm các dòng mới, mà tôi thường sử dụng đủ để tôi không muốn bỏ lỡ nó.

Một điều tôi thích là khả năng nhúng một trình bao trong trình soạn thảo của tôi. Theo kinh nghiệm của tôi, nó có giá trị hơn nhiều trên các nền tảng không phải là windows (và trải nghiệm "lập trình" đầu tiên của tôi, IIRC, là viết các tệp DOS .bat, vì vậy tôi không chỉ là một fanboy rực lửa), mà trên các nền tảng đó là một chiến thắng lớn . Nó làm cho emacs "tích hợp" với "mọi thứ" (tìm kiếm tệp với find / định vị, tìm kiếm văn bản với grep, kiểm soát phiên bản với svn / git / hg / ..., bạn đặt tên cho nó).

Phán quyết cuối cùng - bạn có nên học emacs hay không? Và có phải tất cả là fanboy? Nếu bạn có thời gian, tôi sẽ nói rằng luôn đáng để học những cách mới để làm điều tương tự, bởi vì cách mới có thể mang lại hiệu quả tốt hơn cho bạn. Và tôi khuyến khích bạn không từ chối nó vì những gì nó xuất hiện khi bạn hoàn toàn mới với nó. Theo nghĩa đó, nó giống như chuyển sang cách bố trí bàn phím Dvorak: ban đầu bạn chậm hơn, nhưng một khi bạn tăng tốc, bạn có thể sẽ nhanh nhất là trên qwerty và thoải mái hơn. Tôi cũng đề xuất cách tiếp cận tương tự để học các ngôn ngữ (lập trình) mới: bởi vì bạn không biết từ vựng (thư viện chuẩn), nói rằng mọi thứ thật khó khăn, nhưng phần thưởng vẫn còn đó trong thời gian chờ đợi bạn.


1
"Chúng ta hãy thu hẹp điều này xuống Visual Studio so với Emacs --- câu hỏi quá rộng và tôi nghi ngờ hầu hết mọi người (ít nhất là ở đây trên StackOverflow) đều quen thuộc với hai người đó." -- Có thật không? Tôi nghĩ rằng có rất nhiều fanboy cuồng nhiệt như tôi, những người sẽ không bị buộc phải sử dụng VisualStudio, ít sử dụng nó một cách tự nguyện. Hrm.
Xiong Chiamiov

"Chuyển động con trỏ với Ctrl- [fbnp] là một lợi ích thực sự". Mặc dù tôi yêu Emacs, sau khi trở lại nó sau một thời gian gián đoạn dài, tôi thấy chuyển động của con trỏ theo cách này là khía cạnh ít hữu ích và thoải mái nhất khi sử dụng Emacs một lần nữa. Ngược lại, tôi có thể tiếp cận và tìm các phím con trỏ chuyên dụng mà không cần nhìn hay thậm chí không cần suy nghĩ. Có lẽ nó giúp để trở thành một người chơi piano? :) Nhưng ai biết được, với thời gian, có lẽ C-Scrunch-letter sẽ cảm thấy tự nhiên hơn.
Greg Hendershott

2
ps Tôi hoàn toàn đồng ý về shell và nền tảng. Nếu bạn muốn di chuyển giữa Windows, OS X và Linux, thì bạn muốn Cygwin trên đầu tiên và Emacs trên cả ba. Ném .emacs.d của bạn lên GitHub và bạn thật tuyệt vời.
Greg Hendershott

đồng thời, bạn có thể thực hiện tìm kiếm bao gồm các dòng mới trong Visual Studio bằng cách sử dụng regexes
Axarydax

10

Với văn bản được trích dẫn bắt đầu "Tất cả các kỹ sư vĩ đại nhất trên thế giới đều sử dụng Emacs", tôi cũng sẽ không xem nó theo mệnh giá. Anh ấy có biết tất cả các kỹ sư vĩ đại nhất thế giới không? Đây có phải là danh sách các kỹ sư vĩ đại nhất thế giới mà bạn hoặc tôi có không?

Sau khi học, một trình soạn thảo mạnh mẽ như EMACS hoặc vi sẽ giúp bạn hiệu quả hơn hoặc ít nhất là hiệu quả hơn nếu bạn tình cờ bị bắt mà không có IDE yêu thích.

Đó là phần "đã từng học" là kẻ giết người. Đó là rất nhiều công việc và thực hành để sử dụng các công cụ này một cách hiệu quả, và nó rất khó khăn ngay từ đầu.


1
Tôi nghĩ rằng một trong những phẩm chất thực sự giúp ai đó trở thành một kỹ sư "vĩ đại" là có thể trì hoãn sự hài lòng và gánh vác một chi phí khởi động cố định lớn hơn để cải thiện hiệu quả.
Tikhon Jelvis

9

Tôi là một fanboy của Emacs, cá nhân, nhưng Emacs chỉ là một công cụ. Nó sẽ không làm cho bạn trở thành một lập trình viên giỏi hơn bất kỳ một cây bút siêu lạ mắt nào sẽ giúp bạn trở thành một nhà văn giỏi hơn.

Việc làm rõ rằng "các lập trình viên vĩ đại" thích nghi môi trường của họ với chính họ có thể có một số giá trị, nhưng rất nhiều công cụ có thể làm điều đó (ví dụ vim và SlickEdit), vì vậy không có gì đặc biệt về Emacs về vấn đề đó.

Tôi nghĩ điều có thể đúng nhất là "những lập trình viên vĩ đại" đam mê lập trình và những người đam mê nó có xu hướng tìm các công cụ giúp thúc đẩy niềm đam mê đó. Emacs (và vim và SlickEdit, et al) là một công cụ như vậy.


Những cây bút siêu lạ mắt khiến tôi cảm thấy tất cả Hemingway-ish.
Cheeso

2
Điều đặc biệt về Emacs liên quan đến "thích nghi môi trường" là việc làm như vậy trong Emacs đơn giản hơn nhiều so với Vim hoặc SlickEdit. (hoặc bất kỳ biên tập viên nào khác mà tôi biết)
vedang

8

Tôi không tin có một sự khác biệt, đó là vấn đề ưu tiên hơn.

Tuy nhiên, điều tôi nhận thấy là bạn đã mã hóa càng lâu hoặc bạn đã mã hóa ở cấp độ thấp hơn thì khả năng cao là bạn đã sử dụng emacs hoặc vi.


"Bạn đã mã hóa lâu hơn" dường như lập luận rằng đã bắt đầu viết mã trước khi có các IDE tốt.
Paul Tomblin

3
Có một điều như một IDE tốt, con trai?
David Thornley

8

Mặc dù IDE đã trở nên tốt hơn rất nhiều trong thập kỷ qua, nhưng chúng vẫn chứa chương trình trong một "bong bóng" an toàn, khác xa với một số chi tiết xấu nhất. Điều có xu hướng xảy ra là sự gia tăng trừu tượng này cho phép nhiều lập trình viên làm được nhiều hơn, với ít kiến ​​thức hơn. Điều đó, tất nhiên, không áp dụng cho tất cả các lập trình viên, nhưng các công cụ dễ dàng hơn sẽ đưa chương trình đến với nhiều đối tượng hơn.

Nhiều kiến ​​thức hơn về các công cụ cấp thấp hơn, thường chuyển thành sự ổn định hơn trong mã, vì có ít khả năng "đi ngược lại hạt". Thật không công bằng khi chỉ liệt kê EMACS là chỉ số hàng đầu duy nhất, vì nó đến từ toàn bộ các ngôn ngữ và công cụ, và thực sự là về chiều sâu của sự hiểu biết, chứ không phải công nghệ cụ thể.

Quay trở lại, bạn đã học VI hoặc EMACS trên các hộp UNIX hoặc bạn chuyên về PC (OK, cũng có VMS, CMS, AS400, v.v., nhưng đó là những công nghệ cũ hơn). Cả hai luồng thu hút những người rất quan tâm, nhưng những người UNIX có xu hướng muốn một giải pháp tinh vi, trong khi những người PC chỉ muốn nó được thực hiện nhanh chóng. Các nền văn hóa rất khác nhau.


7

Các IMHO IDE có xu hướng được tối ưu hóa xung quanh một nền tảng hoặc ngôn ngữ hoặc HĐH cụ thể: JDT Eclipse rất tốt cho Java, Visual Studio là C ++ /. NET-centric, v.v. Chúng giúp tăng năng suất rất nhiều (một lần nữa IMHO) nếu bạn chỉ làm việc trên nền tảng đó, nhưng nếu bạn thay đổi nền tảng, về cơ bản bạn phải học một IDE mới (hoặc ít nhất là một bộ bổ trợ, khung nhìn, quan điểm mới và tôi không biết cái gì khác cho Eclipse).

Lợi thế của việc biết emacs, hoặc Textmate hoặc vim (sở thích cá nhân của tôi) hoặc bất kỳ trình soạn thảo chung nào là các kỹ năng bạn có được trong trình soạn thảo đó áp dụng cho dù bạn đang viết cho nền tảng nào. Chúng được tối ưu hóa để chỉnh sửa văn bản và khi bạn thành thạo chúng, bạn có thể chỉnh sửa văn bản rất hiệu quả bằng bất kỳ ngôn ngữ nào.

Ngoài ra còn có khẳng định của Yegge rằng các lập trình viên tuyệt vời thích ứng các công cụ của họ với phong cách làm việc của họ hơn là ngược lại. Tôi nghĩ rằng đây là một chiến thắng cho các biên tập viên chung, bởi vì bạn tùy chỉnh một trình soạn thảo, thay vì phải tìm ra cách điều chỉnh bốn IDE khác nhau để hành xử theo cách bạn muốn.


Vấn đề xảy ra khi bạn phải viết trên một nền tảng khác với nền tảng bạn đã sử dụng: ví dụ: bạn chuyển từ * nix sang Windows và các tập lệnh của bạn bị hỏng vì họ giả sử trình bao bourne với các đường dẫn dựa trên '/' trong một Cấu trúc giống FHS với in ấn dựa trên PostScript ...
SamB

Bây giờ tôi đã làm việc với emacs khá lâu và chỉ cần chuyển động con trỏ là đủ để tôi bực bội viết bằng bất cứ điều gì khác - ngay cả khi đó là một email trong KMail.
Arne Babenhauserheide

@ArneBabenhauserheide đây là một lý do tôi yêu thích Mac OS X, hầu như tất cả các trường văn bản đều hỗ trợ C-[npfbaed]. (Nhưng thật đáng buồn M-)
porglezomp

6

Tôi tranh luận rằng các lập trình viên giỏi nhất có xu hướng là những người sẽ dành thời gian để tùy chỉnh môi trường của họ, giúp thực hiện các nhiệm vụ mà họ có khả năng sẽ nhanh hơn / dễ dàng hơn. Emacs là một trong những biên tập viên mạnh mẽ nhất khi tùy chỉnh môi trường của bạn. Nó có một đường cong học tập dốc, nhưng, khi bạn đã vượt qua điều đó, hầu như không có giới hạn đối với những gì bạn có thể làm cho nó làm cho bạn.

Ai đó đã từng nói rằng những lập trình viên giỏi nhất là những người lười biếng; những người mà một khi họ cần phải làm một cái gì đó nhiều hơn một lần, hãy tìm cách tự động hóa nó để mất ít công sức hơn để làm. Emacs cho phép bạn rất, rất lười biếng;)


4

Tôi đã sử dụng IDE ngay từ đầu (có thể nói là đã bắt đầu với QBASIC) và trong nhiều năm. Bây giờ tôi đã chuyển đổi gần như hoàn toàn sang VIM (với nhiều hương vị khác nhau) cho tất cả công việc phát triển của mình và tôi không hối tiếc. Năng suất của tôi chắc chắn đã tăng lên.

Tất nhiên, không có gì thay thế trình thiết kế Windows Forms từ Visual Studio. Nhưng so với VIM (và Emacs, tôi chắc chắn) trình soạn thảo văn bản trong Visual Studio thực sự tệ hại. Khi bạn khai thác sức mạnh thô của giao diện điều khiển và các công cụ phát triển GNU (mà tôi muốn nói make, GCC, binutilsgdb, và sau đó một số), bạn sẽ nhận thấy rằng những công cụ này có thể trông thô sơ nhưng chúng chỉ là đối diện, và thực sự cung cấp tất cả các công cụ mà IDE cung cấp (tốt, ngoại trừ trình thiết kế biểu mẫu).

Chỉ là bạn đã vượt lên rất nhanh trước bạn khi bạn mới bắt đầu sử dụng những công cụ này và ưu đãi có thể nhỏ. Tôi đã đủ may mắn (?) Khi bị buộc phải sử dụng những công cụ này vì vậy tôi không có lựa chọn nào khác mà tôi có thể từ bỏ.


3

Cá nhân, tôi cảm thấy rằng bạn nên sử dụng bất cứ điều gì làm cho bạn năng suất hơn. Nếu bạn không có thời gian để đầu tư vào một dự án để ngồi và học Emacs, thì đó có lẽ không phải là cách sử dụng tốt nhất thời gian của bạn tại thời điểm đó.

Tuy nhiên, tôi cảm thấy rằng nên tìm hiểu các IDE khác khi bạn có nhiều thời gian để làm như vậy. Tôi sử dụng Visual Studio trong công việc hàng ngày, nhưng ở nhà tôi sử dụng Eclipse cho các dự án nhỏ và đã sử dụng Emacs cũng vậy. Tại thời điểm cụ thể mà tôi đã cân nhắc sử dụng Emacs, nỗ lực của tôi được phục vụ tốt hơn khi hoàn thành công việc thực tế hơn là làm chậm bản thân vật lộn với Emacs.

Tôi nghĩ ở một mức độ nhất định, thật phi lý khi nghĩ rằng tất cả các lập trình viên giỏi nhất đều sử dụng Emacs. Có nhiều lập trình viên tuyệt vời, những người không nổi tiếng (hoặc có thể là giọng hát, có lẽ) không sử dụng Emacs.


3

Tôi bắt đầu sử dụng Emacs khoảng một năm rưỡi trước vì đó là hợp lưu của một số mong muốn - muốn làm việc với các biểu thức thông thường (trong một trình soạn thảo hỗ trợ chúng), muốn học lisp, muốn một trình soạn thảo tốt hơn.

Chỉnh sửa mã của tôi bằng regexes đã dạy tôi rất nhiều về việc tìm các mẫu trong mã. Các tổ hợp phím mất một lúc để làm quen, nhưng tôi bay nhanh hơn rất nhiều mà không cần chuột.

Emacs cho tôi khả năng tiếp tục làm việc với các ghi chú và mã hóa trong cùng một ứng dụng - chuyển đổi ngữ cảnh tối thiểu có nghĩa là chuyển đổi não tối thiểu và tôi có thể tiếp tục tập trung vào nhiệm vụ trong tay.


3

Không. Mã tốt làm cho bạn một lập trình viên tốt hơn.

Điều đó nói rằng, thao tác văn bản tốt là chìa khóa cho hiệu quả. Hoặc vim hoặc emacs sẽ thay đổi cách bạn làm việc với văn bản - cả hai đều được chứng minh là hiệu quả nhưng gần như mâu thuẫn với nhau về phong cách. Ngoài ra, cuộc tranh luận này khá cũ (trở lại thập niên 80 và 90 trong đó văn bản -> trình biên dịch là chính), do đó, có nhiều trình soạn thảo văn bản và / hoặc IDE khác có thể giúp bạn trở thành lập trình viên tốt nhất bạn có thể.


3

Không. Nếu bạn tin rằng việc sử dụng emacs làm cho bạn trở thành một lập trình viên tốt hơn, bạn sẽ nhầm lẫn về nguyên nhân và kết quả.

Tôi sử dụng nó hàng ngày, mặc dù. Tôi thấy rằng tôi làm việc hiệu quả hơn với emacs + maven so với Eclipse để phát triển java (mặc dù bây giờ tôi vẫn khởi động Eclipse để thực hiện phiên tái cấu trúc hoặc gỡ lỗi thỉnh thoảng).

Đây là những lý do của tôi:

  • Trải nghiệm chỉnh sửa văn bản thực tế trong emacs đánh bại mọi thứ khác. Thật đáng ngạc nhiên khi bạn có thể hoàn thành nhanh đến mức chỉ bằng bàn phím. Eclipse thiên về chuột hơn và khi bạn gõ bạn gặp rất nhiều khúc mắc khó chịu.
  • Có thể tùy chỉnh emacs bằng elisp là vô cùng mạnh mẽ. Tôi sẽ đi xa hơn để nói rằng nếu bạn không dành thời gian để tìm hiểu sự linh hoạt thô sơ và tùy chỉnh môi trường của bạn, bạn chỉ đang lãng phí thời gian của mình.
  • Có những phần mở rộng cho thực tế bất cứ điều gì bạn có thể muốn làm trong trình soạn thảo văn bản.

1
+1 cho tương quan! = Nhân quả
Xiong Chiamiov

Bạn đang sử dụng chế độ java nào?
avendael

1
Tôi đang sử dụng chế độ java stock đi kèm với Emacs23, với một số tùy chỉnh và hack để chạy các bản dựng maven. Tôi cũng đã bắt đầu sử dụng emacs-eclim, hoạt động như một cầu nối giữa emacs và nhật thực. Nó tốt và có thể sử dụng, nhưng khá thô tại thời điểm này.
fred-o

3

Đối với tôi, lý do chính khiến tôi chọn Emacs trên IDE là vì nó cho phép tôi làm mọi thứ chỉ từ bàn phím của mình. Điều này tốt ở chỗ nó tiết kiệm thời gian khi tôi thường sử dụng chuột. Ngoài ra, vì tôi thấy mình rất cơ động nên tôi có xu hướng bị "rãnh" lập trình bị gián đoạn do sử dụng bàn phím cảm ứng chậm. Ngoài ra, tùy biến của nó làm cho nó tỏa sáng trên một số IDE cho tôi. Tuy nhiên nếu bạn thấy mình lập trình đủ nhanh với một IDE thì tôi sẽ nói rằng quá trình học tập của Emacs không đáng để bận tâm.


2

Có sự khác biệt có thể đo lường được về kỹ năng, năng suất hoặc sự thích thú lập trình giữa những người phụ thuộc vào IDE và những người không, hoặc tất cả chỉ là sự cuồng tín?

Tôi không nghĩ rằng bạn thực sự có thể nhận được câu trả lời cho điều đó. Có rất nhiều cách khác nhau để đo lường kỹ năng, năng suất và sự thích thú lập trình - và tất cả chúng có lẽ rất chủ quan và / hoặc không thể chia thành MỘT điều gây ra điều đó hay không.

Đó vẫn là một câu hỏi thú vị tho.

Niềm tin cá nhân của tôi là - nó phụ thuộc vào lập trình viên :)

G-Man


Fanboys anh chàng. IDE không phải là Biên tập viên. IDE không cần phải là trình soạn thảo tốt nhất.
Perpetualcoder

2

Tôi không nghĩ rằng nó sẽ làm cho bạn trở thành một lập trình viên tốt hơn, nhưng khi bạn có mức THAT, rất có thể bạn sẽ sử dụng emacs (hoặc vi)

: - /

Điều tốt về hai điều đó (tôi chưa bao giờ sử dụng emacs trước đây, nhưng tôi vẫn sử dụng vi cho nhiệm vụ trần tục nhất) là thực tế, chúng không làm gián đoạn quá trình suy nghĩ của bạn, bạn không cần phải rời tay khỏi bàn phím để lấy chuột và tìm trong menu tập tin để có tùy chọn chính xác. Bạn chỉ cần, tiếp tục viết. Trong tâm trí bạn nói một câu như: "Thay thế tất cả các lần xuất hiện của từ này cho điều đó", nhấn enter và tiếp tục với công việc của bạn.

Ngoài ra, tôi không nghĩ họ sử dụng emacs là công cụ duy nhất của họ.

Nó sẽ làm cho bạn lập trình tốt hơn? Chắc là không. Nhưng khi bạn có trình độ chuyên môn đó, có lẽ bạn sẽ thích việc bạn có thể viết mã bằng cách sử dụng các công cụ đó nhanh như thế nào.


Săn trong menu dành cho những người không biết IDE. Tôi không biết lần cuối tôi phải "săn" cho một tùy chọn menu.
tster

Vậy bạn có nghĩ rằng sử dụng "File-> Save" tốt hơn Ctrl-S không? Tôi không nghĩ vậy. Phải lấy chuột, nhấp vào tệp Menu và sau đó di chuyển chuột xuống Lưu mục nhập dường như rất nhiều đối với tôi khi bạn có thể làm điều đó mà không cần dùng tay của bàn phím.
OscarRyz

rõ ràng là tôi đồng ý Tất cả các IDE mà tôi từng sử dụng đều có các phím nóng và kết hợp mở rộng và có thể tùy chỉnh giống như emacs.
tster

2

Không.

Kỷ luật, suy nghĩ phê phán và mong muốn cải thiện bản thân sẽ giúp bạn trở thành một lập trình viên tốt hơn. Bộ công cụ của bạn, trong khi một yếu tố chính trong năng suất của bạn, sẽ không tạo ra thiên tài.

Nếu bạn không thích emacs hoặc vi, đừng sử dụng chúng. Bằng cách không lựa chọn có ý thức, bạn đang định hình môi trường phát triển của mình để phù hợp với nhu cầu và thực tiễn công việc của chính bạn. Trong mọi trường hợp, bạn có quyền sử dụng những gì bạn thích - và bỏ qua bất kỳ ai đủ dại dột để đối xử với bạn về công cụ bạn sử dụng để ghi bit vào đĩa - đó là vấn đề quan trọng.

Lưu ý: "Bộ công cụ" ở đây có nghĩa là "thương hiệu" của các công cụ - trình soạn thảo, trình biên dịch cụ thể, v.v. quá trình cải tiến.


2

Một trong những tính năng tuyệt vời của emacs là nó có thể xử lý khá nhiều loại tệp bạn ném vào nó, với mọi kích cỡ. Phải thừa nhận rằng, nếu bạn đang mở một tệp được mã hóa khổng lồ, nó sẽ không nhất thiết phải hữu ích nhưng nó sẽ mở. Hầu hết các biên tập viên (và IDE) sẽ khiến bạn đau lòng nếu bạn trao cho họ một tệp quá lớn và / hoặc không phải là một trong những định dạng mong đợi của họ.

Hãy thử mở tệp 1 Gig trong Notepad để lấy ví dụ.

Tôi bắt đầu sử dụng Emacs ở đâu đó khoảng năm 1980 và nó luôn là một công cụ trong hộp công cụ của tôi. Nó không phải là công cụ duy nhất nhưng nó luôn là thứ tôi có thể chuyển sang và biết rằng tôi sẽ có thể hoàn thành một số công việc hữu ích.

Bình luận viêm bắt buộc : Mặt khác, tôi không có gì tốt để nói về vi. Tôi luôn cảm thấy rằng vi sẽ vui vẻ giết tôi và bán nội tạng của tôi bất chấp ....

Trong cuộc sống thực, tôi sử dụng Netbeans cho hầu hết các hình thức phát triển và tôi sử dụng emacs mọi lúc để thực hiện chỉnh sửa nhanh chóng. Hầu như không có gì ngoài đó khá tiện lợi như emacs (đối với tôi) khi nói đến việc làm một cái gì đó điên rồ ngay bây giờ.

Bất cứ ai khác phải chỉnh sửa các chuỗi tĩnh trong các tệp thực thi nhị phân được biên dịch? Có một công cụ tốt hơn cho những thứ đó hơn là emacs? Nó chắc chắn làm việc cho tôi.


1
Trong khi đó Visual Studio sẽ hoàn toàn bỏ lỡ cơ hội đó, và thay vào đó hãy tự thỏa mãn với việc rình mò qua ví của bạn để xem có tiền dư không.
Cướp

Xin lỗi, tôi sẽ không biết. Tôi sử dụng Netbeans gần như mọi lúc và emacs khi tôi cần.
Bob Cross

2

Tôi biết bạn đã không hỏi điều này, nhưng một điều mà việc học emacs (không ngờ) đã cải thiện đối với tôi là thao túng một dòng lệnh. Trước khi tôi học các phím bấm emacs, tôi đã sử dụng để di chuyển con trỏ và điều hướng lịch sử bằng các phím con trỏ vì tôi không biết gì hơn. Đó là thứ gì đó trong một khoảnh khắc bóng đèn khi tôi nhận ra mình có thể sử dụng backward-word, move-beginning-of-linebackward-kill-word(mà tôi luôn bị ràng buộc C-w, như Stevey gợi ý ) bash( M-tthường cũng hữu ích và ấn tượng nhất với những người chưa từng thấy nó trước đây).

Tôi thực hiện khá nhiều công việc trên Solaris, trong đó shell gốc là "shell posix" và không có các ràng buộc emacs theo mặc định. Tôi thấy rằng các ngón tay của tôi bây giờ gõ exec bashtheo cách riêng của chúng, mỗi lần tôi đăng nhập, tôi cảm thấy nhanh hơn rất nhiều với các lệnh chỉnh sửa quen thuộc dưới ngón tay của mình.

Mặc dù phải thừa nhận, tôi vẫn thấy những cuốn sách của Knuth khó khăn (mặc dù đáng giá) - vì vậy tôi không nghĩ rằng nó đã cải thiện một cách kỳ diệu chương trình của tôi.


Man, tôi thực sự cần phải tìm hiểu thêm về những mánh khóe đó ... Dù sao đi nữa, bạn không thể thay đổi vỏ đăng nhập của mình hay bạn thực sự có nghĩa là "vỏ cho người dùng root" khi bạn nói "shell root"? Nếu vậy, tại sao bạn đăng nhập với quyền root ???
SamB

2

Emacs làm cho tôi hiệu quả hơn trong thao tác văn bản và điều hướng hệ thống tập tin. Và vì cả hai điều này đều liên quan khi tôi lập trình, nó khiến tôi trở thành một lập trình viên hiệu quả hơn (vì thế tốt hơn).


2

Tôi nghĩ Emacs có thể làm cho bạn trở thành một lập trình viên tốt hơn, mặc dù gián tiếp. Tôi nghĩ Emacs đã cho tôi thực sự viết bằng ngôn ngữ chức năng ( Elisp ) khiến tôi quan tâm đến các ngôn ngữ chức năng khác ( Clojure ) mà tôi đã nói sẽ giúp tôi trở thành một lập trình viên giỏi hơn. Điều đó nói rằng, tôi cho rằng thời gian sẽ trả lời.


Đó là một phong cách thực sự cũ của Lisp (chỉ có năng động và không có phạm vi từ vựng), nhưng chắc chắn nó có nhiều điều để dạy. Điều đó, và nó có thể là một trình soạn thảo văn bản khá hay vào những ngày mà nó thực sự hoạt động đúng!
SamB

1

Có thể sử dụng một số trình soạn thảo có thể tùy chỉnh cho phép bạn thực hiện những điều tiện lợi, nhưng đặc biệt là emacs không nhất thiết phải là Điều tốt nhất có thể. Bản thân tôi là người dùng SlickEdit, tôi làm tất cả những thứ nửa tự động kỳ lạ tương tự với nó mà emacs nổi tiếng. Tôi đã thấy mọi người làm những điều tương tự với vi và các trình soạn thảo dựa trên Windows khác nhau.

Vì vậy, yeah, socket thiết lập tốt, nhưng lập luận rằng Craftsman làm cho One True Socket Set là loại ngớ ngẩn.


Bên cạnh đó, tôi có thể có xu hướng thử SlickEdit nếu nó không dành cho tiếp thị bản lĩnh: "10 lý do không sử dụng SlickEdit - # 1: bạn thích trở thành một lập trình viên tồi. # 2: bạn muốn chi nhiều hơn để làm ít hơn. # 3: bạn là một kẻ biến thái bẩm sinh, v.v. v.v. "
Juliet

Tôi đã vào Slick trước khi nó tiếp thị HAD; chỉ là nó là trình soạn thảo thực sự duy nhất chạy trên OS / 2 3.0 vào thời điểm đó. Đó có lẽ là lý do tương tự mà tất cả những kẻ khác sử dụng emacs ...
mjfgates

1

Nắm vững các ràng buộc chính của Emacs và các hàm tích hợp của nó sẽ cho phép bạn thao tác văn bản nhanh hơn IDE như Eclipse hoặc Visual Studio.

Đừng hiểu ý tôi, hãy xem những video về ưu điểm bằng cách sử dụng Emacs .

Khi bạn đạt đến mức khá trong Emacs, bạn có thể chỉnh sửa hiệu quả bất kỳ ngôn ngữ nào: Java Script, Java, Ruby, Python, HTML, C, C ++, v.v.

Bắt đầu với Emacs là một nỗi đau ở mông, trải nghiệm ra khỏi hộp là tồi tệ hơn xấu. Cấu hình mặc định của Emacs không cho người mới sử dụng Emacs các tính năng mạnh hơn (hippie-extend, etags, yasnippets, v.v.) của Emacs. Tôi đề nghị bắt đầu với các tập tin dấu chấm Emacs Starter Kit .

Một lý do khác mà Steve Yegge tuyên bố rằng các lập trình viên giỏi nhất thế giới sử dụng Emacs, là điều tất yếu. Elisp cho phép lập trình viên có kinh nghiệm sức mạnh để dễ dàng mở rộng Emacs. Viết một phần mở rộng trong Eclipse hoặc Visual Studio khó hơn đáng kể so với việc viết một hàm nhanh hoặc thậm chí là một chế độ nhỏ mới trong elisp.


Câu hỏi là tại sao bắt đầu sử dụng nó? Nếu một người hạnh phúc, thoải mái và năng suất, tại sao lại lãng phí thời gian và công sức cho việc học emacs? Tôi thà học một ngôn ngữ lập trình mới hoặc nghiên cứu công nghệ mới hơn là học một biên tập viên cũ, mặc dù là một ngôn ngữ mạnh mẽ. Chỉ có 24 giờ trong một ngày, sử dụng thời gian một cách khôn ngoan.
sarsnake

một điều nữa tôi muốn lưu ý rằng nó cũng phụ thuộc vào công nghệ bạn đang sử dụng. Emacs có Intellisence không? Tôi đã sử dụng nó trong trường đại học trên các máy UNIX và tôi chắc chắn rằng nó đã thay đổi kể từ đó. Nhưng đối với .NET Intellisence là một PHẢI. KHÔNG có cách nào ai có thể nhớ TẤT CẢ các tên hàm trong tất cả các lớp trong tất cả các không gian tên. Và tôi chắc chắn không đi MSDN mỗi khi tôi cần tra cứu tên hàm. Nếu Emacs cung cấp Intellisence tôi sẽ xem xét nó.
sarsnake

1

Tôi tin rằng một quan niệm sai lầm lớn của nó là sử dụng các trình soạn thảo dựa trên văn bản như VI và Emacs được đánh giá cao hoặc cần thiết để trở thành một "lập trình viên tuyệt vời". Tôi luôn cảm thấy IDE rất mạnh mẽ và họ thường sử dụng nó, và nó thực sự xuất phát từ một sở thích và phong cách.


0

Tôi đã sử dụng emacs ở trường đại học. đó là khoảng 16 năm trước. Tôi không nhìn lại. Mặc dù tôi ước mình vẫn có thể thoải mái với emacs, nhưng sự thật là tôi khá hiệu quả với MS IDE của mình.

các văn bản bạn đăng chỉ là một troll. Vâng. Không có lý do nào khác cho nó ngoài việc bắt đầu một cuộc chiến tôn giáo.


0

Tôi bắt đầu với emacs nhưng chuyển sang vi mà theo tôi là thanh lịch hơn vì nó đơn giản. Ngoài ra nếu bạn từng bị kẹt trong chế độ người dùng, các lệnh ed là một tập hợp con của các lệnh vi. Tôi không biết nếu emacs có thể xử lý đó.

Vì vậy, trong vấn đề đó tôi nghĩ vi làm cho bạn một lập trình viên tốt hơn ..


Emacs DOES có chế độ vi Mx mặc dù, tôi nghi ngờ đó là một trò đùa ...
Brian Postow

Biết những điều cơ bản của vi là điều cần thiết để thực hiện sysadminning. Đó không phải là lập trình, tuy nhiên.
Xiong Chiamiov
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.