Đối với người dùng Linux thì Vi – ứng dụng soạn thảo, chỉnh sửa text chính là 1 trong những công cụ hỗ trợ không thể thiếu. Không giống như Nano – ứng dụng chỉnh sửa text dưới dạng Terminal, Vi có hệ thống các phím tắt chức năng khá đa dạng và hữu ích, với 2 chế độ hoạt động chính là Insert và Command.
Mục lục
Vi thực chất là 1 ứng dụng Terminal, so vậy các bạn sẽ phải khởi động từ cửa sổ Terminal tương ứng. Dùng cú pháp vi /path/to/file để mở file text có sẵn bằng Vi, và lệnh đó cũng sẽ hoạt động nếu file text được chỉ định không có sẵn, thay vào đó Vi sẽ tự tạo ra file text với tên như vậy.
[external_link_head]
Lưu ý rằng chúng ta cần phải dùng lệnh sudo nếu muốn chỉnh sửa file hệ thống, ví dụ: nếu muốn sửa file Fstab của hệ thống thì các bạn gõ lệnh:
sudo vi /etc/fstab
Nếu bạn dùng phiên bản hệ điều hành không phải Ubuntu của Linux thì thay thế sudo bằng su.
Dưới đây là hỉnh ảnh khi chúng ta mở file bằng Vi, trông như có vẻ chúng ta có thể gõ ký tự vào đây, nhưng thực chất thì không phải. Vi thực chất là ứng dụng soạn thảo bằng phương thức, và được mở bằng chế độ Command:
Khi ở trong chế độ Command, chúng ta có thể di chuyển con trỏ bằng cách nhấn phím mũi tên, nhấn x để xóa ký tự ngay dưới con trỏ, còn nhấn dd để xóa toàn bộ dòng ký tự. Bên cạnh đó, các bạn có thể lựa chọn, copy, cut và lưu đoạn text trong chế độ này. Di chuyển con trỏ sang bên trái hoặc phải của ký tự cần copy và nhấn phím v, nhấn x để cắt đoạn text, sau đó đặt con trỏ vào vị trí cần di chuyển đoạn text và nhấn p để paste:
Đây là chế độ hoạt động của Vi cho phép người dùng chèn thêm ký tự vào văn bản. Chỉ cần nhấn nút I là chúng ta đã chuyển sang chế độ Insert sau khi xác định vị trí con trỏ trong chế độ Command:
Khi nhập xong đoạn nội dung cần thiết, nhấn phím Escape để quay về chế độ Command.
Các bạn có thể lưu và thoát ứng dụng trong chế độ Command (nhấn Escape để chắc chắn rằng chúng ta đã ở trong chế độ này). Gõ :wq để lưu file sau khi thay đổi và đóng Vi, hoặc thực hiện riêng rẽ thành 2 công đoạn, :w để lưu file và :q để thoát chương trình mà không lưu lại thay đổi:
Nhưng Vi sẽ không cho người dùng đóng ứng dụng nếu đã thay đổi từ lần lưu cuối cùng, gõ lệnh :q! Và nhấn Enter để bỏ qua cảnh báo này:
Mở một Terminal.
Hãy nhập:
vi file.c
Điều này sẽ tạo ra một file mới.
Vi ở chế độ Command theo mặc định. Vì vậy, nếu bạn muốn viết một cái gì đó, bạn không thể thực hiện điều này.
Gõ “i” để có thể viết code của bạn.
Bây giờ, bạn sẽ ở trong chế độ Insert, nhưng nếu bạn muốn xóa một ký tự, bạn không thể làm điều đó.
Gõ ESC để đổi sang chế độ Command.
Trong chế độ Command, gõ “x”. Thao tác này sẽ xóa ký tự dưới con trỏ.
Bạn có thể chèn một ký tự ở bên trái con trỏ bằng cách gõ “i”.
Bạn có thể chèn ký tự ở bên phải con trỏ bằng cách gõ “a”.
Chèn dấu “>” vào văn bản.
Quay trở lại chế độ Command và gõ :wq, sau đó trở về:
wq
Bây giờ bạn đang ở command prompt. Hãy xem nội dung file của bạn bằng cách sử dụng cat.
[external_link offset=1]
Bạn có thể đang nghĩ rằng Vi rất phức tạp, nhưng thực tế không phải vậy. Vi là một trình soạn thảo khá đơn giản, nhưng nó chỉ có thể làm việc trong một chế độ duy nhất tại một thời điểm mà thôi.
Mở lại file của bạn (vi file.c) và viết đoạn code sau:
void main(void){ printf(“vi is a great tool to write code faster ”); }
Lưu file của bạn và nếu bạn đã cài đặt gcc, bạn nên biên dịch và chạy nó.
Ngoài ra, bạn có thể sử dụng các phím khác:
k | Đưa con trỏ lên trên |
j | Đưa con trỏ xuống dưới |
h | Đưa con trỏ sang trái |
l | Đưa con trỏ sang phải |
Lưu ý: Bạn phải ở chế độ Command.
Lệnh | Mô tả |
i | Chèn văn bản trước vị trí con trỏ hiện tại. |
l | Chèn văn bản ở đầu dòng hiện tại. |
a | Chèn văn bản sau vị trí con trỏ hiện tại. |
A | Chèn văn bản ở cuối dòng hiện tại. |
o | Tạo một dòng mới cho mục nhập văn bản bên dưới con trỏ. |
O | Tạo một dòng mới cho mục nhập văn bản ở trên con trỏ. |
x | Xóa ký tự bên dưới con trỏ. |
X | Xóa ký tự trước con trỏ. |
dd | Xóa dòng con trỏ đang được đặt. |
cc | Xóa nội dung của dòng, để người dùng ở chế độ Insert. |
r | Thay thế ký tự bên dưới con trỏ. |
Tạo một file mới với tên “linux-distro”.
Viết danh sách sau:
Thay đổi sang chế độ Command (ESC).
Di chuyển con trỏ đến “Ubuntu”.
Gõ yy (đây là lệnh để sao chép một dòng).
Gõ G.
Chèn một dòng mới bằng cách gõ o.
Đổi sang chế độ Command (ESC).
Gõ P (Lệnh này dùng để dán dòng).
Gõ 1G
Gõ 4yy.
Gõ G.
Gõ P.
[external_link offset=2]
Ngoài ra, bạn có thể sử dụng lệnh copy – paste khác:
<< | Tham gia vào dòng hiện tại và dòng tiếp theo. Một số tham gia vào nhiều dòng. |
>> | Căn dòng hiện tại sang bên trái với một chiều rộng có thể thay đổi. |
:nr file | Đọc file và chèn nó sau dòng n. |
~ | Chuyển đổi kiểu viết hoa/viết thường của ký tự bên dưới con trỏ. |
^G | Nhấn các phím CTRL và G cùng một lúc để hiển thị tên file và trạng thái hiện tại. |
U | Khôi phục dòng hiện tại về trạng thái trước khi con trỏ nhập vào dòng. |
u | Hoàn tác thay đổi cuối cùng đối với tệp. Nhập lại “u” một lần nữa sẽ thực hiện lại thay đổi. |
J | Tham gia vào dòng hiện tại và dòng tiếp theo. Một số tham gia vào nhiều dòng. |
:f | Hiển thị vị trí hiện tại trong tệp bằng % và tên file, tổng số file. |
:f filename | Đổi tên file hiện tại thành filename. |
:w filename | Viết vào filename của file. |
:e filename | Mở một file khác với filename. |
:cd dirname | Thay đổi thư mục làm việc hiện tại thành dirname. |
:e # | Sử dụng để chuyển đổi giữa 2 file đã mở. |
:n | Trong trường hợp bạn mở nhiều file bằng Vi, hãy sử dụng :n để chuyển đến file tiếp theo trong chuỗi. |
:N | Trong trường hợp bạn mở nhiều file bằng vi, hãy sử dụng :N để chuyển đến file trước đó trong chuỗi. |
:r file | Đọc file và chèn nó sau dòng hiện tại |
Mở file linux-distros
Trong chế độ Command, hãy gõ:
:e unix
Viết “UNIX is a good OS” và lưu nó.
Đi tới file linux-distros bằng lệnh:
:e #
Thoát khỏi Vi bằng cách gõ:
:q
Chúc các bạn thành công!
Xem thêm:
[external_footer]
Bảng xếp hạng Anime được xem nhiều nhất tuần của mùa hè. Bảng xếp hạng…
Theo thông báo của biên tập viên của manga là Shiraki trên Twitter Manga The…
Vừa qua, dàn nhân lực chính thức cho bộ anime điện ảnh Tensei Shitara Slime…
Anime One Punch Man đã xác nhận ra phần 3, với thông báo sắp ra…
Nếu đã quá nhàm chán với các đội hình meta hiện tại thì cùng đổi…
Vào hôm thứ tư vừa qua, Twitter chính thức cho anime Edens Zero đã xác…