Sử dụng trình soạn thảo Vi.
- Trình soạn thảo vi được cài đặt gần như trên tất cả hệ điều hành Unix. Linux cũng thường cài đặt vi(vi improve)
- Vi là một trình soạn thảo không trực quan tuy nhiên nếu biết sử dụng thì nó sẽ là một công cụ soạn thảo mạnh mẽ.
1.Mở và thoát vi
- Để sử dụng vi trên một file sử dụng:
vi filename
. Nếu file đã tồn tại thì trang đầu của file sẽ được hiển thị lên màn hình. Nếu không, vi sẽ tạo một file chống.
-
Trình soạn thảo vi mở trong chế độ command mode. Ở command mode, bạn có thể gõ các lệnh, một số lệnh đưa bạn đến insert mode. Ở insert mode, bạn có thể gõ văn bản. Dùng nút ESC
để về command mode từ insert mode.
- Thường thì bản mới hai bản chỉnh sửa của một file sẽ được lưu khi thoát. Nhưng vẫn có thể thoát vi mà không lưu chỉnh sửa.
Command |
Ý nghĩa |
:x |
Thoát vi và lưu những chỉnh sửa vào file |
:wq |
Thoát vi và lưu những chỉnh sửa vào file |
:q |
Thoát vi |
:q! |
Thoát vi mà không lưu những chỉnh sửa |
2.Di chuyển trong file.
Câu lệnh |
Ý nghĩa |
k hoặc mũi tên lên |
Di chuyển lên trên 1 dòng |
j hoặc mũi tên xuống |
Di chuyển xuống dưới 1 dòng |
h hoặc mũi tên sang trái |
Di chuyển sang trái 1 ký tự |
l hoặc mũi tên sang phải |
Di chuyển sang phải 1 ký tự |
e |
Di chuyển đến cuối từ |
b |
Di chuyển đến đầu từ (lùi lại) |
w |
Di chuyển đến đầu từ (tiến lên) |
O |
Di chuyển đến đầu dòng |
G |
Di chuyển đến cuối file |
gg |
Di chuyển đến đầu file |
L |
Di chuyển đến cuối screen |
:59 hoặc 59G |
Di chuyển đến dòng 59 |
20 |
Di 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 |
3.Cut, copy và paste
Câu lệnh |
Ý nghĩa |
y |
Copy phần text đã chọn vào clipboard |
p |
Paste content |
dd |
Cut dòng hiện tại |
yw |
Copy word |
yy |
Copy dòng hiện tại |
y$ |
Copy đến cuối dòng |
D |
Copy tới cuối file |
4.Tìm kiếm trong vi.
Câu lệnh |
Ý nghĩa |
/word |
Tìm kiếm “word” từ trên xuống dưới |
?word |
Tìm kiếm “word” từ dưới lên trên |
* |
Tìm kiếm từ con trỏ |
/\cstring |
Tìm “String” cả chữ hoa lẫn chữ thường |
/jo[ha]n |
Tìm “john” và “joan” |
/< the |
Tì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 |
5.Thay thế
Câu lệnh |
Ý nghĩa |
:%s/old/new/g |
Replace toàn bộ old thành new ở trong file |
:%s/onward/forward/gi |
Replace toàn bộ onward thành forward ở trong file, case unsensitive |
%s/old/new/gc |
Replace toàn bộ old thành new ở trong file kèm theo confirm |
:2,35s/old/new/g |
Replace toàn bộ old thành new từ dòng 2 đến 35 |
:5,$s/old/new/g |
Replace toàn bộ old thành new từ dòng 5 đến EOF |
:%s/^/hello/g |
Thêm vào đầu của mỗi dòng bằng hello |
:%s/$/Harry/g |
Thêm vào cuối của mỗi dòng bằng Harry |
:g/string/d |
Xoá toàn bộ các dòng có chứa từ string |
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ỉ |
6. Case.
Câu lệnh |
Ý nghĩa |
Vu |
Lowercase dòng hiện tại |
VU |
Uppercase dòng hiện tại |
g~~ |
Chuyền dòng hiện tại thành Uppercase và ngược lại |
vEU |
Chuyển thành Uppercase |
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 |
7. Đọc/ghi file.
Câu lệnh |
Ý nghĩa |
:1,10 w outfile |
Lưu dòng 1 đến dòng 10 trong outfile |
:1,10 w » outfile |
Nối dòng 1 đến dòng 10 trong outfile |
:r infile |
Insert content vào infile |
:23r infile |
Insert content vào infile sau dòng 23 |
8.File explorer
Câu lệnh |
Ý nghĩa |
:e. |
Mở File explorer |
:Sex |
Chia đôi màn hình mở File explorer |
:Sex! |
Chia đôi màn hình theo chiều dọc và mở File Explorer |
:ls |
List Buffer |
:cd .. |
Đến thư mục cha |
:args |
List files |
:args *.php |
Mở file theo định dạng mong muốn |
gf |
Mở File tại nơi con trỏ chỉ |
9.Alignment
Câu lệnh |
Ý nghĩa |
:%!fmt |
Align tất cả các dòng |
!}fmt |
Allign tất cả các dòng tại vị trí hiện tại |
5!!fmt |
Allign 5 dòng tiếp theo |
10.Tab/Windows
Câu lệnh |
Ý nghĩa |
:tabnew |
Tạo tab mới |
gt |
Chuyển sang tab tiếp theo |
:tabfirst |
Chuyển tới Tab đầu tiên |
:tablast |
Chuyển tới Tab cuối cùng |
:tabm n(position) |
Chuyển vị trí tab |
11.Windows Spliting
Câu lệnh |
Ý nghĩa |
:e filename |
Sửa filenane tại thời màn hình hiện tại |
:split filename |
Chia đôi màn hình và mở filename |
:sp filename |
Chia đôi màn hình theo chiều ngang |
:vs filename |
Chia đô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 +w |
Max 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 |
12.Auto-completion
Câu lệnh |
Ý nghĩa |
Ctrl+n Ctrl+p (in insert mode) |
Complete word |
Ctrl+x Ctrl+l |
Complete line |
:set dictionary=dict |
Define dict as a dictionnary |
Ctrl+x Ctrl+k |
Complete with dictionnary |
13.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 đó |
14.Text Indent
Câu lệnh |
Ý nghĩa |
:set autoindent |
Turn on auto-indent |
:set smartindent |
Turn on intelligent auto-indent |
:set shiftwidth=4 |
Định nghĩa indent bằng 4 space |
ctrl-t, ctrl-d |
Indent/un-indent trong insert mode |
» |
Indent |
« |
Un-Indent |
=% |
Indent code trong dấu ngoặc |
1GVG= |
Indent toàn bộ file |
15.Syntax highlighting
Câu lệnh |
Ý nghĩa |
:syntax on |
Turn on syntax highlighting |
:syntax off |
Turn off syntax highlighting |
:set syntax=perl |
Force syntax highlighting |
nguồn: https://viblo.asia/p/cac-cau-lenh-vim-ma-cac-developer-nen-biet-ByEZkLyglQ0