Trong môi trường Linux/Unix, Vim (Vi Improved) là trình soạn thảo văn bản tiêu chuẩn, gần như luôn có sẵn trên mọi máy chủ. Đối với quản trị hệ thống, DevOps, kỹ sư hạ tầng hay người làm việc với server không giao diện đồ họa, việc sử dụng thành thạo Vim là kỹ năng bắt buộc.
Bài viết này tổng hợp các lệnh Vim hay gặp nhất, tập trung vào thực hành, giúp bạn thao tác nhanh, chính xác khi chỉnh sửa file cấu hình, script hoặc log trên Linux.
1. Các chế độ làm việc trong Vim
Vim hoạt động theo cơ chế đa chế độ, mỗi chế độ có chức năng riêng:
| Chế độ | Mô tả |
|---|---|
| Normal | Chế độ mặc định, dùng để di chuyển và thao tác |
| Insert | Chế độ nhập văn bản |
| Visual | Chọn vùng văn bản |
| Command-line | Thực thi lệnh bắt đầu bằng : |
Chuyển chế độ
Esc→ về Normal modei→ Insert (chèn tại vị trí con trỏ)a→ Insert (chèn sau con trỏ)v→ Visual (chọn theo ký tự)V→ Visual Line (chọn theo dòng):→ Command-line mode
2. Các lệnh mở và thoát Vim
Mở file
Thoát Vim
| Lệnh | Ý nghĩa |
|---|---|
:q | Thoát |
:q! | Thoát không lưu |
:w | Lưu |
:wq | Lưu và thoát |
:x | Lưu (nếu có thay đổi) và thoát |
3. Di chuyển con trỏ (rất quan trọng)
Di chuyển cơ bản
| Phím | Chức năng |
|---|---|
h | Sang trái |
l | Sang phải |
j | Xuống |
k | Lên |
Di chuyển nhanh
| Phím | Ý nghĩa |
|---|---|
0 | Đầu dòng |
$ | Cuối dòng |
gg | Đầu file |
G | Cuối file |
:n | Nhảy đến dòng n |
Ví dụ:
→ Nhảy đến dòng 120
4. Chỉnh sửa và nhập văn bản
Insert mode
| Lệnh | Chức năng |
|---|---|
i | Chèn tại vị trí con trỏ |
I | Chèn đầu dòng |
a | Chèn sau con trỏ |
A | Chèn cuối dòng |
o | Tạo dòng mới bên dưới |
O | Tạo dòng mới bên trên |
5. Xóa, cắt và sao chép
Xóa
| Lệnh | Chức năng |
|---|---|
x | Xóa ký tự |
dd | Xóa dòng |
D | Xóa từ con trỏ đến cuối dòng |
:d | Xóa dòng hiện tại |
Sao chép (Yank)
| Lệnh | Chức năng |
|---|---|
yy | Sao chép dòng |
yw | Sao chép từ |
y$ | Sao chép đến cuối dòng |
Dán
| Lệnh | Chức năng |
|---|---|
p | Dán sau con trỏ |
P | Dán trước con trỏ |
6. Hoàn tác và làm lại
| Lệnh | Chức năng |
|---|---|
u | Undo |
Ctrl + r | Redo |
7. Tìm kiếm và thay thế
Tìm kiếm
| Lệnh | Ý nghĩa |
|---|---|
/text | Tìm từ trên xuống |
?text | Tìm từ dưới lên |
n | Kết quả tiếp |
N | Kết quả trước |
Thay thế
| Thành phần | Ý nghĩa |
|---|---|
% | Toàn bộ file |
g | Thay tất cả trong dòng |
Ví dụ:
8. Hiển thị và hỗ trợ chỉnh sửa code
| Lệnh | Chức năng |
|---|---|
:set number | Hiện số dòng |
:set nonumber | Ẩn số dòng |
:set paste | Dán không vỡ định dạng |
:set nopaste | Tắt paste mode |
:syntax on | Bật highlight |
:syntax off | Tắt highlight |
9. Làm việc với nhiều file
| Lệnh | Chức năng |
|---|---|
:e file | Mở file mới |
:w file | Lưu thành file khác |
:bn | File tiếp theo |
:bp | File trước |
:ls | Danh sách buffer |
10. Một số tổ hợp hay dùng trong quản trị server
| Tình huống | Lệnh |
|---|---|
| Sửa nhanh file cấu hình | vim /etc/nginx/nginx.conf |
| Tìm port trong file | /listen |
| Comment nhiều dòng | V → j → :s/^/#/ |
| Uncomment | :s/^#// |
| Xem log nhanh | vim +G /var/log/syslog |
11. Mẹo sử dụng Vim hiệu quả
Luôn ở Normal mode khi suy nghĩ
Hạn chế dùng chuột
Kết hợp số + lệnh (ví dụ:
5dd)Dùng
.vimrcđể tối ưu hóa môi trường
Ví dụ .vimrc cơ bản:
Kết luận
Vim không thân thiện với người mới, nhưng khi đã quen, nó trở thành công cụ cực kỳ mạnh mẽ, đặc biệt trong môi trường Linux server, SSH và hệ thống sản xuất.
Việc nắm vững các lệnh Vim hay gặp giúp:
Giảm thời gian thao tác
Hạn chế lỗi khi sửa file cấu hình
Tăng hiệu suất làm việc của quản trị hệ thống
- Đăng nhập để gửi ý kiến