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 là một công cụ dựa trên dòng lệnh, đó là một phiên bản nâng cao của trình soạn thảo vi đáng kính. Mặc dù có rất nhiều trình soạn thảo văn bản phong phú, quen thuộc với Vim sẽ giúp mọi người dùng Linux - từ một quản trị viên hệ thống có kinh nghiệm đến người dùng Raspberry Pi mới.

Trình chỉnh sửa trọng lượng nhẹ là một công cụ rất mạnh mẽ. Trong tay của một nhà điều hành có kinh nghiệm, nó có thể làm điều kỳ diệu. Bên cạnh chức năng chỉnh sửa văn bản thông thường, trình soạn thảo cũng hỗ trợ các tính năng nâng cao như tìm và thay thế dựa trên biểu thức chính quy và chuyển đổi mã hóa cũng như các tính năng lập trình như làm nổi bật cú pháp và mã gấp.

Một điều quan trọng cần lưu ý khi sử dụng Vim, là chức năng của một khóa phụ thuộc vào "chế độ" trình soạn thảo được in Ví dụ, nhấn bảng chữ cái "j" sẽ di chuyển con trỏ xuống một dòng trong "chế độ lệnh". Bạn sẽ phải chuyển sang “chế độ chèn” để làm cho các phím nhập vào ký tự mà chúng đại diện.

Dưới đây là một cheatsheet để giúp bạn tận dụng tối đa Vim.

Phím tắtChức năng

Chủ yếu

Phím thoátThoát khỏi chế độ hiện tại vào “chế độ lệnh”. Tất cả các phím đều bị ràng buộc bởi các lệnh.
tôi“Chèn chế độ” để chèn văn bản. Phím hoạt động như mong đợi.
:“Chế độ dòng cuối cùng”, nơi Vim mong bạn nhập lệnh như để lưu tài liệu.

Phím điều hướng

hdi chuyển con trỏ một ký tự sang bên trái.
j hoặc Ctrl + Jdi chuyển con trỏ xuống một dòng.
k hoặc Ctrl + Pdi chuyển con trỏ lên một dòng.
ldi chuyển con trỏ một ký tự sang bên phải.
0di chuyển con trỏ đến đầu dòng.
$di chuyển con trỏ đến cuối dòng.
^di chuyển con trỏ đến ký tự không trống đầu tiên của dòng
wdi chuyển về phía trước một từ (chữ số tiếp theo)
Wdi chuyển về phía trước một từ (được phân tách bằng khoảng trắng)
5 tuầndi chuyển về phía trước năm từ
bdi chuyển lùi một từ (từ chữ số trước đó)
Bdi chuyển lùi một từ (được giới hạn bởi khoảng trắng)
5bdi chuyển lùi năm từ
Gdi chuyển đến cuối tập tin
ggdi chuyển đến đầu tệp.

Điều hướng xung quanh tài liệu

(nhảy đến câu trước
)chuyển sang câu tiếp theo
{nhảy đến đoạn trước
}nhảy đến đoạn tiếp theo
[[nhảy đến phần trước
]]nhảy đến phần tiếp theo
[]nhảy đến cuối phần trước
] [nhảy đến cuối phần tiếp theo

Chèn văn bản

mộtChèn văn bản sau con trỏ
AChèn văn bản ở cuối dòng
tôiChèn văn bản trước con trỏ
oBắt đầu một dòng mới bên dưới con trỏ
OBắt đầu một dòng mới phía trên con trỏ

Chèn đặc biệt

: r [tên tệp]Chèn tệp [tên tệp] bên dưới con trỏ
: r! [lệnh]Thực hiện [lệnh] và chèn đầu ra của nó bên dưới con trỏ

Xóa văn bản

xxóa ký tự tại con trỏ
dwxóa một từ.
d0xóa vào đầu dòng.
d $xóa đến cuối dòng.
d)xóa đến cuối câu.
dggxóa vào đầu tệp.
dGxóa vào cuối tệp.
đxóa dòng
3ddxóa ba dòng

Văn bản thay thế đơn giản

r {text}Thay thế ký tự bên dưới con trỏ bằng {text}
RThay thế các ký tự thay vì chèn chúng

Sao chép / Dán văn bản

yysao chép dòng hiện tại vào bộ đệm lưu trữ
["x] yySao chép các dòng hiện tại vào thanh ghi x
pdán bộ đệm lưu trữ sau dòng hiện tại
Pdán bộ đệm lưu trữ trước dòng hiện tại
["x] pdán từ thanh ghi x sau dòng hiện tại
["x] Pdán từ đăng ký x trước dòng hiện tại

Hoàn tác / Làm lại thao tác

bạnhoàn tác thao tác cuối cùng.
Ctrl + rlàm lại lần hoàn tác cuối cùng.

Tìm kiếm và thay thế phím

/ search_texttài liệu tìm kiếm cho search_text trong tương lai
? search_texttìm kiếm tài liệu cho search_text đi ngược
nchuyển sang ví dụ tiếp theo của kết quả từ tìm kiếm
Ndi chuyển đến phiên bản kết quả trước
:% s / bản gốc / thay thếTìm kiếm lần xuất hiện đầu tiên của chuỗi “gốc” và thay thế bằng “thay thế”
:% s / bản gốc / thay thế / gTìm kiếm và thay thế tất cả các lần xuất hiện của chuỗi “gốc” bằng “thay thế”
:% s / bản gốc / thay thế / gcTìm kiếm tất cả các lần xuất hiện của chuỗi “gốc” nhưng yêu cầu xác nhận trước khi thay thế chúng bằng “thay thế”

Dấu trang

m {az AZ}Đặt dấu trang {az AZ} tại vị trí con trỏ hiện tại
:điểmLiệt kê tất cả dấu trang
`{az AZ}Chuyển đến dấu trang {az AZ}

Chọn văn bản

vNhập chế độ trực quan cho mỗi ký tự
VNhập chế độ trực quan trên mỗi dòng
EscThoát khỏi chế độ trực quan

Sửa đổi văn bản đã chọn

~Chuyển trường hợp
dxóa một từ.
cthay đổi
yyank
>chuyển sang phải
<Sang trái
!lọc qua lệnh ngoài

Lưu và thoát

: qThoát Vim nhưng không thành công khi tệp đã bị thay đổi
: wLưu các tập tin
: w new_nameLưu tệp bằng tên tệp new_name
: wqLưu tệp và thoát khỏi Vim.
: q!Bỏ Vim mà không lưu các thay đổi vào tập tin.
ZZViết tệp, nếu sửa đổi và thoát khỏi Vim
ZQTương tự như: q! Thoát khỏi Vim mà không cần viết thay đổi

Tải xuống bàn phím tắt VIM

Không thể có đủ điều này? Chúng tôi đã chuẩn bị một bảng cheat cho bạn để bạn có thể truy cập vào nó khi bạn cần.

Tải về tại đây!