Các câu lệnh trong vim - linux

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Việc sử dụng Vim thuần thục sẽ khiến bạn hạn chế đến mức thấp nhất việc sử dụng chuột và di chuyển tay quanh bàn phím và chuột dẫn đến thời gian lập trình và thao tác sẽ nhanh hơn rất nhiều. Hy vọng bài viết cơ bản dưới đây sẽ giúp ích cho các bạn.

Cơ bản​

Câu lệnhÝ nghĩa
:e filenameMở filename với editor
:wLưu file
:qThoát Vim
:q!Thoát mà không lưu
:xViết vào file (nếu thay đổi đã được tạo) và thoát
:sav filenameLưu file dưới tên (filename)
.Lặp lại thao tác gần nhất ở Normal Mode
5.Lặp lại 5 lần thao tác gần nhất ở Normal Mode

Moving File​

Câu lệnhÝ nghĩa
k hoặc mũi tên lênDi chuyển lên trên 1 dòng
j hoặc mũi tên xuốngDi chuyển xuống dưới 1 dòng
h hoặc mũi tên sang tráiDi chuyển sang trái 1 ký tự
l hoặc mũi tên sang phảiDi chuyển sang phải 1 ký tự
eDi chuyển đến cuối từ
bDi chuyển đến đầu từ (lùi lại)
wDi chuyển đến đầu từ (tiến lên)
ODi chuyển đến đầu dòng
GDi chuyển đến cuối file
ggDi chuyển đến đầu file
LDi chuyển đến cuối screen
:59 hoặc 59GDi chuyển đến dòng 59
20Di chuyển đến cột 20
%Di chuyển đến các ngoặc trong dòng
[[Nhảy đến nơi bắt đầu function
[{Nhảy đến nơi bắt đầu block

Cut, copy & paste​

Câu lệnhÝ nghĩa
yCopy phần text đã chọn vào clipboard
pPaste content
ddCut dòng hiện tại
ywCopy word
yyCopy dòng hiện tại
y$Copy đến cuối dòng
DCopy tới cuối file

Search​

Câu lệnhÝ nghĩa
/wordTìm kiếm "word" từ trên xuống dưới
?wordTìm kiếm "word" từ dưới lên trên
*Tìm kiếm từ con trỏ
/\cstringTìm "String" cả chữ hoa lẫn chữ thường
/jo[ha]nTìm "john" và "joan"
/< theTìm từ bắt đầu bằng the ví dụ: theatre or then
/the>Tìm từ kết thúc bằng the ví dụ: breathe

Replace​

Câu lệnhÝ nghĩa
:%s/old/new/gReplace toàn bộ old thành new ở trong file
:%s/onward/forward/giReplace toàn bộ onward thành forward ở trong file, case unsensitive
%s/old/new/gcReplace toàn bộ old thành new ở trong file kèm theo confirm
:2,35s/old/new/gReplace toàn bộ old thành new từ dòng 2 đến 35
:5,$s/old/new/gReplace toàn bộ old thành new từ dòng 5 đến EOF
:%s/^/hello/gThêm vào đầu của mỗi dòng bằng hello
:%s/$/Harry/gThêm vào cuối của mỗi dòng bằng Harry
:g/string/dXoá toàn bộ các dòng có chứa từ string
😒
/Bill/Steve/g
Thay thế Bill thành Steve tại dòng hiện tại
Ctrl+a+1 cho số tại nơi con trỏ đang chỉ
Ctrl+x-1 cho số tại nơi con trỏ đang chỉ

Case​

Câu lệnhÝ nghĩa
VuLowercase dòng hiện tại
VUUppercase dòng hiện tại
g~~Chuyền dòng hiện tại thành Uppercase và ngược lại
vEUChuyển thành Uppercase
| ggguG | Biến tất cả chữ trong file thành lowercase |

| gggUG| Biến tất cả chữ trong file thành uppercase | | :set ignorecase | Ignore case trong search | | :set smartcase | Ignore case trong search ngoại trừ trong search có chữ in hoa |

Đọc/Viết file​

Câu lệnhÝ nghĩa
:1,10 w outfileLưu dòng 1 đến dòng 10 trong outfile
:1,10 w >> outfileNối dòng 1 đến dòng 10 trong outfile
:r infileInsert content vào infile
:23r infileInsert content vào infile sau dòng 23

File explorer​

Câu lệnhÝ nghĩa
:e.Mở File explorer
:SexChia đôi màn hình mở File explorer
:Sex!Chia đôi màn hình theo chiều dọc và mở File Explorer
:lsList Buffer
:cd ..Đến thư mục cha
:argsList files
:args *.phpMở file theo định dạng mong muốn
gfMở File tại nơi con trỏ chỉ

Alignment​

Câu lệnhÝ nghĩa
:%!fmtAlign tất cả các dòng
!}fmtAllign tất cả các dòng tại vị trí hiện tại
5!!fmtAllign 5 dòng tiếp theo

Tab/Windows​

Câu lệnhÝ nghĩa
:tabnewTạo tab mới
gtChuyển sang tab tiếp theo
:tabfirstChuyển tới Tab đầu tiên
:tablastChuyển tới Tab cuối cùng
:tabm n(position)Chuyển vị trí tab

Windows Spliting​

Câu lệnhÝ nghĩa
:e filenameSửa filenane tại thời màn hình hiện tại
:split filenameChia đôi màn hình và mở filename
:sp filenameChia đôi màn hình theo chiều ngang
:vs filenameChia đôi màn hình theo chiều dọc
Ctrl + w + hướngĐiều hướng giữa các màn hình đã chia
Ctrl + w_Max chiều dọc cho màn hình hiện tại
Ctrl +wMax chiều ngang cho màn hình hiện tại
Ctrl-w=Điều chỉnh kích thước bằng nhau cho tất cả các màn hình
10 ctrl-w+Thêm 10 dòng cho màn hình hiện tại
:hideĐóng màn hình hiện tại
:nlyĐóng tất cả màn hình trừ màn hình hiện tại

Auto-completion​

Câu lệnhÝ nghĩa
Ctrl+n Ctrl+p (in insert mode)Complete word
Ctrl+x Ctrl+lComplete line
:set dictionary=dictDefine dict as a dictionnary
Ctrl+x Ctrl+kComplete with dictionnary

Marks​

Câu lệnhÝ nghĩa
m {a-z}Marks vị trí hiện tại với chữ cái đc set {a -z}
'{a-z}Move đến vị trí
"Move đến vị trí trước đó

Text Indent​

Câu lệnhÝ nghĩa
:set autoindentTurn on auto-indent
:set smartindentTurn on intelligent auto-indent
:set shiftwidth=4Định nghĩa indent bằng 4 space
ctrl-t, ctrl-dIndent/un-indent trong insert mode
>>Indent
<<Un-Indent
=%Indent code trong dấu ngoặc
1GVG=Indent toàn bộ file

Syntax highlighting​

Câu lệnhÝ nghĩa
:syntax onTurn on syntax highlighting
:syntax offTurn off syntax highlighting
:set syntax=perlForce syntax highlighting