Lợi ích của việc học Vim là gì? [đóng cửa]


467

Là một lập trình viên, tôi dành rất nhiều giờ cho bàn phím và tôi đã làm việc đó trong 12 năm qua, ít nhiều. Nếu có điều gì đó tôi chưa bao giờ quen trong suốt thời gian này, thì đó là những gián đoạn vi mô liên tục khó chịu và gần như vô thức mà tôi gặp phải trong khi mã hóa, do một số tác vụ chỉnh sửa mã phổ biến nhất. Những thứ như một bản sao đơn giản và dán từ một dòng khác (hoặc thậm chí là cùng một dòng), hoặc di chuyển 1 hoặc 2 dòng lên hoặc xuống từ vị trí hiện tại đòi hỏi phải gõ quá nhiều hoặc liên quan đến việc sử dụng các phím mũi tên ... và nó được tồi tệ hơn khi tôi muốn tiến xa hơn nữa - tôi kết thúc bằng cách sử dụng chuột. Bây giờ hãy tưởng tượng kịch bản tương tự nhưng trên một máy tính xách tay.

Tôi đã luôn cân nhắc việc học VIM nhưng lượng thời gian cần thiết để thành thạo nó luôn khiến tôi muốn lùi lại.

Tôi muốn nghe từ những người đã học nó và nếu nó trở thành một trong những điều bạn không thể sống thiếu.

Trong công việc, tôi sử dụng VS2008, C # và R #, cùng nhau giúp chỉnh sửa mã nhanh hơn và dễ dàng hơn bao giờ hết, nhưng ngay cả tôi cũng nghĩ rằng tôi có thể không cần phải sử dụng chuột.

Và thậm chí không có các phím mũi tên.


7
Không phải chuyển đổi giữa bàn phím và chuột chắc chắn là tốt đẹp. Trên máy Mac, tôi đã sử dụng các phím điều hướng emacs (ví dụ ctrl-A) ngay cả trong trình chỉnh sửa GUI như BBEdit hoặc Xcode, chỉ để tránh di chuyển thêm bằng chuột.
Craig S

236
Nó hoàn toàn xứng đáng với nỗ lực. Tìm hiểu vim;)
Kyle Walsh

20
Bạn có thể học vim cơ bản (quên vi) trong vài phút, chỉ cần nhập vimtutor trong thiết bị đầu cuối và bạn sẽ được thiết lập với cơ bản - những gì bạn học trong 20 năm tới là tùy thuộc vào bạn. Tôi chỉ tò mò làm thế nào để VS2008, C # & R # giúp bạn với các vấn đề liên quan đến việc phải lãng phí cuộc sống của bạn khi di chuyển giữa bàn phím và phím mũi tên / chuột?
stefanB

43
Một trong những khoản đầu tư tốt nhất tôi từng thực hiện.
Johnsyweb

10
Tôi đã tạo ra trò chơi này để giúp cháu trai bảy tuổi của mình học cách di chuyển nhanh chóng trong Vim: kikuchiyo.org Phiên bản Beta cho phép bạn tấn công kẻ thù bằng lightaber, 'i' để tấn công trái và 'a', bên phải: PI học Vim vì những lý do tương tự bạn đã làm. Tôi thấy di chuyển xung quanh phần khó nhất để làm quen. Hy vọng trò chơi giúp bạn tăng tốc, nếu bạn cần giúp đỡ :) Chúc may mắn! :)
kikuchiyo

Câu trả lời:


249

Tôi đã sử dụng vi và vim được khoảng 20 năm và tôi vẫn đang học những điều mới.

Trang web Best of Vim Tips của David Rayner là một danh sách tuyệt vời, mặc dù nó có thể hữu ích hơn một khi bạn đã quen thuộc với vim.

Tôi cũng muốn đề cập đến trang ViEmu có một số thông tin tuyệt vời về các mẹo vi / vim và đặc biệt là bài viết Tại sao, oh TẠI SAO, những người sử dụng đó có sử dụng vi không? ( phiên bản lưu trữ )


8
Vâng, tôi cũng luôn học hỏi những điều mới trong đó. Vẫn là biên tập viên yêu thích của tôi.
Craig S

20
Tôi tự hỏi nếu đó là một điều tốt hay xấu. Nếu bạn liên tục học hỏi những điều mới, đường cong học tập thực sự dốc, các tính năng thực sự bị ẩn và không có cảm giác làm chủ. Dù sao, nếu bạn muốn RISC, bạn đã đi với vi thay vì vim, phải không?
bastibe

7
@Paperflyer: Tôi cũng có suy nghĩ tương tự. Nếu bạn vẫn chưa thành thạo nó sau 20 năm, đó là một vấn đề đau đầu Tôi không chắc là tôi muốn
Dinah

7
Làm sao vậy Điều đó có nghĩa là mặc dù nó có rất nhiều tính năng bạn có thể tiếp tục học, nhưng bạn không cần phải học tất cả chúng để có năng suất cao hơn.
Arda Xi

5
"Tại sao, oh TẠI SAO, những người tàn nhẫn đó có sử dụng vi không?" - Liên kết tốt, đặc biệt là cho câu hỏi

184

Tôi có thể sống mà không có nó? Dễ dàng.

