Hướng dẫn sử dụng trình soạn thảo vi và vim trên Linux

Tổng quan về trình soạn thảo vi

Trong môi trường quản trị hệ thống Linux, vi (viết tắt của Visual Interface) là trình soạn thảo văn bản kinh điển và phổ biến nhất. Việc thành thạo vi là kỹ năng bắt buộc đối với các kỹ sư phần mềm khi cần thao tác trực tiếp trên máy chủ thông qua giao thức SSH, nơi mà các trình soạn thảo có giao diện đồ họa (GUI) không khả dụng.

Hiện nay, hầu hết các bản phân phối Linux sử dụng vim (Vi IMproved) - một phiên bản nâng cấp của vi với nhiều tính năng mạnh mẽ như kiểm tra cú pháp, tự động hoàn thành mã và hỗ trợ plugin phong phú.

Để kiểm tra liên kết giữa vivim trên hệ thống, bạn có thể sử dụng các lệnh sau:

# Kiểm tra vị trí thực thi của vi
which vi
ls -l /usr/bin/vi

# Truy vết liên kết thực tế của vim
readlink -f /usr/bin/vi

Cách khởi tạo và mở tệp tin

Cú pháp cơ bản để mở hoặc tạo một tệp mới trong terminal:

vi ten_tep_tin.txt

Ngoài ra, bạn có thể mở tệp và di chuyển con trỏ ngay lập tức đến một dòng cụ thể (rất hữu ích khi cần sửa lỗi code tại một dòng đã biết trước):

# Mở tệp và nhảy đến dòng số 15
vi +15 main.py

# Mở tệp và nhảy đến dòng cuối cùng
vi + main.py

Ba chế độ hoạt động chính

vi hoạt động dựa trên cơ chế chuyển đổi giữa các chế độ:

  1. Chế độ lệnh (Command Mode): Đây là chế độ mặc định khi vừa mở tệp. Tại đây, bạn có thể di chuyển con trỏ, sao chép, dán hoặc xóa văn bản.
  2. Chế độ chèn (Insert Mode): Dùng để nhập liệu văn bản. Nhấn phím i để bắt đầu soạn thảo.
  3. Chế độ dòng lệnh (Last-line Mode): Dùng để thực hiện các lệnh hệ thống như lưu tệp, thoát chương trình hoặc tìm kiếm thay thế. Để vào chế độ này, nhấn dấu : từ chế độ lệnh.

Bảng các lệnh thoát cơ bản:

Lệnh Mô tả
:w Lưu thay đổi
:q Thoát (nếu chưa lưu sẽ bị từ chối)
:q! Thoát cưỡng bức, không lưu thay đổi
:wq hoặc :x Lưu và thoát

Các lệnh di chuyển cơ bản

Trong vi, bạn nên hạn chế sử dụng phím mũi tên để giữ tay luôn ở khu vực trung tâm bàn phím:

  • h: Sang trái
  • j: Xuống dưới
  • k: Lên trên
  • l: Sang phải

Di chuyển nhanh trong văn bản:

Phím Chức năng
w / b Tiến / lùi một từ
0 / $ Về đầu dòng / cuối dòng
gg / G Về đầu tệp / cuối tệp
{ / } Chuyển đến đoạn văn trước / sau
% Nhảy giữa các cặp dấu ngoặc tương ứng ( ), [ ], { }

Thao tác chỉnh sửa và xử lý văn bản

1. Chọn văn bản (Visual Mode)

Nhấn v để bắt đầu chọn ký tự, V để chọn cả dòng, hoặc Ctrl + v để chọn theo khối dọc (block).

2. Hoàn tác và làm lại

  • u: Hoàn tác (Undo) hành động trước đó.
  • Ctrl + r: Làm lại (Redo) hành động vừa Undo.

3. Xóa, Sao chép và Dán

Lưu ý: Trong vi, lệnh xóa (delete) cũng đóng vai trò như lệnh cắt (cut).

Lệnh Chức năng
x Xóa ký tự tại con trỏ
dw Xóa từ hiện tại
dd Xóa (cắt) cả dòng hiện tại
yy Sao chép (yank) cả dòng
p Dán nội dung từ bộ đệm vào sau con trỏ

Tìm kiếm và thay thế

Để tìm kiếm một chuỗi ký tự, tại chế độ lệnh gõ /chuoi_tim_kiem. Nhấn n để đến kết quả tiếp theo, N để quay lại kết quả trước.

Cú pháp thay thế văn bản hàng loạt:

# Thay thế tất cả "old" thành "new" trong toàn bộ tệp
:%s/old/new/g

# Thay thế có xác nhận từ người dùng
:%s/old/new/gc

Làm việc với nhiều cửa sổ (Split Screen)

vi cho phép bạn chia màn hình để xem nhiều tệp cùng lúc:

  • :sp [ten_tep]: Chia màn hình theo chiều ngang.
  • :vsp [ten_tep]: Chia màn hình theo chiều dọc.
  • Ctrl + w + w: Chuyển đổi qua lại giữa các cửa sổ.
  • Ctrl + w + c: Đóng cửa sổ hiện tại.

Cấu hình cá nhân hóa với .vimrc

Bạn có thể tùy chỉnh môi trường làm việc của mình bằng cách tạo tệp .vimrc tại thư mục gốc (home directory). Các thiết lập phổ biến bao gồm:

" Hiển thị số dòng
set number

" Tự động thụt đầu dòng
set autoindent

" Sử dụng khoảng trắng thay cho phím Tab
set expandtab
set tabstop=4

" Bật tính năng highlight cú pháp
syntax on

Thẻ: Vim vi linux terminal text-editor

Đăng vào ngày 8 tháng 8 lúc 17:38