11 Câu lệnh thường dùng nhất khi sử dụng vi/vim

Khám phá 11 câu lệnh thường dùng nhất khi sử dụng vi/vim, công cụ soạn thảo văn bản mạnh mẽ trên hệ thống Linux giúp bạn làm chủ vi/vim một cách dễ dàng.

Vi và Vim là hai trình soạn thảo văn bản mạnh mẽ và phổ biến trên hệ thống Unix/Linux, được sử dụng rộng rãi bởi các lập trình viên, quản trị hệ thống và những người yêu thích công nghệ. Dù bạn mới bắt đầu hay đã có kinh nghiệm, việc nắm vững các câu lệnh cơ bản của vi/vim sẽ giúp tăng năng suất và hiệu quả làm việc của bạn. Trong bài viết này, chúng ta sẽ khám phá 11 câu lệnh thường dùng nhất khi sử dụng vi/vim, giúp bạn điều hướng, chỉnh sửa và quản lý tệp tin một cách nhanh chóng và dễ dàng.

Câu lệnh thường dùng nhất khi sử dụng vi/vim

1. Giới thiệu về trình soạn thảo “vi”/”vim”

Vi (viết tắt của "visual editor") là một trình soạn thảo văn bản được phát triển vào những năm 1970 bởi Bill Joy, một nhà khoa học máy tính người Mỹ. Vim (viết tắt của "Vi IMproved") là một phiên bản cải tiến và mở rộng của vi, được phát triển bởi Bram Moolenaar vào những năm 1990.

2. Đặc điểm chính của vi/vim

Vi/Vim hoạt động trong hai chế độ chính:

Chế độ Lệnh (Command mode): Trong chế độ này, người dùng có thể thực hiện các thao tác như di chuyển, sửa đổi, lưu và thoát khỏi tệp. Các thao tác được thực hiện bằng cách nhập các phím lệnh cụ thể. Trong chế độ này, bạn có thể thực hiện các thao tác điều khiển như:

  • Di chuyển con trỏ
  • Sao chép, dán, xóa văn bản
  • Tìm kiếm và thay thế
  • Lưu tệp và thoát khỏi vi

>>>Xem thêm:Hướng dẫn cấu hình cmd log trên Linux chi tiết nhất

Chế độ Soạn thảo (Insert mode): Trong chế độ này, người dùng có thể nhập văn bản như trong các trình soạn thảo thông thường. Bạn có thể thực hiện các thao tác điều khiển như:

  • Để chuyển sang chế độ Soạn thảo, bạn nhấn phím "i", "a", "o" hoặc các phím tương tự.
  • Trong chế độ này, bạn có thể trực tiếp nhập và chỉnh sửa văn bản, giống như các trình soạn thảo thông thường.
  • Để quay lại chế độ Lệnh, bạn nhấn phím "Esc".

3. 11 Câu lệnh thường dùng khi sử dụng vi/vim

  • i- Chuyển sang chế độ Chèn, cho phép bạn chèn ký tự tại vị trí con trỏ.
  • a- Chuyển sang chế độ Chèn, cho phép bạn chèn ký tự sau vị trí con trỏ.
  • x- Xóa ký tự tại vị trí con trỏ.
  • dd- Xóa dòng hiện tại.
  • yy- Sao chép dòng hiện tại.
  • p- Dán nội dung đã sao chép vào vị trí con trỏ.
  • u- Hoàn tác thao tác cuối cùng.
  • d + G- Xóa toàn bộ tệp.
  • /- Tìm kiếm văn bản về phía trước.
  • ?- Tìm kiếm văn bản về phía sau
  • `SHIFT + d `sẽ thực hiện hành động xóa từ vị trí con trỏ hiện tại đến cuối dòng.

4. Thực hiện thao tác với vi/vim bằng câu lệnh qua ví dụ thực tiễn

Để vào trình soạn thảo vi thì ta thực hiện câu lệnh

vi + đường dẫn file mình cần chỉnh sửa

Ví dụ: Mình sẽ sửa file active.sh với nội dung sau, bạn có thể lấy 1 file nào bất kì.

[root@Khoi-C7 ~]# vi active.sh

sửa file active.sh

4.1 `i`- Chuyển sang chế độ Chèn, cho phép bạn chèn ký tự tại vị trí con trỏ.

Sau khi vào file bạn nhấnitrên bàn phím thì có thể chèn ký tự vào vị trí của con trỏ

chèn ký tự tại vị trí con trỏ

4.2 `a` - Chuyển sang chế độ Chèn, cho phép bạn chèn ký tự sau vị trí con trỏ.

Tương tự giống như nhấni, thìacũng chèn ký tự nhưng khi nhấnathì vị trí chèn sẽ là sau vị trí của con trỏ

Ví dụ : Khi con trỏ đang ở vị trí `a` sau khi nhấn phímathì con trỏ sẽ nhảy sang vị trí của `d` đang đứng và chèn ký tự tiếp theo sao ký tự `d`

chèn ký tự sau vị trí con trỏ

4.3 `x` - Xóa ký tự tại vị trí con trỏ

Sau khi vào file bạn nhấnxtrên bàn phím thì có thể xóa ký tự tại vị trí của con trỏ