Nó khá hữu ích? Đúng.

Lý do học tập

  • vi được đảm bảo tồn tại trên tất cả các hệ thống Unix và cũng tồn tại trên hầu hết các hệ thống Linux. Đó là loại bảo hiểm rộng làm cho việc học nó có giá trị.

  • Sử dụng vi để sudochỉnh sửa nhanh hơn nhiều :

    $ sudo vi

  • Ngoài ra, GMail sử dụng các lệnh vi-ish để chọn và di chuyển email xung quanh!

Bạn không cần phải là một bậc thầy.

Chỉ can hoc

Những thứ cơ bản:

  • Cách chuyển từ chế độ lệnh sang chế độ chèn i
  • Cách chuyển từ chế độ chèn sang chế độ lệnh Esc
  • Cách điều hướng lên một dòng trong chế độ lệnh k
  • Cách điều hướng xuống một dòng trong chế độ lệnh j
  • Cách điều hướng bên trái một ký tự trong chế độ lệnh h
  • Làm thế nào để điều hướng đúng một nhân vật l
  • Cách lưu tệp :wEnter(ghi)
  • Cách thoát mà không lưu (trong chế độ lệnh) :q!Enter
  • Làm thế nào để hoàn tác u
  • Cách làm lại Ctrl+r
  • Bạn có thể kết hợp viết và bỏ (trong chế độ lệnh): :wqEnter

Từ đó phần còn lại sẽ chỉ làm cho bạn nhanh hơn.


Tôi đã luôn sử dụng "vi rất dễ dàng, bạn sử dụng phím ell để di chuyển con trỏ sang phải" như một cách hài hước (tôi hy vọng) để giới thiệu nó. Nhưng tôi đã sử dụng nó một thời gian dài và sẽ không có. Tuy nhiên, không thể yêu cầu hơn 25 năm cho một cặp vợ chồng khác, vì vậy, không có câu trả lời mới từ tôi.
Jonathan Leffler

16
Đây là cách tôi học nó. Bắt đầu với mức tối thiểu và xây dựng một chút về nó mỗi ngày. Dành thời gian để tìm hiểu một cách tốt hơn để đạt được một nhiệm vụ. Xem "7 thói quen chỉnh sửa văn bản cao" để có cảm hứng.
Ben

Gmail, các phím tắt tìm kiếm thử nghiệm của Google, các phím tắt Slashdot, người đàn ông, và ít hơn tất cả đều sử dụng các ràng buộc giống như vim. Nó làm tôi ngạc nhiên khi phát hiện ra tôi đã vô tình học những thứ này mà không biết vim! Ngay cả Firefox cũng sử dụng / cho tìm kiếm gia tăng (với ngữ nghĩa rất khác so với Ctrl + F).
Adam Rosenfield

29
[:] [X] [Enter] giống với [:] [W] [Q] [Enter]
Vitalii Fedorenko

20
[Z] [Z] giống với [:] [X] [Enter]
Kos

138

Chạy qua vimtutor chỉ mất 30 phút, đủ để làm quen với vim. Đó là giá trị mỗi giây của nó.


Nếu bạn biết về một liên kết giải thích tốt hơn, xin vui lòng thay đổi liên kết của tôi :)
Blorgbeard đã hết

43
vimtutor là chính xác đó, một hướng dẫn. Tôi đã làm nó hàng ngày trong khoảng 10 ngày. Lần đầu tiên tôi mất khoảng 30 phút, ngày hôm sau 20, sau đó 15. Đến cuối tuần, tôi đã có hầu hết các mệnh lệnh của nó in sâu trong tâm trí tôi. Tôi nghĩ thay vì cố gắng ghi nhớ, sự lặp lại là cách tốt nhất để tiếp cận Vim. 15 phút mỗi ngày trong một tuần dường như là một mức giá thực sự nhỏ.
Michael Ekoka

28
Điều gì về một khi chúng ta được thực hiện với VIMTUTOR? Bước tiếp theo để tìm hiểu thêm là gì?
privatehuff


1
ồ nó giống như một trong những vật phẩm ẩn trong trò chơi. Nó ở ngay trong hệ thống của tôi và tôi không biết nó tồn tại. Một trong những hướng dẫn hữu ích và nhanh chóng nhất của vim. Sử dụng vim trong một thời gian tôi vẫn học được một vài thủ thuật cơ bản mà tôi không biết. đề nghị với mọi người. Ngoài ra một gợi ý nhỏ: nếu bạn đang sử dụng vim trên máy tính xách tay có bàn phím cảm ứng và nó hỗ trợ cử chỉ, hãy tắt nó trước khi sử dụng vim vì nếu vô tình chạm vào nó có thể di chuyển con trỏ đến những nơi không mong muốn đôi khi làm lãng phí toàn bộ chỉnh sửa.
Barracuda

69

Nếu bạn là một lập trình viên chỉnh sửa nhiều văn bản, thì việc học Trình soạn thảo văn bản nghiêm túc là rất quan trọng. Trình soạn thảo văn bản nghiêm túc nào bạn học không quan trọng lắm và chủ yếu phụ thuộc vào loại môi trường bạn muốn chỉnh sửa.

