Muốn làm gì cũng phải có cái mà nhập liệu sửa chữa file config thật thiếu sót khi không nói về text editor quản trị linux không có nó thì đứng hình với cái màn hình đen ngay.
Có rất nhiều công cụ xử lý văn bản trên linux phổ biến nhất là VI. Đôi khi mình vẫn dùng thêm trình soạn thảo khác như Nano chẳng hạn, nhưng do thói quen dùng VI vẫn sướng hơn nó nhỏ gọn dễ tiếp cần. Bài này mình sẽ giúp các bạn tìm hiểu các chế độ soạn thảo, các phím tắt thông dụng để xử lý công việc hàng ngày thuận tiện hơn. Đây là công cụ học quản trị server đầu tiên bạn nên biết.
Tham khảo thêm bài: Quản trị server mới
VIM hay VI là như nhau, VIM là bản nâng cấp của Vi có thêm highlight đọc config dễ dàng hơn, hiện tại để đáp ứng nhu cầu ngày càng đa dạng của coder VIM đã phát triển nhiều plugin để gia tăng sức mạnh nhằm biến nó thành một IDE cho dân lập trình, bạn nào muốn tìm hiểu sâu thì google search nha.
1. Cài đặt VIM/VI và cấu hình cơ bản.
Từ giờ mình gọi VIM là VI cho ngắn gọn, mặc định VI được cài sẵn trên hầu hết hệ điều hành linux rồi, nếu chưa có bạn chạy lệnh.
- CentOS:
yum install vim
- Ubuntu:
apt-get install vim
Thông thường khi gõ vi ten_file thì hệ điều hành hiểu bạn đang dùng VIM bản minimal, bản cần config một chút để dùng bản VIM đầy đủ.
Sửa profile vi /etc/profile
, thêm dòng sau vào cuối file.
alias vi='vim'
Gõ lệnh source /etc/profile
để apply thay đổi.
Để hiển thị số dòng trong VI và nhìn comment dễ hơn, mặc định comment có màu tím đen hơi khó nhìn bạn mở file config vi /etc/vimrc
thêm vào như hình bên dưới:
set number syntax on highlight Comment ctermfg=LightCyan
2. Các chế độ làm việc và cú pháp lệnh của VI Editor
Giờ file config được highlight dễ nhìn hơn chúng ta đi vào cú pháp lệnh để làm việc. VI có 3 chế độ làm việc Insert, Visual, Command chúng ta sẽ đi lần lượt từng chế độ này.
2.1 Insert Mode
Bạn ấn i
hoặc phím Insert
: để chuyển sang chế độ Insert, chế độ này dùng để nhập liệu sửa hoặc thêm thắt ký thự kiểu như dùng notepad thôi, chủ yếu là kết hợp với các Mode khác.
2.2 Command Mode
Đây là chế độ mặc định khi mở bất kỳ một file nào bằng VI.
Các lệnh xóa
x
hoặc phím delete
: xao 1 ký tự
dd
xóa 1 dòng, tính từ vị trí con trỏ
2dd
xóa 2 dòng, muốn xóa nhiều dòng bạn thêm số bất kỳ vào.
dw
xóa 1 từ bên phải con trỏ
db
xóa từ bên trái con trỏ
Các lệnh copy, paste
yy
copy 1 dòng tại vị trí con trỏ
y1
copy 2 dòng, giá trị được tính từ 0
, copy 3 dòng là y2
, 4 dòng là y3
p
dán kết quả copy tại vị trí con trỏ.
Lệnh lưu và thoát
:w
lưu và không thoát VI
:w newfile.txt
lưu file đang làm việc sang một file mới, giống save as trong MSWord.
:wq
lưu và thoát VI
:q!
không lưu và thoát VI
Tìm kiếm và thay thế
/text1
tìm kiếm từ text1 từ trên xuống
?text1
tìm kiếm từ text1 từ dưới lên
n
để nhảy đến kết quả tìm kiếm tiếp theo
:%s/text1/text2/g
thay text1 bằng text2
Undo và redo
u
undo
Ctrl + R
redo
Cuộn màn hình
Ctrl + F
cuộn xuống 1 màn hình
Ctrl + B
cuộn lên một màn hình
Chia màn hình làm việc
:vsplit
Chia theo chiều dọc
:split
Chia theo chiều ngang
Ctrl + w
chuyển giữa 2 cửa sổ, giữ Ctrl ấn w 2 lần
Bạn có thể chia ra nhiều màn hình làm việc khác nhau theo cả chiều dọc chiều ngang, để thoát màn hình làm việc nào bạn dùng :q
Thực hiện lệnh linux trong VI
:!
: đây là cú pháp của nó, VI hỗ trợ bạn dùng lệnh Linux ngay trong trình soạn thảo mà không cần phải thoát rất tiện lợi.
2.3 Visual Mode
Chế độ này được được dùng kết hợp với Insert Mode để xử lý khối.
Chọn và xóa 1 cột hoặc cả khối: Ctrl + v
, di chuyệt con trỏ lên xuống để chọn cột cần xóa, ấn d
hoặc phím delete
, cái này dùng xóa dấu comments (#) thì tuyệt vời.
Chèn ký tự vào một khối: chọn khối như bước trên, xem hình.
Muốn chèn ký tự @
vào cột đầu tiên của khối ấn phím Shift + i
, văn bản chuyển sang Insert Mode, con trỏ sẽ nhảy về vị trí đầu tiên của khối, bạn nhập ký tự @
vào rồi ấn Esc để kết thúc lệnh, sau đó ký tự sẽ tự động chèn vào cột đầu tiên.
Nếu muốn chèn ký tự %
vào cột cuối của khối thay vì ấn Shift + i ta ấn Shift + a
, như hình.
Thay thế ký tự toàn khối: mình sẽ thử thay thế toàn bộ khối bằng ký tự #
, ấn Ctrl + v
để chọn khối như các bước trên, ấn tiếp r#
để nhập ký tự cần chèn, được kết quả.
Chúng ta có thể dùng cách này để tạo ô ghi chú cũng rất hay, thay vì ấn r#
, ta ấn r + (space)dấu cách
Tạo vùng ghi chú xong, tiếp theo ấn Shift + r
chuyển sang Replace để thay khoảng trắng bằng ký tự bất kỳ mà không bị vỡ vùng ghi chú, sau đó nhập nội dung cần ghi chú vào, xong đâu đấy ấn Esc để thoát lệnh.
4. Kết bài
Trên đây là những cú pháp cơ bản mình thường dùng để làm việc với file khi cấu hình linux, vận dụng tốt sẽ làm công việc của bạn tăng hiệu quả lên nhiều mà cũng đỡ mỏi tay khi dùng mấy cái phím mũi tên lên xuống sửa xóa. Ngoài vi bạn tham khảo thêm Midnight Commander (MC) cũng rất hay nó giống với Total Commander trên Windows quản lý thư mục và file rất hiệu quả.