Bạn đang xem trang 1 / 1 trang

[Linux] Trình soạn thảo vi

Đã gửi: Ba T11 10, 2009 9:47 pm
Viết bởi Nguyễn Đình Hoàng

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 Xen ký tự vào sau con trỏ .
A Xen ký tự vào cuối dòng .
i Xen ký tự vào cuối dòng .
- Chèn dòng :
o Xen một dòng vào trước dòng chứa con trỏ .
o Xen một dòng vào sau dòng chứa con trỏ .
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òng hiện tại ở đầu cửa sổ
^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 hoặc nG Chuyển con trỏ đến dòng thứ 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 xóa dòng chứa con trỏ
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ế số kí tự bằng dãy 'text"
- Thay thế dòng :
S xóa dòng hiện tại và thay thế nó bằng "text"
- Thay thế từ :
cw thay thế một từ bằng "text" .
Từ được thay thế tính từ vị trí con trỏ đến kí tự $
c2w thay 2 từ
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/

Re:[Linux] Trình soạn thảo vi

Đã gửi: Sáu T11 13, 2009 1:15 pm
Viết bởi Tuan
good job

Re:[Linux] Trình soạn thảo vi

Đã gửi: Bảy T11 14, 2009 5:44 pm
Viết bởi hongchuong
Mình vốn không rành về vi tính, nên đọc bài này mà chẳng hiểu gì. Nhưng cũng thấy hay hay! Mình rất phục những ai giỏi về vi tính. Nếu có cơ hội mình cũng muốn học về lãnh vực này.

Re:[Linux] Trình soạn thảo vi

Đã gửi: Chủ nhật T11 22, 2009 6:34 am
Viết bởi T.A.L
thật ra thì ko quen dùng VI lắm, chủ yếu dùng emacs ^^

Re:[Linux] Trình soạn thảo vi

Đã gửi: Bảy T10 20, 2012 1:30 am
Viết bởi Nguyễn Du
[bye]