Lý do là các trình soạn thảo này được tối ưu hóa cao để thực hiện các loại nhiệm vụ mà bạn sẽ làm rất nhiều. Ví dụ, hãy xem xét thêm cùng một đoạn văn bản vào cuối mỗi dòng. Điều này là tầm thường trong A Serious Text Editor, nhưng lại rất cồng kềnh.

Thông thường các tính năng sát thủ của vim được xem xét: A) có sẵn trên hầu hết mọi Unix mà bạn từng gặp và B) ngón tay của bạn rất hiếm khi phải rời khỏi hàng nhà, điều đó có nghĩa là bạn sẽ có thể chỉnh sửa văn bản rất, rất nhanh . Nó cũng thường rất nhanh và nhẹ ngay cả khi chỉnh sửa các tệp lớn.

Có rất nhiều lựa chọn thay thế, tuy nhiên. Tất nhiên, Emacs là ví dụ phổ biến nhất, và nó không chỉ là một trình soạn thảo văn bản nâng cao nếu bạn thực sự nghiên cứu sâu về nó. Cá nhân tôi bây giờ là một người dùng TextMate rất hạnh phúc sau nhiều năm sử dụng vim / gvim.

Bí quyết để chuyển sang bất kỳ trong số này là buộc bản thân sử dụng chúng theo cách họ dự định. Ví dụ: trong vim, nếu bạn thực hiện thủ công từng bước trong quy trình gồm nhiều bước hoặc nếu bạn đang sử dụng các phím mũi tên hoặc chuột thì có lẽ cách tốt hơn để làm điều đó. Dừng lại những gì bạn đang làm và tìm kiếm nó.

Nếu bạn không làm gì khác, hãy tìm hiểu các điều khiển điều hướng cơ bản cho cả vim và Emacs vì chúng bật lên ở mọi nơi. Ví dụ: bạn có thể sử dụng các điều khiển kiểu Emacs trong bất kỳ trường nhập văn bản nào trong Mac OS, trong hầu hết các shell Unix, trong Eclipse, v.v. Bạn có thể sử dụng các điều khiển kiểu vim trong lệnh less (1), trên Slashdot , trên gmail , Vân vân.

Chúc vui vẻ!


7
Điều này có một điểm trong đó mà nhiều người bỏ qua. Hầu như bất kỳ nhiệm vụ lặp đi lặp lại có một phím tắt. Các nhà phát triển yêu thích các phím tắt. Như rbright đã nói, nếu bạn thấy mình thực hiện một bước liên tục, hãy dừng lại và xem nếu ai đó đã ghi lại một phím tắt.
AvatarKava

A) là một trong những lý do lớn nhất để tôi sử dụng VIM - ban đầu tôi là một anh chàng, nhưng không phải tất cả các hệ thống đều có nó và đôi khi nó chậm trên mạng hoặc trên các máy chủ bận rộn. VIM có mặt khắp nơi, nhỏ và nhanh.
jpeacock

3
Biên tập viên của tôi liên tục làm những chuyện dở khóc dở cười. Tôi nên chuyển đổi.
Greg Graham

Bạn đã nói với tôi rằng "Nếu bạn là một lập trình viên chỉnh sửa nhiều văn bản, thì việc học Trình soạn thảo văn bản nghiêm túc là rất quan trọng." Điều tồi tệ nhất là dường như không thể học được hai (ít hơn nhiều) trong và ngoài, gần như theo định nghĩa. Bạn đang nghiên cứu các trường hợp cạnh tại một số điểm và kiến ​​thức về cách hoàn thành Nhiệm vụ X trong một lần không thường dịch. Và luôn có những điều tôi làm trong các trình soạn thảo "bên lề" - Tôi vẫn sử dụng JEdit cho JTidy, Code2HTML, để tìm kiếm nhiều tệp, ví dụ: Cái chính của bạn là một con xúc xắc, và không có viên đạn bạc, nhưng đúng vậy, hoàn toàn học một và chơi với nhiều người. ; ^)
ruffin

