Tải bản đầy đủ (.pdf) (12 trang)

Trình soạn thảo VIM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (255.49 KB, 12 trang )


1
7
PHỤ LỤC B. TRÌNH SOẠN THẢO VIM

UNIX có hai bộ soạn thảo là ed và vi trong đó vi được ưa chuộng hơn do vi được phát
triển từ bộ soạn thảo dòng lệnh ed. Trong chế độ văn bản, Linux cho phép người dùng sử
dụng trình soạn thảo vim mà vim chính là bộ soạn thảo tương thích với vi. vim được phần
lớn người dùng sử dụng để soạn thảo các file văn bản ASCII, đặc biệt là tạo ra các văn bản
chương trình nguồn.
vim có sáu chế độ cơ bản:
 Chế độ thường (Normal mode): trong chế độ thường người dùng được
phép nhập tất cả các lệnh soạn thảo thông thường. Nếu không thiết lập tuỳ chọn
insertmode, ngầm định vào ngay chế độ thường khi khởi động vim. Chế độ
thường còn được gọi là chế độ lệnh.
 Chế độ ảo (Visual mode): chế độ này cũng gần giống như chế độ thường,
chỉ khác ở chỗ là lệnh di chuyển có tác dụng đánh dấu văn bản. Mặt khác, các lệnh
khác (không là lệnh di chuyển) thực sự tác dụng trong phạm vi những đoạn văn bản
đã được đánh dấu.
 Chế độ chọn lựa (Select mode): chế độ này tương tự như chế độ lựa chọn
của MS-Windows. Người dùng có thể nhập một ký tự thuộc loại in ấn được để xoá
một sự lựa chọn và chạy chế độ chèn.
 Chế độ chèn (Insert mode): Trong chế độ này, có thể soạn thảo văn bản
bình thường như các bộ soạn thảo quen biết khác. Văn bản đó sẽ được chèn vào
trong bộ đệm.
 Chế độ dòng lệnh (Command-line mode hay cmdline mode): Trong
chế độ này, một dòng lệnh được nhập tại đáy cửa sổ soạn thảo. Đó có thể là các lệnh
Ex (:), các lệnh tìm kiếm (/ hay ?), và các lệnh lọc (!).
 Chế độ Ex (Ex mode): giống như chế độ dòng lệnh, nhưng sau khi nhập
một lệnh, vẫn ở trong chế độ Ex. Tuy nhiên còn rất nhiều hạn chế đối với các lệnh ở
chế độ này.


Ngoài ra còn có năm chế độ phụ sau:
 Chế độ chờ thực hiện (Operator-pending mode): chế độ này giống chế
độ thường, nhưng sau khi gọi một lệnh, vim sẽ chờ cho đến khi đoạn văn bản chịu
tác động của lệnh được đưa ra.
 Chế độ thay thế (Replace mode): chế độ thay thế là một trường hợp đặc
biệt của chế độ chèn. Người dùng có thể nhập mọi ký tự như trong chế độ chèn, chỉ
khác ở chỗ: mỗi ký tự nhập sẽ thay thế cho một ký tự đã tồn tại (có thể gọi là chế độ
đè - overwrite).
 Chế độ chèn-lệnh (Insert Normal mode): gõ CTRL-O trong chế độ chèn
để chuyển sang chế độ chèn-lệnh. Chế độ này cũng giống như chế độ thường, nhưng
sau khi thực hiện một lệnh, vim sẽ trở lại chế độ chèn.
 Chế độ chèn-ảo (Insert Visual mode): chế độ này được sinh ra khi trong
chế độ chèn thực hiện một sự lựa chọn ảo. vim sẽ trở về chế độ chèn sau khi sự lựa
chọn ảo đó kết thúc.

1
7
 Chế độ chèn-lựa chọn (Insert Select mode): chế độ này được khởi tạo khi
chạy chế độ lựa chọn trong chế độ chèn. Khi chế độ lựa chọn kết thúc, vim sẽ trở về
chế độ chèn.
Việc chuyển đổi giữa các chế độ trong vim được thực hiện nhờ các lệnh (phím lệnh
hoặc xâu lệnh) của vim và được tập hợp trong bảng dưới đây. Trong bảng này, cột đầu tiên
là chế độ nguồn, hàng đầu tiên là chế độ đích, ô giao giữa hàng và cột chứa các phím lệnh
chuyển chế độ (ký hiệu *1, *2, *3, *4, *5, *6 là cách viết tắt danh sách lệnh được giải thích
ở sau):

Chế độ cần chuyển tới

Chế độ hiện
thời

Thường
ảo
Lựa
chọn
Chèn
Thay
thế
Dòng
lệnh
Ex
Thường v, V,
^V
*4 *1
R :, /, ?, ! Q
ảo
*2
^G c, C
-- : --
Lựa chọn
*5
^O, ^G
*6 -- : --
Chèn <Esc>
-- --
<Insert>
-- --
Thay thế <Esc>
-- --
<Insert>
-- --

