Bài viết này là một phần của loạt hướng dẫn sử dụng VIM:

  • Hướng dẫn cho người mới bắt đầu sử dụng Vim
  • Bàn phím tắt Vim Cheatsheet
  • 5 mẹo và thủ thuật Vim cho người dùng có kinh nghiệm
  • 3 Các mẹo và thủ thuật hữu ích của VIM Editor dành cho người dùng nâng cao
  • Làm thế nào để biến Vim thành một bộ xử lý văn bản

Trình soạn thảo Vim cung cấp rất nhiều tính năng mà rất khó để tìm hiểu tất cả chúng. Trong khi, tất nhiên, chi tiêu nhiều hơn và nhiều hơn nữa thời gian trên trình soạn thảo dòng lệnh luôn luôn giúp, không có từ chối thực tế là bạn học những điều mới và sản xuất nhanh hơn trong khi tương tác với người dùng Vim đồng. Dưới đây là một số mẹo và thủ thuật Vim cho bạn.

Lưu ý - Để tạo các ví dụ ở đây, tôi đã sử dụng phiên bản Vim 7.4.52.

1. Làm việc với nhiều tệp

Nếu bạn là một nhà phát triển phần mềm hoặc một người sử dụng Vim làm trình soạn thảo chính của họ, rất có thể là bạn phải làm việc với nhiều tệp cùng một lúc. Sau đây là một số mẹo hữu ích mà bạn có thể sử dụng khi làm việc với nhiều tệp.

Thay vì mở các tệp khác nhau trong các tab trình bao khác nhau, bạn có thể mở nhiều tệp trong một tab bằng cách chuyển tên tệp của chúng dưới dạng đối số cho lệnh vim. Ví dụ:

 vim file1 file2 file3 

Tệp đầu tiên (tệp 1 trong ví dụ) sẽ là tệp hiện tại và được đọc vào bộ đệm.

Khi bên trong trình soạn thảo, sử dụng lệnh :next hoặc :n để chuyển đến tệp tiếp theo và lệnh :prev hoặc :N để quay lại tệp trước đó. Để chuyển trực tiếp sang tệp đầu tiên hoặc tệp cuối cùng, sử dụng :bf:bl lệnh, tương ứng. Để mở và bắt đầu chỉnh sửa một tệp khác, sử dụng lệnh :e với tên tệp làm đối số (sử dụng đường dẫn đầy đủ trong trường hợp tệp không có trong thư mục hiện tại).

Tại bất kỳ thời điểm nào nếu nó được yêu cầu liệt kê các tệp hiện đang mở, hãy sử dụng :ls . Xem ảnh chụp màn hình hiển thị bên dưới.

Lưu ý rằng "% a" đại diện cho tệp trong cửa sổ hiện tại đang hoạt động, trong khi "#" đại diện cho tệp trong cửa sổ hoạt động trước đó.

2. tiết kiệm thời gian với tự động hoàn thành

Bạn muốn tiết kiệm thời gian và cải thiện độ chính xác? Sử dụng chữ viết tắt. Chúng có ích khi viết các từ dài, phức tạp lặp lại thường xuyên trong suốt tệp. Lệnh Vim cho chữ viết tắt là ab . Ví dụ, sau khi bạn chạy lệnh

 : ab càng sớm càng tốt càng tốt 

mỗi lần xuất hiện của từ "càng sớm càng tốt" sẽ được tự động thay thế bằng "càng sớm càng tốt", khi bạn nhập.

Tương tự, bạn cũng có thể sử dụng các từ viết tắt để sửa các lỗi gõ thường gặp. Ví dụ, lệnh

 : ab nhận được nhận 

sẽ tự động sửa lỗi chính tả khi bạn nhập. Nếu bạn muốn ngăn chặn việc mở rộng / chỉnh sửa xảy ra ở một lần xuất hiện cụ thể, chỉ cần nhập “Ctrl + V” sau ký tự cuối cùng của từ đó và sau đó nhấn phím khoảng trắng.