1
@ruffin Đúng vậy, bạn thực sự không thể thành thạo hai trình soạn thảo khác nhau cùng một lúc: nếu bạn thành thạo một trình soạn thảo, bạn sẽ sử dụng rất nhiều lệnh của nó một cách vô thức , và điều đó có nghĩa là bạn rất có thể sẽ cố gắng sử dụng cùng một lệnh khi bạn đang sử dụng trình soạn thảo khác. Đã bao lần tôi nguyền rủa trình duyệt của mình vì không cho phép tôi sửa các vết lõm bằng một cách đơn giản <esc> >i{... Nó thực sự giống như với cách gõ bằng cảm ứng: bạn học một bố cục bàn phím và bạn không thể dừng lại vì bạn sẽ không bao giờ có thể dừng lại ngón tay của bạn gõ phím sai trên một bố cục khác.
cmaster - phục hồi monica

36

Đó chắc chắn là giá trị nỗ lực.

Có một lý do rõ ràng mà bất cứ ai sử dụng Vi(m)sẽ nói với bạn, và hai lý do khác mà mọi người dường như không bao giờ đề cập đến.

Đây là một điều hiển nhiên:

  1. vi ngay lập tức có mặt ở khắp mọi nơi và vô cùng mạnh mẽ, và bằng cách học nó một lần, bạn có được khả năng thực hiện sức mạnh đó trên hầu hết mọi máy tính có bàn phím.

Và đây là những lý do ít được biết đến để tìm hiểu Vim:

  1. Đó không phải là một nửa nỗ lực như bạn nghĩ nó sẽ xảy ra. Chạy qua gia sư Vim một lần ( vimtutortại vỏ hoặc trong Windows chạy nó từ thư mục Vim trong Menu Bắt đầu), và bạn sẽ ổn định theo cách của bạn, và tất cả đều xuống dốc từ đó. Tôi đã đạt đến mức mà tôi có thể sử dụng Vimtại nơi làm việc mà không cần đạt được bất kỳ năng suất đáng chú ý nào trong vòng chưa đến một giờ ăn trưa.

  2. Thật là vui ! Chỉnh sửa văn bản giống như một trò chơi với tôi bây giờ. Tôi tích cực thưởng thức nó - điều này khá vô lý, khi bạn nghĩ về nó.

Cũng có hai lý do tốt để không học Vim:

  1. Nó gây nghiện và bạn sẽ thấy mình ước mình có thể sử dụng Vimcác lệnh trong tất cả máy tính và chửi bới bất cứ khi nào bạn không thể. May mắn thay, ít nhất là đối với một số trường hợp, có những cách để có được xung quanh này .

  2. Một lần nữa, nó gây nghiện và mặc dù bạn sẽ không mất bất kỳ năng suất nào khi thực sự sử dụng Vim , bạn sẽ lãng phí hàng giờ để tìm kiếm các mẹo hay để làm cho Vimtrải nghiệm của mình tốt hơn và đọc thẻ Vim trên Stack Overflow.


12
Haha số 2 với lý do "không" học VIM là rất đúng. Tất cả thời gian đó tôi lưu chỉnh sửa văn bản, tôi dành thời gian đọc về chỉnh sửa văn bản. Nực cười.
Karl Floersch

Vâng, tôi ước tôi có thể chơi thung lũng stardew bằng cách sử dụng hjkl ...
xis

32

Nó chắc chắn đáng để học vim hoặc emacs. Nó cũng đáng để học cách chạm. Trong cả hai trường hợp, các lý do đều giống nhau: suy nghĩ của bạn không còn bị gián đoạn bởi quá trình cơ học để đưa mã của bạn lên màn hình .

Về cách bắt đầu, chỉ cần lao vào và bắt đầu sử dụng vim cho mọi thứ.

PS Cuộc tranh luận về emacs-vs-vi là vô tận. Tôi đã sử dụng emacs trong 26 năm. Nếu tôi bắt đầu lại hôm nay tôi sẽ học vim vì (a) nó sẽ tốt hơn và (b) có ít phím điều chỉnh hơn (Ctl-Alt-V, bất cứ ai) và người dùng vim dường như ít bị thương hơn khi gõ.


RSI là một trong những rủi ro nghề nghiệp của các nhà phát triển. Tôi chưa bao giờ nghĩ về nó theo cách đó nhưng tôi cá rằng đây là một điểm thực sự tốt. Việc gõ hợp âm từ quan điểm cơ bắp khó hơn rất nhiều. Tôi biết có một lý do giết người để sử dụng vi!
DigitalRoss

1
Tôi đã sử dụng cả hai, tôi đã "báp têm" với vim và học được emacs vài tháng trước. Tôi thích vim hơn vì các tác vụ bị hỏng - bạn đang chỉnh sửa hoặc chèn, không thực hiện cả hai. Sự khác biệt này giúp tôi suy nghĩ về những gì tôi đang làm, cũng như thực hiện các lệnh "bình thường" 1-2 lần, thay vì 2-4. Tôi chỉ ước vim dựa trên Lisp (và không, chế độ viper không hỗ trợ tất cả các tính năng tiêu chuẩn vim của tôi. Có tôi có thể tự cuộn, nhưng sau đó tôi sẽ nhớ chúng bất cứ khi nào tôi chạm vào máy tính / hệ thống mới)
Wayne Werner

1
@WayneWerner Tôi thực sự lỗi thời, nhưng phiên bản bạn có thể kiểm soát tất cả sự cần thiết của bạn để bạn có thể đồng bộ hóa chúng thông qua máy tính.
YuriAlbu Stew

@YuriAlbu Stew, tôi thực sự đã bắt đầu suy nghĩ rất nghiêm túc về việc tạo tập lệnh thiết lập môi trường tự động, giữ tất cả các dotfiles của tôi trên github hoặc một cái gì đó.
Wayne Werner

17

Bạn có thể có được chức năng tốt từ vim bằng cách tìm hiểu ý nghĩa của chỉ 16 phím : ijkdbw9:q!%s/nNEsc. Bạn có thể làm xương trần chỉ với i:wqEsc.

Hai phím đầu tiên bạn cần biết là: Escđưa bạn đến chế độ lệnh (chế độ bạn bắt đầu) và iđưa bạn đến chế độ chèn (gõ bình thường).


Để tiết kiệm bạn cần phải

  1. thoát khỏi chế độ gõ ( Esc)
  2. gõ một dấu hai chấm :
  3. gõ chữ thường wrồiEnter

Để tiết kiệm và thoát khỏi, bạn cần phải

  1. thoát khỏi chế độ gõ ( Esc)
  2. gõ một dấu hai chấm :
  3. gõ chữ thường wqrồiEnter

Để không tiết kiệm và buộc phải thoát, bạn cần phải

  1. thoát khỏi chế độ gõ ( Esc)
  2. gõ một dấu hai chấm :
  3. gõ chữ thường q!rồiEnter

Để tìm hiểu thêm bạn có thể chạy vimtutorở dòng lệnh. Đó là một bài học dài, có cấu trúc tốt.

Ngoài iEsc: bạn chỉ có thể sao chép hoặc vượt qua một số chức năng MS Word jkwbd3:%s/nN.

  1. bđưa bạn trở lại một từ ( Ctrl+ )
  2. wđưa bạn chuyển tiếp một từ ( Ctrl+ )
  3. 9w đưa bạn về phía trước chín từ
  4. dbxóa từ trước ( Ctrl+ Backspace)
  5. d3b xóa ba từ trước
  6. 9j di chuyển xuống 9 dòng
  7. / ornithopter Enterđưa bạn đến phiên bản tiếp theo của từ "ornithopter", sau đó nNlần xuất hiện tiếp theo và trước đó của "ornithopter".
  8. :%s/confounded/dangfangled/ Enterthay thế mọi "bối rối" bằng "dang Phườngled" (như find and replace alltrong MS Word)

Bất kỳ trong số đó nên được chạy trong chế độ "lệnh" ( Esc), không chèn chế độ ( i).


16

Gần đây tôi đã chuyển sang VIM và tôi nghĩ nó đáng giá. Nếu bạn cần "hoàn thành công việc", bạn luôn có thể ở chế độ chèn, trong đó vim (hầu hết) giống như trình soạn thảo văn bản thông thường.

Tôi đã nhận thấy rằng những thứ không được sử dụng để làm phiền tôi, như với tới các phím mũi tên, giờ cảm thấy sai và quá nhiều nỗ lực. Nó chắc chắn làm giảm chuyển động tay và sử dụng chuột của tôi, điều này tốt cho cả công thái học và năng suất


12

Nó phụ thuộc vào những gì bạn muốn làm với VIM. Không có nghĩa gì khi học nó chỉ vì nhiều người không thể sống thiếu nó.

Khi tôi làm việc rất nhiều trên môi trường UNIX, tôi không thể sống thiếu nó. Ngay cả khi VIM chưa được cài đặt trên máy UNIX, tôi ít nhất có thể sử dụng vi. Bạn luôn có thể tin tưởng vào nó - ngay cả khi máy không phải của bạn (mà từ khách hàng).

Bây giờ tôi lập trình trong C # và chủ yếu làm việc trên môi trường windows. Tôi đã cài đặt VIM trên PC của mình ... và tôi không cần nó.

Đánh giá nếu bạn thực sự cần VIM và nếu nó hỗ trợ bạn trong "dòng công việc" của bạn. Hãy thử nó. Chơi với nó. Nếu bạn nghĩ rằng bạn cần nó, hãy bám lấy nó ... đường cong học tập rất dốc.


Có một phần mở rộng visual studio cho người dùng VIM, nhìn thấy nó ở visualstudiogallery.msdn.microsoft.com/...
halb Yoel

10

Tôi học vi vì tôi phải.

Giáo viên điên rồ của tôi buộc chúng tôi phải học lập trình bằng C bằng cách sử dụng thiết bị đầu cuối vào hệ thống AIX.

Đó là một nỗi đau thực sự, nhưng giá trị nó.

Hôm nay, tôi chỉ sử dụng vi để chỉnh sửa nhanh hoặc các chương trình nhỏ.

Khi tôi phải đi dự án, tôi thích sử dụng và IDE. Trong trường hợp của tôi, ý tưởng IntelliJ rất tốt trong nhiệm vụ, bởi vì tôi có thể viết mã hàng giờ mà không cần lấy chuột.

Tôi không biết VS2008 có bao nhiêu phím tắt, nhưng nếu chúng có thể khám phá được như Eclipse, tôi nghĩ bạn đang gặp rắc rối thì hãy tìm vi.

Nếu bạn không chỉnh sửa mã bên ngoài IDE và IDE của bạn có các phím tắt tốt, tốt hơn bạn nên tìm hiểu các mã đó, sau đó, hãy đi và tìm hiểu vi bằng mọi cách.

:)


Ông yêu cầu những lợi ích của VIM không phải là một ý kiến.
Blaze349

@ Blaze349 không, anh ấy hỏi để nghe về những người đã học nó như thế nào (xem bài gốc ở đây) đó chính xác là những gì tôi đã trả lời. Câu hỏi này đã gần 8 năm và đã qua nhiều lần đánh giá trong những năm qua, câu trả lời của tôi phù hợp với câu hỏi gốc. Hãy xem xét điều này trong khi bình luận.
OscarRyz

9

Tôi đã sử dụng vi / vim trong hơn 25 năm. Nếu bạn đã biết một số trình soạn thảo dòng lệnh, thì có lẽ bạn không cần phải học vi / vim. Nhưng nếu bạn không biết rõ về bất kỳ trình soạn thảo dòng lệnh nào khác, thì đáng để học nó. Thật dễ dàng để làm việc hiệu quả trong vi / vim với ít nỗ lực.


6

Tôi sử dụng VIM khá nhiều độc quyền bây giờ.

Tôi đã từng sử dụng Vim để chỉnh sửa và VS Editor để gỡ lỗi. Điều này có vẻ hơi điên rồ, nhưng tôi thấy mô hình Vi (macro, chỉnh sửa dựa trên phím home, v.v.) như vậy giúp tăng năng suất của tôi, rằng chỉnh sửa trong VS rất tệ.

Cảm ơn Viemu , tôi thậm chí không phải thực hiện chuyển đổi nữa. Nó chưa phải là giải pháp hoàn hảo (đôi khi hoàn thành mã không thanh lịch như trong vim gốc và ghi macro không hoàn hảo), nhưng tốt hơn nhiều so với chuyển đổi qua lại liên tục.

Đường cong học tập cho Vim có lẽ được phóng đại. Tôi nghĩ rằng một khi bạn nhận được vào nó, nó là khá trực quan.


5

Công việc của tôi buộc tôi phải chọn vim và nó đã nhanh chóng trở thành bản chất thứ hai. Bây giờ các khiếu nại của tôi là về IDE không có phần mềm giả lập hoặc plugin vim. Tôi nhận thấy rằng khóa esc đã trở thành kẻ thù của tôi bên ngoài vim.

Tôi đã tìm thấy một số trình giả lập cho vi trong Visual Studio:

http://code.google.com.vn/p/vim-visual-studio/


4

Trước tiên, kiến ​​thức vi (m) tốt sẽ giúp bạn tiết kiệm thời gian bạn phải hối hả để thực hiện chỉnh sửa khẩn cấp các tệp cấu hình trên máy chủ theo seige. Nó có thể giữ một kết nối ssh lag.

Quản trị viên bỏ qua phương thức nhập liệu của vim sẽ là cách bảo vệ tốt nhất của bạn trước đường hầm ống cổ tay nếu bạn sử dụng nó hiệu quả với bàn phím gọn nhẹ.

Cách tốt nhất để thấy quan điểm của vim là bắt đầu một dự án bình thường ở nhà, rút ​​chuột và băng qua các phím mũi tên của bạn.

Và đọc trợ giúp


4
Tôi cũng thấy mô hình đầu vào Vi tuyệt vời để bảo vệ bản thân khỏi hội chứng ống cổ tay ...
CMS

phím mũi tên? hãy thử trong trái> <nop> imap <phải> <nop>
sjas

1
Tôi chỉ chỉ ra rằng có nanomột thứ dễ sử dụng hơn nhiều so với vim và gần như phổ biến rộng rãi.
MightyPork

4

Hai ưu điểm của vi / vim:

  • nó rất nhẹ

  • nó được cài đặt trên hầu hết mọi hệ thống * NIX


8
Tại sao bạn đặt * thay vì U?
Kamran Lớn

4
@kami: muộn một chút, nhưng ở đây bạn đi: en.wikipedia.org/wiki/Unix-like
orlp

Vim có thực sự "rất nhẹ" so với hầu hết các trình soạn thảo văn bản khác không?
Ben

4

Tôi đang duy trì một dự án linux rất lớn trên máy tính từ xa. Không có lựa chọn nào để sử dụng Eclipse hoặc IDE dựa trên GTK tương tự. Tôi đã làm việc ở đó được 3 năm. Và tôi đặt vim của tôi chỉ cho dự án này. Và vẫn còn tinh chỉnh.

Bây giờ tôi có thể làm bất cứ điều gì từ Vim: kiểm soát nguồn, sql, gỡ lỗi, biên dịch, duyệt - duyệt rất nhanh qua mã nguồn 1Gb.

Visual Studio hoặc Eclipse không thể xử lý tất cả điều này. Và nếu có lựa chọn, tôi sẽ đổi Vim sang trình soạn thảo hoặc IDE khác.


4

Tôi đã học Vim. Đó không phải là quá nhiều nỗ lực. Bây giờ tôi hoàn toàn thích ci "ci (cw V: s / from / to / g


3

Tôi muốn nói vim chắc chắn đáng để học hỏi. Tôi đã chọn nó vào mùa hè năm ngoái và bây giờ đây là biên tập viên tôi chọn cho mọi thứ (java là một phần mở rộng, nhưng có thể thực hiện được khi tôi không cần hỗ trợ phân tích sâu rộng). Như mọi người đã khẳng định, nó là một công cụ hiệu quả tuyệt vời.

Để biết giá trị của nó, tôi chỉ học được một tập hợp nhỏ các tính năng của vim (mất một hoặc hai ngày) từ một hướng dẫn đồ họa , và một vài tỷ lệ cược và kết thúc từ đây (đọc dài), và chức năng tìm kiếm và thay thế, và tôi đã được nối. Tôi đã học được những điều kể từ đó, nhưng lúc rảnh rỗi. Tôi muốn nói rằng đường cong học tập bị san phẳng vào thời điểm này, nhưng sau đó, tôi đã sử dụng nó khá nhiều và cũng bị bao vây bởi những người khác.