Dòng lệnh
*3 -- --
:start
--

--
Ex :vi
-- -- -- -- --


Giải thích các lệnh viết tắt:
 *1 Để chuyển sang chế độ chèn từ chế độ thường, sử dụng một trong
các phím: i, I, a, A, o, O, c, C, s, S.
 *2 Để chuyển sang chế độ thường từ chế độ ảo: ngoài <Esc>, v, V,
CTRL-V có thể gõ một phím lệnh thông thường (ngoại trừ phím lệnh di chuyển con
trỏ).
 *3 Để chuyển sang chế độ thường từ chế độ dòng lệnh:
 Thực hiện lệnh <Enter>
 Gõ CTRL-C hoặc <Esc>
 *4 Để chuyển sang chế độ lựa chọn từ chế độ thường:
 Sử dụng chuột để lựa chọn văn bản
 Sử dụng các phím không in được để di chuyển dấu nhắc trỏ trong khi ấn
giữ phím SHIFT
 *5 Để chuyển sang chế độ thường từ chế độ lựa chọn: sử dụng các phím
không in được để di chuyển dấu nhắc trỏ mà không nhấn phím SHIFT.
 *6 Để chuyển sang chế độ chèn từ chế độ lựa chọn: nhập một ký tự có
thể in được.
Dưới đây trình bày nội dung một số các lệnh cơ bản trong vim.

1

8
B.1 Khởi động vim
B.1.1 Mở chương trình soạn thảo vim
Cách đơn giản nhất bắt đầu dùng vim để soạn thảo một file văn bản, là gõ một trong ba
lệnh sau:
vim [tuỳ-chọn]
bắt đầu soạn thảo hay hiệu chỉnh một file
vim [tuỳ-chọn] <danh sách các file>
bắt đầu soạn thảo một hoặc nhiều file
vim [tuỳ chọn] -
soạn thảo một file từ thiết bị vào chuẩn

Nếu tham số danh sách các file không có thì vim sẽ thao tác với một file mới (vùng
đệm soạn thảo rỗng). Ngược lại, file đầu tiên trong danh sách trở thành file hiện hành và
được đọc vào trong vùng soạn thảo. Con trỏ sẽ xuất hiện ở đầu dòng đầu tiên của vùng này.
Để hướng đến file kế tiếp, ta đánh lệnh ":next" ở chế độ lệnh. Để soạn thảo một file có tên
bắt đầu bằng "-" thì phải điền vào tên file dấu "--".
Ví dụ:
# vim vdvim`
~
~
~
~
~
~
~
"vdvim"[New File] 0,0-1 All
Lệnh trên mở một cửa sổ cho người dùng soạn thảo một file mới có tên là "vdvim"
Một số các tuỳ chọn cơ bản:
B.1.2. Tính năng mở nhiều cửa sổ

Trong vim, có thể chia cửa sổ soạn thảo hiện thời thành nhiều phần hay mở nhiều cửa
sổ cùng lúc để soạn thảo các file khác nhau.
Ví dụ lệnh sau sẽ mở hai file vd1 và vd2 trên hai cửa sổ soạn thảo:
# vim -o2 vd1 vd2
~
~
~
+ [n] đặt dấu nhắc trỏ tại dòng thứ n (ngầm định là dòng cuối)
+ <lệnh> thực hiện lệnh sau khi nạp file
+/<mẫu> <file> đặt dấu nhắc trỏ tại dòng đầu tiên có chứa mẫu trong file
-o[n] mở n cửa sổ (ngầm định có một cửa sổ cho một file: n=1)
--help hiển thị danh sách các tham số và thoát

1
8
vd1 0,0-1 All
~
~
~
vd2 0,0-1 All
"vd2" [New File]
Sau đây là một số các lệnh hay dùng:

CTRL-W chia cửa sổ hiện tại thành hai phần
:split <file>
chia cửa sổ và soạn thảo <file> trên một phần chia của cửa sổ
:sf <file>
chia cửa sổ, tìm file trên đường dẫn và soạn thảo nó
CTRL-W CTRL-^ chia cửa sổ và edit alternate file
CTRL-W n tạo một cửa sổ trống mới (giống :new)

