Hướng dẫn kiến thức cơ bản cách sử dụng Vim | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Hướng dẫn kiến thức cơ bản cách sử dụng Vim

Chia sẻ kiến thức 12/03/2022

Bạn muốn sử dụng trình soạn thảo văn bản vim cho Linux? Dưới đây là tất cả các lệnh bạn cần để bắt đầu - học cách sử dụng vim trong vài phút!

Vim là trình soạn thảo mã mạnh mẽ và linh hoạt nhất hiện có cho các hệ thống giống Unix. Nó là một phần mở rộng của trình soạn thảo Vi do Bill Joy phát triển. Vim có sẵn theo mặc định trên hầu hết các hệ thống Linux và BSD.

Do đó, bạn có thể sử dụng cùng một trình soạn thảo trên tất cả các hệ thống và máy từ xa của mình. 

Vim hoạt động như thế nào?

Vim khác với các  trình soạn thảo văn bản Linux truyền thống . Nó tuân theo triết lý Unix là chỉ làm một việc và làm thật tốt. Ý tưởng cơ bản ở đây là với tư cách là lập trình viên, chúng ta dành phần lớn thời gian để chỉnh sửa chứ không phải viết code (mã). 

Vim cung cấp một số chế độ để giải quyết vấn đề này. Mỗi chế độ được điều khiển thông qua các tổ hợp phím. Các chế độ vim thiết yếu là chế độ bình thường (normal mode), chế độ trực quan (visual mode), chế độ chèn (insert mode) và chế độ lệnh (command mode).

Chúng ta sử dụng chế độ bình thường để xem lại code và thực hiện các thao tác nhanh. Chế độ trực quan được sử dụng để đánh dấu các phần văn bản và chế độ chèn là nơi bạn thêm văn bản. Bạn sẽ sử dụng chế độ lệnh để nhập các lệnh vim khác nhau.

Cách sử dụng Vim trong chế độ chèn

Khi bạn mở vim, nó sẽ bắt đầu ở chế độ bình thường. Bạn có thể chuyển sang chế độ chèn bằng cách nhập phím i. Chế độ chèn sẽ bắt đầu tại vị trí con trỏ. Bạn sẽ thấy một chỉ dẫn ở góc dưới cùng bên trái.

Bây giờ bạn có thể nhập bất kỳ văn bản nào và vim sẽ sao chép chúng vào buffer (vùng lưu trữ dữ liệu tạm thời). Để lưu tiến trình, hãy chuyển về chế độ bình thường bằng cách nhấn phím thoát <ESC>. Bây giờ gõ lệnh vim sau: 

:w

Có nhiều cách khác để vào chế độ chèn. Ví dụ: bạn có thể chèn văn bản ngay bên dưới dòng hiện tại bằng cách nhấn o ở chế độ bình thường. Sử dụng O để chèn văn bản phía trên dòng hiện tại.

Sử dụng  I  để chèn văn bản vào đầu dòng hiện tại. Bạn có thể sử dụng phím a để nối văn bản ngay sau con trỏ. Sử dụng A để thêm văn bản vào cuối dòng.

Để lưu và thoát khỏi tệp hiện tại, hãy chuyển sang chế độ lệnh và nhập:

:wq

Cách sử dụng Vim ở chế độ bình thường

Người dùng Vim dành phần lớn thời gian trong chế độ bình thường. Tại đây, bạn có thể điều hướng qua các văn bản và thực hiện các chỉnh sửa nhanh chóng. Nhấn phím thoát <ESC> từ bất kỳ chế độ nào sẽ đưa bạn về chế độ bình thường.

Thay vì các phím mũi tên tiêu chuẩn, vim sử dụng hjkl (h cho bên trái, j cho xuống, k cho lên và l cho bên phải) để điều hướng. Bạn có thể thắc mắc tại sao vim không sử dụng các phím mũi tên? Vim làm điều này để tiết kiệm thời gian người dùng tiếp cận các phím mũi tên trên bàn phím.

Ngoài ra, giống như nhiều trình chỉnh sửa dựa trên bảng điều khiển (console), vim khuyến khích người dùng tránh xa chuột. Tuy nhiên, bạn có thể cấu hình vim để bật hỗ trợ chuột.

Bạn cũng có thể di chuyển con trỏ qua từng từ một. Ví dụ: nhấn w ở chế độ bình thường sẽ di chuyển con trỏ đến đầu từ tiếp theo. Bạn có thể chuyển đến đầu từ hiện tại bằng b và kết thúc bằng e.

Sử dụng 0  để điều hướng đến đầu dòng và $ để di chuyển đến cuối dòng. Nhấn H sẽ đưa con trỏ lên đầu màn hình, M đến giữa màn hình và L đến dưới cùng. Bạn có thể kéo lên và xuống bằng Ctrl + u và Ctrl + d. Nếu bạn nhấn gg ở chế độ bình thường, vim sẽ di chuyển con trỏ lên trên cùng. Nhập G  để di chuyển đến cuối.

