Hướng dẫn khởi đầu với Vim – trình soạn thảo dòng lệnh mạnh mẽ, phổ biến, có sẵn trên hầu hết Linux/macOS/Unix.
Hai chế độ cốt lõi
- Normal mode (Command mode): Mặc định khi mở Vim. Gõ lệnh: xóa, sao chép, tìm kiếm, lưu, thoát...
- Insert mode: Gõ văn bản bình thường. Nhấn i để vào, Esc để ra.
Góc dưới trái hiển thị -- INSERT -- khi ở Insert mode.
Mở/Tạo file
# vim filename.txt
Thoát Vim (Quan trọng!)
| Lệnh | Hành động |
:qThoát (không lưu) – báo lỗi nếu có thay đổi chưa lưu |
:q!Thoát bỏ qua thay đổi (force quit) |
:wLưu (write) |
:wq hoặc :xLưu và thoát |
:wq!Lưu ép buộc (read-only file, cần quyền) |
Tất cả lệnh trên gõ ở Normal mode, bắt đầu bằng :, kết thúc Enter.
Chế độ Insert (Viết text)
| Phím | Vị trí chèn |
| i | Trước con trỏ |
| I | Đầu dòng (non-blank) |
| a | Sau con trỏ |
| A | Cuối dòng |
| o | Mở dòng mới dưới dòng hiện tại |
| O | Mở dòng mới trên dòng hiện tại |
Di chuyển (Normal mode)
| Phím | Hành động |
| h/j/k/l | Trái/Xuống/Lên/Phải (vim keys) |
| w / b | Từ tiếp theo / từ trước |
| 0 / ^ / $ | Đầu dòng / đầu từ / cuối dòng |
| gg / G | Đầu file / cuối file |
| Ctrl+F / B | Cuộn trang xuống/lên |
| :số dòng | Nhảy đến dòng cụ thể |
Chỉnh sửa cơ bản (Normal mode)
| Lệnh | Hành động |
| x | Xóa ký tự tại con trỏ |
| dw | Xóa 1 từ (delete word) |
| dd | Xóa 1 dòng (delete line) |
| D | Xóa từ con trỏ đến cuối dòng |
| u | Undo (hoàn tác) |
| Ctrl+R | Redo (làm lại) |
| yy / Y | Sao chép 1 dòng (yank) |
| p / P | Dán sau / trước con trỏ (put) |
| . | Lặp lại lần chỉnh sửa cuối |
Tìm kiếm & Thay thế
| Lệnh | Hành động |
/pattern | Tìm xuôi |
?pattern | Tìm ngược |
| n / N | Kết quả tiếp theo / trước |
:%s/old/new/g | Thay thế tất cả old → new trong file |
:s/old/new/g | Thay thế trên dòng hiện tại |
Cửa sổ & Tab
:split / :sp file # Chia ngang
:vsplit / :vs file # Chia dọc
:tabnew / :tabedit # Tab mới
gt / gT # Tab tiếp theo / trước
Ctrl+W, h/j/k/l # Di chuyển giữa cửa sổ
Cấu hình cơ bản (~/.vimrc)
set number " Hiện số dòng
set relativenumber " Số dòng tương đối (dễ nhảy)
set tabstop=4 shiftwidth=4 expandtab " Thụt 4 space
set hlsearch incsearch " Highlight tìm kiếm
set ignorecase smartcase " Tìm không phân biệt hoa/thường trừ khi có chữ hoa
set mouse=a " Cho phép chuột
syntax on " Tô màu cú pháp
filetype plugin indent on
Học Vim hiệu quả
- Chạy
vimtutor trong terminal – bài hướng dẫn tương tác 30 phút.
- Game học Vim: Vim Adventures, VimGolf.
- Cheatsheet: vim.rtorr.com.