CTRL-W q dừng việc soạn thảo và đóng cửa sổ (giống :q)
CTRL-W o
phóng to cửa sổ hiện hành trên toàn màn hình
CTRL-W j
di chuyển trỏ soạn thảo xuống cửa sổ dưới
CTRL-W k
di chuyển trỏ soạn thảo lên cửa sổ trên
CTRL-W t
di chuyển trỏ soạn thảo lên đỉnh cửa sổ
CTRL-W b
di chuyển trỏ soạn thảo xuống đáy cửa sổ
CTRL-W p
di chuyển trỏ soạn thảo đến cửa sổ được kích hoạt lúc trước
CTRL-W x
di chuyển trỏ soạn thảo đến cửa sổ tiếp theo
CTRL-W =
tạo tất cả các cửa sổ có chiều cao như nhau
CTRL-W -
giảm chiều cao của cửa sổ hiện thời
CTRL-W +
tăng chiều cao của cửa sổ hiện thời
CTRL-W Ỵ
thiết đặt chiều cao của cửa sổ hiện thời
B.1.3. Ghi và thoát trong vim
Bảng dưới đây giới thiệu các lệnh để ghi nội dung file lên hệ thống file và thoát khỏi
vim sau khi đã soạn thảo xong nội dung của file (tham số ửn, mứ nếu có mang ý nghĩa "từ
dòng n tới dòng m").

:[n,m] w [!] ghi file hiện thời.
:[n,m] w <file> ghi nội dung ra <file>, trừ khi file đó đã thực sự tồn tại

:[n,m] w! <file> ghi nội dung ra <file>, nếu file đã tồn tại thì ghi đè lên
nội dung cũ
:[n,m] w[!] >> [<file>] chèn thêm vào <file>, nếu không có file, mặc định là file
hiện thời
:[n,m] w !<lệnh> thực hiện <lệnh> trên các dòng từ dòng thứ n đến dòng
thứ m như thiết bị vào chuẩn
:[n,m] up [thời gian] [!] ghi file hiện thời nếu nó được sửa đổi
:q [!]
thoát khỏi vim
:wq [!] [<file>] ghi nội dung <file> (mặc định là file hiện thời) và thoát
khỏi vim
:x [!] <file> giống :wq nhưng chỉ ghi khi thực sự có sự thay đổi trong
nội dung file (giống ZZ)

1
8
:st [!]
dừng vim và khởi tạo một shell (giống CTRL-Z)
B.2. Di chuyển trỏ soạn thảo trong Vim
B.2.1. Di chuyển trong văn bản
Di chuyển trỏ soạn thảo trong văn bản là một tính năng rất quan trọng trong một trình
soạn thảo văn bản vim. Dưới đây là một số các lệnh để thực hiện việc trên (cột đầu tiên có
n chỉ một số là số lượng):

N l
di chuyển trỏ soạn thảo về bên phải n ký tự
N h
di chuyển trỏ soạn thảo về bên trái n ký tự
n k
di chuyển trỏ soạn thảo lên n dòng

n j
di chuyển trỏ soạn thảo xuống n dòng

0
di chuyển về đầu dòng

^
di chuyển đến từ đầu tiên của dòng hiện tại

$
di chuyển đến cuối dòng
<Enter> di chuyển đến đầu dòng tiếp theo
n - di chuyển đến đầu dòng trước dòng hiện tại n dòng
n + di chuyển đến đầu dòng sau dòng hiện tại n dòng
n _ di chuyển đến đầu dòng sau dòng hiện tại n-1 dòng
G di chuyển đến dòng cuối cùng trong file
n G di chuyển đến dòng thứ n trong file (giống :n)
H di chuyển đến dòng đầu tiên trên màn hình
M di chuyển đến dòng ở giữa màn hình
n gg di chuyển đến đầu dòng thứ n (mặc định là dòng đầu
tiên)
n gk di chuyển lên n dòng màn hình
n gj di chuyển xuống n dòng màn hình
B.2.2. Di chuyển theo các đối tượng văn bản
vim cung cấp các lệnh dưới đây cho phép di chuyển trỏ soạn thảo nhanh theo các đối
tượng văn bản và điều đó tạo nhiều thuận tiện khi biên tập, chẳng hạn, trong các trường hợp
người dùng cần xoá bỏ hay thay đổi một từ, một câu ...

N W di chuyển n từ tiếp theo
N E di chuyển đến cuối của từ thứ n

N B di chuyển ngược lại n từ
N ge di chuyển ngược lại n từ và đặt dấu nhắc trỏ tại chữ cái cuối từ
N > di chuyển đến n câu tiếp theo
N < di chuyển ngược lại n câu
N | di chuyển đến n đoạn tiếp theo
N | di chuyển ngược lại n đoạn
N ]] di chuyển đến n phần tiếp theo và đặt dấu nhắc trỏ tại đầu phần
N [[ di chuyển ngược lại n phần và đặt dấu nhắc trỏ tại đầu phần
n ][ di chuyển đến n phần tiếp theo và đặt dấu nhắc trỏ tại cuối phần
n [] di chuyển ngược lại n phần và đặt dấu nhắc trỏ tại cuối phần

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×