Một khi bạn cảm thấy thoải mái khi di chuyển ở chế độ bình thường, bạn có thể học các lệnh chỉnh sửa vim. Sử dụng x  để xóa một ký tự, s  để thay thế. Bạn xóa văn bản bằng cách sử dụng toán tử d. Nó lấy một “motion” (chuyển động) làm đối số của nó. Cú pháp cho điều này được hiển thị bên dưới.

d{motion}

Một motion có thể là bất cứ điều gì. Ví dụ: nhấn dw ở chế độ bình thường sẽ xóa từ hiện tại. Nếu bạn gõ d$ , vim sẽ xóa mọi thứ cho đến cuối dòng. Tương tự, gõ d0 sẽ xóa mọi thứ đến đầu dòng. Sử dụng dd để xóa toàn bộ dòng.

Tuy nhiên, bạn không cần phải xóa nội dung nào đó và chuyển sang chế độ thay thế (replace mode) để thực hiện thay đổi. Toán tử c cho phép chúng ta thực hiện các thay đổi đối với một motion của vim trực tiếp từ chế độ bình thường.

c{motion}

Vì vậy, khi bạn nhấn cw, vim sẽ xóa từ hiện tại và đưa bạn vào chế độ chèn. Con trỏ của bạn cần phải ở đầu từ vì vim sẽ xóa bắt đầu từ vị trí hiện tại. Sử dụng ciw thực hiện các thay đổi bên trong từ hiện tại. Sử dụng cc để thay đổi toàn bộ dòng.

Sử dụng y để sao chép chuyển động và p để dán (paste) chúng. Vì vậy, yw sao chép từ hiện tại và yy sao chép toàn bộ dòng. Bạn có thể lặp lại lệnh trước đó bằng cách sử dụng toán tử dấu chấm (.), hoàn tác (undo) các thay đổi bằng cách sử dụng u và thực hiện lại chúng (redo) bằng Ctrl + r.

Nếu bạn muốn tìm thứ gì đó trong mã của mình, hãy sử dụng lệnh vim sau trong Linux:

/{regex}

Ở đây, regex là một biểu thức chính quy. Nhấn n  để chuyển đến kết quả tiếp theo và N cho kết quả trước đó.

Cách sử dụng Vim trong Chế độ trực quan

Sử dụng vim trong chế độ trực quan cho phép chúng ta chọn các khối văn bản bằng các phím di chuyển. Đây là cách người dùng thành thạo di chuyển các khối mã trong vim. Ở chế độ bình thường, nhập v để chuyển sang chế độ trực quan.

Bây giờ bạn có thể đánh dấu các phần của văn bản hoặc mã bằng cách sử dụng các phím điều hướng hjkl. Sử dụng Ctrl + v để chuyển sang chế độ khối trực quan. Tại đây, bạn có thể chọn các khối văn bản. Bạn có thể đánh dấu các dòng bằng cách chuyển sang chế độ dòng trực quan (visual line mode). Sử dụng V để chọn chế độ này. 

Điều này cho phép chúng ta thực hiện các chỉnh sửa đối với toàn bộ một khối văn bản. Ví dụ: bạn có thể chọn một khối văn bản và nhấn y để sao chép văn bản vào vim buffer.

Cách sử dụng Chế độ lệnh Vim

Chúng ta có thể truy cập chế độ lệnh bằng cách gõ : ở chế độ bình thường. Nó sẽ đưa con trỏ xuống cuối màn hình, theo sau là dấu hai chấm. Dưới đây là một số lệnh vim hữu ích nhất trong Linux.

  • :w  lưu các thay đổi vào tệp
  • :wq lưu và thoát
  • :saveas FILE lưu tệp hiện tại dưới dạng FILE
  • :q   thoát vim
  • :q!  thoát và loại bỏ các thay đổi
  • :e FILE mở FILE để chỉnh sửa
  • :help mở phần giúp đỡ

Đánh dấu trang vim cheat này để truy cập nhanh vào các lệnh vim hữu ích.

Nắm vững kiến ​​thức cơ bản về Vim

Vim là một trình soạn thảo mạnh mẽ giúp xóa bỏ khoảng cách giữa suy nghĩ và chỉnh sửa. Việc viết code trở nên thú vị hơn một khi bạn thành thạo vim. Mặc dù bạn sẽ cần nhiều năm thực hành để thực sự thành thạo nó, nhưng hiểu những điều cơ bản về vim sẽ giúp bạn bắt đầu đi đúng hướng.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/how-to-use-vim/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX
icon icon

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại