Sử dụng vi editor trong Linux như thế nào?

Linux

Linux sau khi cài đặt luôn được tích hợp sẵn trình soạn thảo văn bản Vi editor (hay Vim). Nếu bạn sử dụng thành thạo Vi/Vim thì trong môi trường Console không cần cài thêm trình soạn thảo nào cả, bởi vi có đủ chức năng cho bạn sử dụng.

Mở file với vi

# vi /filepath/filename

Có 2 chế độ trong vi: command modeinsert mode. Khi mở file mặc định ở command mode. Trong quá trình sử dụng insert mode ấn Esc để chuyển sang command mode.

Command mode

Lệnh chỉnh sửa cơ bản:
  • Dùng phím x xóa 1 ký tự, dw xóa 1 từ, dd xóa cả 1 dòng.
  • Sử dụng số N đi trước phím lệnh để lặp lại N lần tác dụng của lệnh. Ví dụ, 3dw sẽ xóa 3 từ tính từ vị trí con trỏ.
  • Dùng phím u ( = undo )để khôi phục lại những thay đổi trước đó.
  • Ấn ZZ hay :wq lưu lại tất cả thay đổi và thoát.
  • Sử dụng :q! để thoát ra và không lưu.
Hiển thị số thứ tự dòng:
  • Hiện thị số thứ tự của dòng nằm bên trái của cửa sổ dùng lệnh :set numberhoặc :set nu
  • Để bỏ số dòng đi và quay về như ban đầu bạn dùng lệnh:set nu!
Sao chép:
  • yy sao chép dòng hiện tại vào buffer, Nyy sao chép N dòng.
  • p ( P ) dán nội dung từ buffer vào dưới ( trên ) dòng hiện tại
Nhảy đến hàng / cột:
  • Gõ một số x sau đó ấn phím G để đi đến dòng thứ x. Ví dụ 10G sẽ nhảy đến dòng 10.
  • Gõ một số y sau đó ấn phím |  để nhảy đến cột thứ N.
Tìm kiếm:
  • Ấn phím  / rồi gõ chuỗi muốn tìm. Ví dụ /header có nghĩa tìm chữ header trong văn bản.
  • Ấn phím n để tìm kiếm tiếp, muốn xem kết quả trước đó ấn N để tìm kiếm ngược lại.

Insert mode

Ở chế độ command mode muốn chuyển sang insert mode có 2 cách:

  • Ấn phím a để chuyển sang chế độ insert mode với kí tự đc ghi sau con trỏ.
  • Ấn phím i để chuyển sang chế độ insert mode với kí tự đc ghi trước con trỏ.
  • Dùng phím h l j k hoặc các phím mũi tên để di chuyển con trỏ sang trái,phải, xuống, lên.

 

Các lệnh colon ( đi sau dấu : )

  •  :%s/foo/bar/g tìm sự xuất hiện của “foo” trong toàn bộ file và thay thế bằng “bar”, /foo/bar/g chỉ thay thế ở dòng hiện tại.
  • et nu hiển thị số dòng trước mỗi dòng, et nonu để bỏ hiển thị số dòng.
  • :1,8d xóa từ dòng 1 cho đến dòng 8 trong file.
  • Sử dụng ma để đánh dấu dòng hiện tại là a ( có thể là bất cứ ký tự nào từ a-z ). Sau đó dùng ‘a để nhảy đến dòng đã được dánh dấu là a từ bất cứ đâu. Có thể sử dụng với colon, :’a,’b d xóa tất cả các dòng bắt đầu từ dòng được đánh dấu là a cho đến dòng được đánh dấu là b, hoặc ngược lại.
  • :w newfile.txt để save nội dung của file hiện tại vào một file mới là newfile.txt ( tựa “save as” bên Win Word )
  • :8,16 co 32 để copy dòng 8 đến 16 đến điểm sau dòng 32.
  • :3,16 m 32 để chuyển rời dòng 8 đến 16 đến điểm sau dòng 32.
  •  Nếu dùng vi để mở nhiều file ( vi file1 file2 file3 ), có thể sử dụng :n để nhảy đến file tiếp theo và :rew để nhảy quay ngược lại đến file đầu tiên, :args để hiện thị tất cả các file đang được mở.

Vi for Smarties

  • Sử dụng G để nhảy đến dòng cuối cùng của file.
  • Khi xóa nhiều dòng, di chuyển con chuột đến dòng đầu tiên, gõ ma để đánh dấu, sau di đến dòng cuối cùng và gõ d’a để xóa những dòng đó.
  • $ để nhảy xuống cuối dòng, :$ để nhảy đến dòng cuối của file.
  • 0 để nhảy đến đầu dòng, :0 để nhảy tới dòng đầu tiên của file.
  • d$ xóa từ vị trí con trỏ hiện tại đến cuối dòng.
  • :10,$ d xóa từ dòng 10 cho đến dòng cuối cùng của file, hoặc ngược lại.
  • :10,20 m 0 chuyển rời dòng 10 đến 20 lên trên dòng đầu tiên của file.

Shell

  • Sử dụng :!command để thi hành lệnh command trong môi trường vi.

Trên đây là giới thiệu cách sử dụng vi một cách cơ bản và đủ dùng cho mọi đối tượng người sử dụng linux. Nếu bạn muốn tham khảo thêm có thể lên website của vim tại http://www.vim.org/


Nguồn: GocIT

Share: