Làm thế nào để học vim ở cấp độ cao? [đóng cửa]


77

Tôi biết rằng vim (như emacs) là trình soạn thảo rất mạnh mẽ cho các lập trình viên, miễn là bạn biết cách sử dụng nó, các phím tắt của nó, v.v. Tôi có thể thực hiện những bước nào và tôi có thể đọc hướng dẫn nào để trở thành người dùng vim nâng cao?


Bạn có thể muốn tham khảo wiki cộng đồng tại đây - ubfox.stackexchange.com/questions/804/ mẹo
myusuf3

Câu trả lời:


116

Bước 0: học cách chạm. Nghiêm túc - nếu ngón tay của bạn không biết chìa khóa ở đâu thì vim sẽ là một nỗi đau. Và ngay cả khi bạn từ chối vim, gõ phím cảm ứng sẽ cải thiện chương trình của bạn (hỏi Steve Yegge ) bằng cách làm cho tâm trí theo dõi ma sát liên kết miễn phí. Có một rất nhiều của phần mềm có thể giúp bạn cải thiện gõ của bạn.

Bước 1: Sử dụng tùy chọn bàn phím để trao đổi Caps Lock và Escape - nghiêm túc, bạn có thường xuyên sử dụng Caps Lock không? Sử dụng vim bạn sẽ sử dụng Escape mọi lúc, và việc nó có sẵn trên hàng nhà tạo ra sự khác biệt rất lớn. Với máy tính để bàn Ubuntu tiêu chuẩn, đi qua các menu: Hệ thống -> Tùy chọn -> Bàn phím -> tab Bố cục. Sau đó nhấn nút "Tùy chọn bố cục", nhấp vào hình tam giác bên cạnh "Hành vi phím Caps Lock" và chọn "Hoán đổi ESC và CapsLock". (Lưu ý cách thực hiện việc này đã thay đổi - xem phần này để biết cách thực hiện trong 14.04 .

Bước 2: sử dụng vimtutor để bắt đầu. Nó nằm trong gvim (theo menu trợ giúp tôi nghĩ) hoặc bạn chỉ cần gõ 'vimtutor' vào dòng lệnh. Sẽ mất 30-45 phút thời gian của bạn và sau đó ngón tay của bạn sẽ biết những điều cơ bản của vi / vim và bạn sẽ có thể chỉnh sửa các tệp mà không muốn ném bàn phím ra khỏi cửa sổ.

Bước 3: sử dụng vim ở mọi nơi. Xem câu hỏi này từ StackOverflow để biết các mẹo và liên kết để sử dụng các ràng buộc khóa vim và vi tại dòng lệnh, từ trình duyệt web của bạn, để soạn email, trong IDE của bạn ... Bạn cần sử dụng vim để nhúng các liên kết chính vào bộ nhớ cơ của bạn .

Bước 4: tìm hiểu thêm về vim. Bạn sẽ chỉ bị trầy xước bề mặt với vimtutor. Bạn có thể

Tìm hiểu một litle thường sẽ là lời khuyên của tôi - có rất nhiều điều ngoài kia rằng việc bám vào các miếng có kích thước cắn sẽ là cách tốt nhất để làm cho kiến ​​thức trở nên gắn bó.

Bước 5: Lợi nhuận :)


10
không thể bỏ phiếu này đủ :)
tutuca

Cảm ơn bạn rất tuyệt vời cho câu trả lời tốt nhất! May mắn thay, tôi đã chạm vào typist. :) Vì vậy, tôi sẽ làm theo các bước tiếp theo ...
Zango

1
Bước 2 rất quan trọng. Thay đổi vim từ một nỗi đau để biên tập viên yêu thích của tôi.
Matthew

2
Tôi muốn đẩy Bước 3, thậm chí bạn có thể sử dụng (g) vim trên Windows hoặc Mac hoặc ... (xem vim.org/doad.php ) Chỉ sử dụng một trình chỉnh sửa sẽ giúp bạn quen thuộc hơn với nó.
ddeimeke

Làm cho mũ khóa một điều khiển bổ sung (hoặc trao đổi chúng). Vim có rất nhiều cách sử dụng ctrl, nhiều hơn tôi sử dụng esc (dù sao tôi cũng không thoát được), nhưng khóa điều khiển dễ dàng, tiện dụng này cũng hữu ích trong mọi chương trình khác mà tôi sử dụng.

22

Gói "vimtutor" "vim" có lẽ là nơi tốt nhất để bắt đầu.


14

Hai điều:

  1. Học gõ cảm ứng. Thực sự không có cách nào khác. Sau đó liên kết ESC với ";;" vì vậy bạn không bao giờ phải rời khỏi hàng nhà của bạn:inoremap ;; <esc>

  2. Tìm kiếm github cho người khác .vimrcs

Và thứ ba: VimCasts




6

Điều này nghe có vẻ ngớ ngẩn, nhưng làm quen với lệnh trợ giúp của vim. Hệ thống trợ giúp rất trực quan và dễ điều hướng.

Trợ giúp có sẵn bằng cách gõ :help. Bạn có thể tìm hiểu về một chủ đề cụ thể bằng cách đưa nó vào dòng lệnh (ví dụ :help insert). Bạn có thể chuyển qua các chủ đề bằng cách nhấn tab sau khi nhập một hoặc nhiều ký tự của chủ đề.

Sự giúp đỡ được siêu liên kết, với các liên kết được biểu thị bằng văn bản in đậm hoặc màu. Bạn có thể theo dõi các liên kết bằng cách nhấn <Ctrl -]> khi con trỏ của bạn ở trên đó và <Ctrl-t> để quay lại. Để thoát khỏi sự giúp đỡ, gõ :q.


1
Và nó có hai hướng dẫn hoàn chỉnh trong đó: hướng dẫn sử dụng và hướng dẫn tham khảo. Bạn không cần bất cứ điều gì nhiều hơn vimtutor và: giúp đỡ để trở thành một chuyên gia Vim.
Marius Gedminas

5

Một số câu trả lời tuyệt vời. Chắc chắn hãy cố gắng tích hợp nó vào cuộc sống hàng ngày và đảm bảo bạn không cố gắng làm ngập não quá nhiều tại một thời điểm. Có quá nhiều thứ để học vim trong một tuần.

Lúc đầu chỉ cần bắt đầu với một / hai lệnh / khóa mới mỗi tuần. Sử dụng chúng và ăn sâu vào não của bạn. Bạn không muốn phải tham khảo một bảng cheat cả ngày.

Tôi đã có một thiết lập cấu hình vim mẫu mà tài liệu thực sự được tôi xuất bản cho mọi người: http://github.com/mitechie/pyvim

Đừng chỉ sao chép / dán mặc dù. Hãy chắc chắn rằng bạn hiểu những gì đang đi vào cấu hình vim của bạn để bạn không quên / hiểu sai những gì nó đang làm cho bạn.

và tôi đã bắt đầu thực hiện một số screencasts vim: http://lococast.net/archives/111


4

PeepCode's Smash vào VIM 1 & 2 là một tài nguyên tuyệt vời. Bạn cũng có thể kiểm tra blog của Rob Conery , anh ấy có một số thông tin / blog tốt liên quan đến VIM có sẵn ở đó.



3

Tôi biết rằng tôi có thể nhận được phản hồi tiêu cực cho câu trả lời này, vì nó có thể bị tổn thương fan vim và người sử dụng: Đầu tiên hãy tự hỏi những gì bạn muốn làm. Và chỉ khi vim là công cụ tốt nhất cho nhiệm vụ cụ thể đó, hãy làm những gì tất cả các câu trả lời khác nói với bạn.

Hoặc để nói điều đó với nhiều hình ảnh hơn: Bạn có thể cố gắng để có được nhanh gấp đôi hoặc tốt với một cái búa so với bây giờ. Nhưng tùy thuộc vào tình huống, một trình điều khiển vít có thể giúp nhiều hơn búa. :)


4
Phải, là một người hâm mộ vim, tôi phải nói rằng vim nhiều hơn một cái búa. Nó có thể cung cấp các cách sử dụng hữu ích cho bất kỳ ai từ sysadmin, quản trị viên db, lập trình viên (của bất kỳ ngôn ngữ nào) và thậm chí chỉ đơn giản là không có trình soạn thảo văn bản. Nó được cài đặt theo mặc định trên mọi hệ thống vì một lý do và tôi không biết rằng có rất nhiều trường hợp "bạn thực sự cần phải biết về nó" Ngoài ra, người dùng đã đăng bài này một cách rõ ràng để tìm cách / giúp đỡ để tiến lên kiến thức và kinh nghiệm vim của họ.
Rick

1
Tôi hoàn toàn đồng ý với bạn!
ddeimeke

2

Tôi chưa thực sự học Vim nhưng tôi nghĩ rằng bằng cách thực hiện tất cả các trình duyệt của mình với tiện ích mở rộng Pentadactyl cho Firefox, sẽ ít khó khăn hơn khi tôi đi xung quanh để làm như vậy.

Bất kỳ trường văn bản và dòng lệnh nào cũng có thể được xử lý như chế độ thông thường Vim bằng Ctrl T (hoặc tự động, nếu bạn thay đổi cài đặt); Tuy nhiên, đây là nơi nó rơi xuống vào lúc này đối với tôi vì nhiều hành động được hiểu là toàn cầu ví dụ như cố gắng để dán với p sẽ mở ra một url với các văn bản đó là trong bộ đệm và cố gắng ghi đè lên văn bản với r tải lại trang. Nhưng bạn có thể mở trường văn bản trong Gvim bằng cách nhấn Control I, vì vậy nó không thực sự là vấn đề.

Một vấn đề khác là nó làm cho các trang web như Gmail hoặc Nhớ sữa trở nên khó sử dụng hơn vì bạn vẫn còn một chế độ khác.


2

Xem câu trả lời về lời khuyên cho người mới bắt đầu học Vim từ Lập trình viên SE

Để nhắc lại câu trả lời của tôi từ câu hỏi đó:


Tôi đã học được rất nhiều từ cuốn sách O'Reilly "Học các biên tập viên Vi và Vim" . Đó là cuốn sách Vim hay nhất tôi từng đọc.

Tôi cũng khuyên bạn nên kiểm tra:

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.