Nội dung : Giới thiệu trình soạn thảo vi , cung cấp một số kiến thức cơ sở để có
thể soạn thảo được văn bản hay chương trình .
I. Khởi động vi :
1. Giới thiệu : Vi (video interactif) là chương trình sọan thảo văn bản theo
trang màn hình :
- Màn hình được xem như một cửa sổ mở trên tập tin .
- Có khả năng di chuyển con trỏ đến bất kì vị trí nào trên màn hình .
- Cửa sổ có thể di chuyển tự do trên tập tin .
Phần lớn các phím dùng độc lập hoặc kết hợp với phím Shift và Ctrl để
tạo ra các lệnh của vi . Khi một lệnh bị gõ sai , vi báo hiệu bằng cách nháy màn
hình , kêu còi hay thông báo lỗi .
Chương trình vi được xây dựng từ chương trình soạn thảo dòng ex .Các
lệnh của ex có thể được gọi khi có dấu ":" ở dòng cuối màn hình .
2. Khởi động vi :
Ta có thể gọi vi với tên tập tin văn bản :
$vi tên_tập tin
Cửa sổ soạn thảo sẽ được mở tại đầu tập tin . Nếu tập tin chưa tồn tại ,
nó sẽ được tạo bởi lệnh ghi . Dòng cuối cùng trên màn hình được dùng cho
những công việc sau :
- Vào các lệnh .
- Thống kê .
- Báo lỗi .
Khi ta chỉ muốn xem nội dung một tập tin đã có trên đĩa , dùng lệnh :
$view tên_tập tin
Để thóat trình xem , nhấn phím ESCgõ :q! nhấn phím Enter
3.Thóat khỏi vi :
Muốn ra khỏi vi và ghi lại nội dung tập tin , bạn nhấn phím ESC và dùng
một trong các lệnh như sau :
:ZZ hoặc :wq hoặc :x
Thoát khỏi vi và không ghi lại các thay đổi trước đó
:q!
Khi ở trong chế độ soạn thảo của vi , muốn làm việc với các lệnh SHELL ,
ta có thể làm như sau :
- Chạy một lệnh SHELL
:! Lệnh
- Hoặc gọi SHELL , sau đó chạy các lệnh của người dùng , khi kết thúc
bấm Ctrl-D để trở lại vi :
:! sh
$ lệnh
$ Ctrl-D
II. Soạn thảo văn bản :
1. Chèn văn bản :
- Chèn ký tự trên một dòng :
a
- Chèn ký tự vào sau vị trí con trỏ . Lệnh không được hiển thị trên màn
hình .
Nhấn phím ESC để kết thúc chế độ chèn văn bản .
i
A
i
- Chèn dòng :
o
o
2. Di chuyển con trỏ trong tập tin :
- Theo ký tự :
Sang trái : dùng phím trượt trái hoặc h hoặc backspace
Xuống dòng : dùng phím trượt xuống hoặc j hoặc linefeed
Sang trái : dùng phím trượt phải hoặc i hoặc espace
Lên dòng : dùng phím trượt lên hoặc k hoặc
- Theo dòng :
^ về đầu dòng
$ cuối dòng
Enter đầu dòng kế tiếp
- Đầu dòng trên
0(null) về đầu dòng vật lý (dòng bắt dầu bằng dấu cách hoặc Tab)
- Theo màn hình
H về đầu màn hình (Home)
M về giữa màn hình (Miđle)
L về cuối màn hình (Last)
- Theo từ (word) :
w W về đầu từ tiếp
b B đầu từ hiện tại
e E cuối từ hiện tại
- Theo câu :
( về đầu câu
) về cuối câu
Lưu ý kết thúc một câu là dấu .! hoặc ?
- Theo cửa sổ (window):
z dòng hiện tại ở giữa cửa sổ .
z
^D dòng hiện tại ở cuối cửa sổ
^U xuống nữa cửa sổ
^F xuống một cửa sổ (-2 dòng)
^B lên một cửa sổ (-2 dòng)
Lưu ý :^là ký hiệu phím CTRL .
-Theo số thứ tự dòng :
Để hiển thị số thứ tự các dòng soạn thảo :
: set nu
Xóa bỏ hiển thị trên :
: set nonu
:n
:s hoặc G Đến cuối dòng văn bản
:se list hiển thị các kí tự ẩn
- Tìm theo dãy kí tự :
/ kí hiệu chiều tìn xuôi
? kí hiêụ chiều tìm ngược
/string chuyển con trỏ đến dòng chứa dãy kí tự theo chiều
xuôi
?string chuyển con trỏ đến dòng chứa dãy kí tự theo chiêu
ngược
// lặp lại tìm xuôi
?? lặp lại tìm ngược
3. Xóa văn bản :
- Xóa kí tự :
x xóa kí tự taịo vị trí con trỏ
3x xóa 3 kí tự
x xóa kí tự trước vị trí con trỏ
- Xóa dòng văn bản :
dd hoặc :d
3dd xóa 3 dòng bắt đầu từ vị trí văn bản
d$ hoặc D xóa đến cuối dòng
dw xóa từ chứa con trỏ
3dw xóa 3 từ
d/string xóa đến khi hết dãy kí tự
4. Thay thế văn bản :
-Thay thế kí tự :
rc thay thế kí tự đại diện bằng kí tự c
R
- Thay thế dòng :
S
- Thay thế từ :
cw
Từ được thay thế tính từ vị trí con trỏ đến kí tự $
c2w
c hoặc c$ thay thế đến cuối dòng
c/string thay thế đến hết chuỗi
5. Xóa hoặc lặp lại tập lệnh :
- Xóa lệnh
u xóa tác dụng của lệnh cuối cùng
U xóa tất cả các thay đổi đã làm trên dòng hiện tại
- Lặp lại lệnh
. lặp lại lệnh thay dổi văn bản
6. Xem trạng thái văn bản đang soạn thảo :
^G Hiển thị tên , trạng thái ,số dòng , vị trí cursor và phần văn bản tính
từ vị trí con trỏ đến cuối dòng văn bản .
7. Sao chép , di chuyển văn bản :
+ Di chuyển văn bản
Mỗi lần thực hiện một lệnh xóa (x hoặc d ) , vi đều ghi lại phần văn bản
bị xóa vào vùng đệm riêngcho đến lần xóa sau . Lệnh p hoặc P cho phép lấy
lại phần văn bản từ vùng đệm đó . Trước khi thực hiện lệnh này , dấu nháy
phải được đặt vào vị trí cùng kiểu với phần văn bản có trong vùng đệm :
- kí tự
- từ
- dòng
- cuối dòng
p sao phần văn bản xóa lần cuối vào sau đối tượng cùng kiểu
P sao phần văn bản xóa lần cuối vào trước đối tượng cùng kiểu
* cách khác để chuyển dòng :
:5, 10m 20 chuyển các dòng từ 5 đến 10 tới sau dòng 20
+ Sao chép văn bản
Lệnh y (yank) cho phép sao chép phần văn bản ta muốn vào vùng
đệm . Muốn sao phần văn bản từ vùng đệm ra, ta phải chuyển cursor đến nơi
cần sao , sau đó dùng P hoặc p
Y3w sao 3 từ vào vùng đệm
Y hoặc yy sao dòng hiện tại vào vùng đệm
5yy sao 5 dòng vào vùng đệm
Cách khác dùng để sao chép dòng :
:5, 8 t 25 sao chép các dòng từ 5 tới 8 tới sau dòng 25
III . Dùng vi với danh sách các lệnh đã chạy của Shell :
Lệnh fc (fix command ) cho phép ta soạn thảo bằng vi và chạy lại các
lệnh đã chạy của Shell . Cách dùng như sau :
- Soạn thảo và cho chạy lệnh cuối cùng :
$fc
- Soạn thảo một nhóm lệnh và cho chạy :
$ fc m n
-Xem danh sách 16 lệnh cuối cùng :
$ fc -l hoặc history
$fc -lr ( danh sách theo thứ tự ngược lại )
- Tạo một tập tin chứa một số lệnh đã chạy (của history):
$fc -nl n1 n2 > cmd
cmd là một tập tin chứa các lệnh của history từ lệnh ngày đến lệnh
n2 .
From: http://thegioimang.org/