3

Tôi cũng ở trong hoàn cảnh giống như bạn, và là người mới bắt đầu với Vim, ban đầu tôi thấy nó hơi nản chí - đường cong học tập có vẻ dốc. Từ những gì tôi đã học được chỉ sau vài giờ, tôi đã cảm thấy mình sẽ không thể sống mà không có nó.

Đây một vài liên kết mà tôi đã tìm thấy cho các screencasts hữu ích để cho bạn thấy khả năng của nó.

Một lời khuyên hữu ích mà Bram Moolenaar (nhà độc tài nhân từ của Vim) đã đưa ra trong liên kết cuối cùng đó là sẽ không hiệu quả nếu cố gắng học mọi mệnh lệnh và chức năng, chỉ cần tìm ra những gì bạn đang làm không phải là làm việc rất tốt, tìm kiếm một cách để làm cho nó hiệu quả hơn và sau đó biến nó thành một thói quen.


3

Vâng, chắc chắn dành thời gian để tìm hiểu ít nhất một chút 'vi' và 'vim'. Nó đi rất tốt.

Bạn sẽ không bao giờ bị mắc kẹt khi bạn phải đối mặt với hệ thống Unix / Linux / Mac của khách hàng mà bạn không có khả năng cài đặt. Ngay cả trên Windows (nếu bạn có khả năng cài đặt) 'Vim' vẫn miễn phí và dễ cài đặt. (Trái ngược với việc đầu tư vào quá trình học tập của bạn hoàn toàn vào một thứ như UltraEdit, mặc dù một trình soạn thảo xuất sắc có thể không có sẵn cho bạn mọi lúc ...).

Học vi có thể giúp bạn thiết lập việc học các công cụ khác như 'sed' và regex nói chung: những thứ thường có thể chuyển nhượng được.

Ngoài ra, nếu bạn muốn trở thành một người đam mê thích hợp, bạn chỉ cần biết 'vi / m' hoặc bạn sẽ trông giống như một kẻ giả mạo ;-)


2

Tôi nghĩ rằng nó chắc chắn xứng đáng với thời gian và nỗ lực để học vim. Đối với tôi, nó làm cho việc gõ và điều hướng xung quanh văn bản rất hiệu quả, thật khó để tưởng tượng việc quay trở lại các tổ hợp phím emacs hoặc ctrl / shift / alt / meta.

Đừng bị đe dọa bởi tất cả các tính năng ưa thích của vim. Khi bạn đã sử dụng đủ, bạn sẽ tìm ra lệnh nào bạn sử dụng nhiều nhất và bạn sẽ tìm ra những thứ bạn có thể quên.


2

Sự phổ biến đáng kinh ngạc của Vim và sự phổ biến thậm chí còn tuyệt vời hơn của Vi-clone nói chung, chỉ riêng trên các hệ thống Unix là đủ để làm cho nó đáng để học hỏi.

Bên cạnh đó, toàn bộ suy nghĩ theo kiểu Vi là thứ mà tôi thực sự nghĩ rằng đã giúp tôi làm việc hiệu quả hơn một chút. Đối với một người không quen với các chế độ như chế độ lệnh và chế độ chèn, có vẻ hơi quá khi phải nhập một chế độ chỉ để chèn văn bản. Nhưng, khi một người đã sử dụng Vim được vài tháng và đã học được khá nhiều mẹo và thủ thuật, Vim dường như là một tài sản có vẻ đáng giá.

Tất nhiên, đám đông Emacs nói điều tương tự liên quan đến suy nghĩ theo phong cách Emacs, nhưng tôi đã từ bỏ việc học Emacs vì Vim đơn giản hơn và làm công việc cho tôi.


2

Tôi đã học cách thích vi sau khi xem ai đó rất thành thạo với nó điều hướng xung quanh để chỉnh sửa tại một clip cực kỳ nhanh. Bạn thực sự có thể mã nhanh chóng với nó. Một lý do khác mà tôi thích là đôi khi tôi thấy rằng việc di chuyển xung quanh trong một IDE thực sự làm tổn thương đôi tay của tôi sau một thời gian và vi cung cấp một sự thay đổi tốt đẹp. Như những người khác đã đề cập, nó hầu như luôn có sẵn trên các hệ thống unix và hoạt động tốt ngay cả trên các kết nối tệ hại.

Một điều mà tôi chưa thấy đề cập đến là việc biết vi có thêm lợi ích của "tín dụng đam mê" trong một số vòng kết nối. Tôi có thể nghĩ về ít nhất một vài người cười khúc khích khi thấy một lập trình viên mới kích hoạt nedit để thực hiện một số thay đổi cho một tệp.


2

Đừng sợ hãi bởi số lượng lệnh, tôi đã không gặp bất cứ ai sử dụng nhiều hơn một vài chục. Tôi thấy nó không thể thiếu, bởi vì khi tôi nghĩ về mã tôi đang nghĩ về văn bản, chuyển sang suy nghĩ về những con chuột chỉ làm tôi bối rối. Theo tôi, những mánh khóe lớn là học nó một chút và đừng ngần ngại chơi xung quanh - các tính năng hoàn tác là tuyệt vời để khám phá hành vi của nó.

Ngoài ra, nếu bạn nhận được sâu vào nó, vim là kịch bản. Các khả năng là vô tận theo nghĩa đen.

(Vâng, tất cả những điều này cũng áp dụng cho emacs ...)


2

Tôi rất vui với textpad và thế giới ecplise của mình cho đến khi tôi phải bắt đầu làm việc với các máy chủ chạy trên linux. Cần có kịch bản từ xa và thiết lập các tập tin cấu hình!

Lúc đầu thật khó khăn nhưng giờ tôi có thể dễ dàng thiết lập và điều chỉnh máy chủ của mình.


2

Bạn có thể muốn học vim vì bạn có thể không hài lòng với các biên tập viên bạn đang sử dụng.

Bạn có thể muốn học vim vì nhiều người nói nó rất tuyệt. Chỉ cần xem có bao nhiêu câu trả lời bạn có cho câu hỏi này.

Tôi sẽ cung cấp thêm một lý do cho việc học vim. Nó có một danh tiếng về chất lượng và tính đầy đủ của các tài liệu của nó. Vì vậy, bạn sẽ tìm thấy hầu hết các câu trả lời cho các câu hỏi của mình trong hệ thống trợ giúp ngay khi bạn sẽ quản lý để gắn các từ khóa thích hợp trong các truy vấn trợ giúp của mình.


2

Để học vi (m) nhanh người ta phải hiểu toàn bộ thiết kế. Vim có một bộ lệnh di chuyển con trỏ tuyệt vời, hãy kiểm tra một vài (X là ký tự, # một chữ số):

jk nhập mũi tên 0 $ w W b B ctrolD crtolU ctrolE ctrolY HML fX FX tX TX ,; % gg G n N mX 'X' '

và nhiều hơn nữa sẽ là nhàm chán để liệt kê. Nhiều trong số này hỗ trợ đếm trước lệnh, như 4j để di chuyển 4 dòng lên.

Bây giờ, quay lại thiết kế, bạn nhập một lệnh như d để xóa theo sau là chuyển động con trỏ và lệnh áp dụng cho đoạn văn bản từ vị trí con trỏ cho đến khi kết thúc chuyển động. Ví dụ: H di chuyển lên phía trên màn hình, dH xóa lên phía trên màn hình và cH thay đổi (thay thế) lên phía trên màn hình.

Thiết kế này khá mạnh mẽ. Nó cũng làm giảm, hoặc tổ chức, những gì bạn cần học. Chắc chắn bước đầu tiên là tìm hiểu một vài lệnh di chuyển con trỏ. Nói, 8 hoặc 10 lúc đầu. Vậy là bạn đã gần xong.


2

Học một cái gì đó mới luôn có giá trị nỗ lực, IMHO. Tôi đề nghị bạn in ra một tờ cheat và buộc bản thân sử dụng nó ngày này qua ngày khác.


Có một câu chuyện bằng tiếng Trung nói rằng ai đó học từ một giáo viên cách làm thịt rồng. Một khi anh tốt nghiệp học tập, anh không bao giờ có thể tìm thấy bất kỳ con rồng thực sự nào để bán thịt. Tôi không nói vi, nhưng đó là đạo đức của câu chuyện này mà đôi khi học một cái gì đó chỉ là lãng phí thời gian.
Động cơ Trái đất

2

Vim chắc chắn đáng để học hỏi để tóm tắt một phần những gì đã nêu trước đây là những lý do chính:

  • Vi / Vim có thể được tìm thấy trên hầu hết các hệ thống unix.
  • Vim cho phép bạn dễ dàng viết mã mà không cần rời tay khỏi bàn phím.
  • Nếu bạn có kế hoạch bạn định cấu hình bất cứ thứ gì trong một hệ thống dựa trên unix thì bạn sẽ chỉnh sửa một vài tệp cấu hình hợp lý, do đó bạn sẽ muốn tìm hiểu một trình soạn thảo dựa trên thiết bị đầu cuối, trong đó vim là một trong những tốt nhất (xin lỗi emacs).
  • Vim biên dịch / có các nhị phân được biên dịch sẵn cho hầu hết mọi hệ điều hành ngoài kia. Không cần phải đăng bài "Tôi cần một người thay thế bạn bè cho [chèn HĐH]", thay vào đó bạn sẽ có Vim!
  • Có rất nhiều plugin tốt ngoài kia để thêm rất nhiều chức năng, chẳng hạn như cvs in-Editor, mặc dù một số trong số này yêu cầu một số lượng khá lớn.

Ngoài ra, trên một lưu ý phụ nếu bạn thấy bạn thích các ràng buộc khóa Vim, cũng có các IDE bao gồm các ràng buộc vim trong các trình soạn thảo của chúng cho các lệnh đơn giản, ví dụ Komodo Edit .

Để được trợ giúp về việc học Vim, hãy thử gõ 'vimtutor' vào thiết bị đầu cuối của bạn và làm theo hướng dẫn. Ngoài ra còn có một cuốn sách đặc biệt hay về Hacking Vim


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.