vi là một trình soạn thảo văn bản định hướng màn hình nổi tiếng quay trở lại thời kỳ đầu của Unix. Tính năng ấn tượng nhất của nó là nó có thể hoạt động ở hai chế độ riêng biệt.
Trong chế độ Chèn, văn bản trở thành một phần của tệp. Trong chế độ Bình thường, tổ hợp phím được hiểu là các lệnh trực tiếp. Do đó, các lệnh bàn phím khác nhau được sử dụng để giảm lượng công việc cần thiết để chỉnh sửa tệp.
Nhưng nếu các lệnh quá khác nhau, có thực sự dễ dàng hơn để loại bỏ các dòng hoặc chỉnh sửa chúng bằng các lệnh gõ phím không? - Hãy cùng tìm hiểu.
Cắt đường hoặc khối
đường dẫn nhanh
- Cắt đường hoặc khối
-
-
- Đặt con trỏ của bạn ở phía trước dòng văn bản mà bạn muốn xóa
- Nhấn v và bắt đầu lựa chọn hình ảnh nhân vật
- Nhấn V nếu bạn muốn chọn toàn bộ dòng
- Nhấn Ctrl + v hoặc Ctrl + q nếu bạn muốn chọn một khối
- Định vị con trỏ ở cuối dòng văn bản
- Nhấn d để cắt
-
-
- Chỉnh sửa trên một dòng
- Xóa nhiều dòng
- Sử dụng các ký tự, từ và dòng trong chế độ bình thường
- đ
- x / X
- l
- Một suy nghĩ cuối cùng
-
Đặt con trỏ của bạn ở phía trước dòng văn bản mà bạn muốn xóa
-
Nhấn v và bắt đầu lựa chọn hình ảnh nhân vật
-
Nhấn V nếu bạn muốn chọn toàn bộ dòng
-
Nhấn Ctrl + v hoặc Ctrl + q nếu bạn muốn chọn một khối
-
Định vị con trỏ ở cuối dòng văn bản
-
Nhấn d để cắt
Nếu bây giờ bạn muốn dán dòng đó vào nơi khác, chỉ cần di chuyển con trỏ đến vị trí mới và nhấn p. Lưu ý rằng nhấn p sẽ dán dòng hoặc chặn sau vị trí của con trỏ. Nếu bạn muốn dán trước vị trí của con trỏ, bạn phải nhấn P.
Chỉnh sửa trên một dòng
Bạn cũng có thể thay đổi văn bản đã chọn nếu bạn nhấn c ở bước 6. Nhấn d sẽ cắt, nhấn y sẽ yank hoặc sao chép và c sẽ mở chế độ chèn trong đó bạn có thể thêm văn bản mới. Điều này có thể giúp bạn thay thế toàn bộ một dòng hoặc khối mà không phải bận tâm đến việc cắt chúng trước.
Xóa nhiều dòng
Có hai tùy chọn tốt nếu bạn muốn xóa nhiều hơn một dòng trong vi.
“:%d”
Lệnh này xóa tất cả các dòng. ':' Đặt vi trong chế độ lệnh. Ký tự '%' bảo nó áp dụng 'd' (lệnh xóa) cho tất cả các dòng.
“:1, $d”
Đây là sự thay thế phổ biến hơn. Một lần nữa, ':' giới thiệu một lệnh. '1, $' cho vi biết dòng nào cần nhắm mục tiêu. Trong ví dụ này, nó sẽ là các dòng bắt đầu với dòng 1 và dòng cuối cùng. 'D' là viết tắt của xóa.
Nhưng điều gì làm cho lệnh này tốt hơn lệnh đầu tiên? - Cái này có thể thích nghi. Bạn có thể sử dụng nó để xóa hàng loạt nhưng không phải xóa từng dòng.
Nếu bạn sử dụng một cái gì đó như là “:4, $-2d”
thì sau đó vi sẽ xóa tất cả các dòng giữa thứ ba và thứ hai đến cuối cùng. Nó giữ nguyên ba dòng đầu tiên vì các dòng bắt đầu bằng 1 chứ không phải 0. Và, bạn chỉ định dòng đầu tiên mà bạn muốn xóa trong ví dụ này là 4.
Về cơ bản, '-2' biểu thị có bao nhiêu dòng bắt đầu từ dòng cuối cùng và đếm ngược lại 1.
Sử dụng các ký tự, từ và dòng trong chế độ bình thường
Trước tiên, bạn sẽ muốn đảm bảo rằng bạn nhấn Escape để vào chế độ bình thường. Sau đó, bạn có thể sử dụng các lệnh vi sau để xóa thông tin cụ thể.
đ
Lệnh này xóa toàn bộ một dòng. Bạn có thể định vị con trỏ ở bất cứ đâu trên dòng, cho dù đó là trên một từ hoặc một khoảng trống. Dòng và tất cả không gian nó chiếm sẽ bị xóa.
x / X
Nếu bạn muốn xóa chỉ một ký tự khỏi một dòng, bạn có thể sử dụng x. Định vị con trỏ sau một ký tự và nhấn x. Điều này sẽ loại bỏ nhân vật và cũng là không gian nó chiếm. Điều này cũng có nghĩa là tất cả các nhân vật khác ở gần nó sẽ tập hợp lại để lấp vào khoảng trống.
Bạn cũng có thể sử dụng x để xóa một khoảng trống trong một dòng. Nếu bạn di chuột qua một ký tự và bạn muốn xóa ký tự đó trước nó, nhấn X thay vì x.
l
Nhấn dw khi con trỏ của bạn được định vị ở đầu từ sẽ xóa từ đó. Điều này cũng sẽ loại bỏ không gian bị chiếm bởi từ. Ngoài ra, bạn có thể loại bỏ chỉ một phần của một từ.
Đặt con trỏ của bạn sang bên trái của phần bạn muốn xóa. Nhấn dw để xóa các ký tự đó và khoảng trắng chúng chiếm trong dòng. Hãy nhớ rằng làm điều này sẽ mang các ký tự liền kề lại với nhau để điền vào khoảng trống.
Một suy nghĩ cuối cùng
Thú vị và độc đáo như vi là một trình soạn thảo phương thức, phải mất một thời gian để làm quen với nó. Có rất ít phản hồi khi chuyển đổi giữa các chế độ. Điều này làm cho nó rất dễ dàng vô tình nhập văn bản mã khi bạn nên đưa ra một lệnh và ngược lại.