Nếu bạn muốn lưu chữ viết tắt bạn đã tạo để nó có sẵn cho bạn vào lần tiếp theo bạn sử dụng trình soạn thảo Vim, thêm lệnh ab hoàn chỉnh (không có dấu đầu dòng) vào tập tin "/ etc / vim / vimrc". Để xóa một từ viết tắt cụ thể, bạn có thể sử dụng lệnh una . Ví dụ :una asap .

3. Chia cửa sổ để dễ dàng sao chép / dán

Có những lúc bạn muốn sao chép một đoạn mã hoặc một phần văn bản từ tệp này sang tệp khác. Trong khi quá trình này rất dễ dàng khi làm việc với các trình soạn thảo GUI, nó có một chút tẻ nhạt và tốn thời gian trong khi làm việc với một trình soạn thảo dòng lệnh. May mắn thay, Vim cung cấp một cách để giảm thiểu thời gian và công sức cần thiết để làm điều này.

Mở một trong hai tệp và sau đó chia cửa sổ Vim để mở tệp khác. Điều này có thể được thực hiện bằng cách sử dụng lệnh split với tên tập tin là đối số. Ví dụ,

 : split test.c 

sẽ chia cửa sổ và mở "test.c".

Quan sát rằng lệnh chia cửa sổ Vim theo chiều ngang. Trong trường hợp bạn muốn chia cửa sổ theo chiều dọc, bạn có thể làm như vậy bằng cách sử dụng lệnh vsplit . Khi cả hai tệp được mở, hãy sao chép nội dung từ một tệp, nhấn “Ctrl + w” để chuyển điều khiển sang tệp khác và dán.

4. Lưu tệp bạn đã chỉnh sửa mà không có quyền bắt buộc

Có những lúc bạn nhận ra rằng một tập tin là chỉ đọc sau khi thực hiện một loạt các thay đổi với nó.

Mặc dù đóng tập tin và mở lại nó với các quyền cần thiết là một lối thoát, đó là một sự lãng phí thời gian tuyệt vời nếu bạn đã thực hiện rất nhiều thay đổi, vì tất cả chúng sẽ bị mất trong suốt quá trình. Vim cung cấp cho bạn một cách để xử lý tình trạng này bằng cách cho phép bạn thay đổi quyền truy cập tập tin từ bên trong trình soạn thảo trước khi bạn lưu nó. Lệnh cho điều này là:

 : w! sudo tee% 

Lệnh sẽ yêu cầu bạn nhập mật khẩu, giống như sudo trên dòng lệnh và sau đó lưu các thay đổi.

Mẹo liên quan : Để nhanh chóng truy cập vào dấu nhắc lệnh trong khi chỉnh sửa tệp trong Vim, hãy chạy lệnh :sh từ bên trong trình chỉnh sửa. Điều này sẽ đặt bạn vào một trình bao tương tác. Khi bạn đã hoàn tất, hãy chạy lệnh exit để nhanh chóng quay lại phiên Vim của bạn.

5. Duy trì thụt đầu dòng trong khi sao chép / dán

Hầu hết các lập trình viên có kinh nghiệm làm việc trên Vim với tự động thụt đầu dòng được kích hoạt. Mặc dù đó là một thực hành tiết kiệm thời gian, nó tạo ra một vấn đề trong khi dán một mã đã thụt vào. Ví dụ, đây là những gì đã xảy ra khi tôi dán một mã đã thụt vào một tập tin được mở trong trình soạn thảo Vim với tự động thụt vào.

Giải pháp cho vấn đề này là tùy chọn pastetoggle . Thêm dòng

 thiết lập pastetoggle = 

vào tệp vimrc của bạn và nhấn F2 ở chế độ chèn ngay trước khi dán mã. Điều này sẽ bảo tồn thụt đầu dòng ban đầu. Lưu ý rằng bạn có thể thay thế F2 bằng bất kỳ khóa nào khác nếu nó đã được ánh xạ tới một số chức năng khác.

Phần kết luận

Cách duy nhất bạn có thể cải thiện kỹ năng biên tập Vim của mình là sử dụng trình soạn thảo dòng lệnh cho công việc hàng ngày của bạn. Chỉ cần lưu ý các hành động mất thời gian và sau đó cố gắng tìm hiểu xem có lệnh biên tập nào sẽ thực hiện các tác vụ nhanh hơn không.