Ví dụ :  Con trỏ đang ở vị trí của `o` sau khi nhấnxthì ký tự `o` biến mất

Trước khi chưa nhấnx

Trước khi chưa nhấn x
Sau khi nhấnx

4.4 `d + Entern `- Xóa 2 dòng kế tiếp nhau

  • Đặt con trỏ ở dòng bạn muốn xóa.
  • Nhấndtrên bàn phím. + Enter

Ví dụ : Mình thực hiện xóa dòng 5 + 6

Trước khi chưa xóa:

Xóa 2 dòng kế tiếp nhau

Sau khi xóa dòng số 5 + 6 đã bị xóa và đã được thay thế

Xóa 2 dòng 5, 6 kế tiếp nhau

4.5 `d +G  `nếu muốn xóa toàn bộ tệp.

4.6 `SHIFT + d `sẽ thực hiện hành động xóa từ vị trí con trỏ hiện tại đến cuối dòng

  • Đặt con trỏ ở vị trí bạn muốn bắt đầu xóa.
  • NhấnShift + d(hoặcD) trên bàn phím.

Ví dụ : Con trỏ đang ở vị trí ký tự `d` của dòng số 5 sau khi ấnShift + dThì những ký tự từ vị trí `d` đến hết dòng sẽ bị xóa

Trước khi chưa thực hiện

Trước khi xóa từ vị trí con trỏ hiện tại đến cuối dòng
Sau khi xóa từ vị trí con trỏ hiện tại đến cuối dòng

4.7 yy  +  p :  Sao chép dòng và dán vào vị trí của con trỏ

Cách sử dụng:

  • Đặt con trỏ ở dòng bạn muốn sao chép.
  • Nhấnyyđể sao chép dòng hiện tại.
  • Di chuyển con trỏ đến vị trí bạn muốn dán dòng sao chép.
  • Nhấnpđể dán dòng sao chép vào phía dưới vị trí con trỏ.

Ví dụ : Sao chép dòng số 7 và đưa con trỏ vào vị trí của dòng số 10  rồi nhấnp

Trước khi thực hiện

Sao chép dòng và dán vào vị trí của con trỏ
Sau khi thực hiện

4.8 u - Hoàn tác thao tác cuối cùng

4.9 + 4.10: /  hoặc  ? - Tìm kiếm văn bản về phía trước hoặc sau vị trí con trỏ.

  • Tìm kiếm không phân biệt chữ hoa chữ thường.
  • Bạn có thể sử dụng các ký tự đại diện như*?để tìm kiếm theo mẫu.
  • Sau khi tìm thấy kết quả đầu tiên, bạn có thể nhấnnđể di chuyển đến kết quả tiếp theo, hoặcShift + nđể di chuyển đến kết quả trước đó.
  • Nếu muốn tìm kiếm từ vị trí con trỏ hiện tại về phía cuối tệp, bạn có thể sử dụng?thay vì/.

Ví dụ bạn tìm kiếm `directadmin` trong file kết hợp phímShift + n hoặc phím nđể di chuyển tìm kiếm kết quả.

Tìm kiếm văn bản về phía trước hoặc sau vị trí con trỏ

5. Một số lệnh cơ bản thường sử dụng trong “vi”

Các lệnh lưu và thoát, thay thế, hiển thị số dòng trong VI/VIM:

5.1 :q: Thoát khỏi Vim

5.2 :q!: Bắt buộc thoát không cần lưu

5.3 :w!: Bắt buộc ghi file (ghi đè)

5.4 :wq: Lưu xong thoát

5.5 :set nu : Hiển thị số dòng của văn bản

5.6:%s/old/new/g : để thay thế tất cả các từ "old" bằng "new" trong toàn bộ tập tin.

% đại diện cho toàn bộ tập tin.

sử dụng các tùy chọn nhưc(xác nhận trước khi thay thế) hoặci(phân biệt hoa thường) trong lệnh thay thế.

VD : Thay thế `firewall-cmd`  bằng tuonglua trong file

Trước khi chưa thay

Thay thế `firewall-cmd`  bằng tuonglua trong file
Sau khi thay thế `firewall-cmd`  bằng tuonglua trong file

Tổng kết

Vậy làSunCloudđã cùng các bạn tìm hiểu về trình soạn thảo văn bản vi/vim, một công cụ mạnh mẽ và linh hoạt cho việc chỉnh sửa tệp tin trong môi trường Linux. Chúng tôi đã hướng dẫn cách sử dụng các lệnh cơ bản, từ việc chuyển đổi giữa các chế độ, đến cách tìm kiếm và thay thế văn bản. Không chỉ dừng lại ở những lệnh cơ bản, chúng tôi cũng giới thiệu một số lệnh nâng cao và các mẹo hữu ích để tăng hiệu suất làm việc với vi/vim.

Nếu có bất kỳ thắc mắc nào hoặc cần giải đáp thêm về vi/vim, hãy liên hệ với chúng tôi để được tư vấn sớm nhất nhé. Chúc các bạn thành công trong việc sử dụng vi/vim để tối ưu hóa công việc của mình!

>>> Có thể bạn quan tâm:LVM là gì? Hướng dẫn cấu hình LVM trong Linux và ví dụ cụ thể