
Việc chỉnh sửa tệp văn bản trực tiếp từ thiết bị đầu cuối Linux có thể phức tạp, đặc biệt nếu bạn đang sử dụng trình soạn thảo văn bản phức tạp như Vi hoặc Vim. Người dùng mới làm quen cảm thấy khó hiểu các trình soạn thảo văn bản dòng lệnh và thường gặp khó khăn trong việc ghi nhớ các phím tắt được sử dụng để thực hiện các thao tác cơ bản.
Ngay cả việc xóa các dòng trong Vi và Vim cũng có thể gây khó khăn cho người mới. Sử dụng một công cụ thô sơ như trình soạn thảo văn bản không quá khó.
Đây là cách bạn có thể xóa một hoặc nhiều dòng khỏi tệp văn bản bằng Vi và Vim.
Cách xóa một dòng trong Vi/Vim
Có một cách tốt hơn để xóa toàn bộ dòng trong Vi và Vim hơn là gửi thư rác Quay lại trên bàn phím.
Để xóa một dòng trong Vi hoặc Vim, trước tiên hãy chuyển sang chế độ bình thường. Nếu bạn đang ở chế độ lệnh hoặc chế độ chèn, bạn có thể quay lại chế độ bình thường bằng cách nhấn Bỏ trốn. Nếu bạn không biết chế độ là gì, đây là cơ hội tốt để tìm hiểu những kiến thức cơ bản về Vim.
Đánh dấu dòng bạn muốn xóa, sau đó nhấn không phải là một từ Hoặc Đ. trên bàn phím. Trình chỉnh sửa sẽ tự động xóa toàn bộ dòng khỏi tệp.
Các lệnh Vi và Vim phân biệt chữ hoa chữ thường, có nghĩa là đ Và Đ. được xác định là hai lệnh riêng biệt.
bị đánh không phải là một từ Hoặc Đ. nhiều lần sẽ xóa từng hàng một. Hàng tiếp theo sẽ tự động được tô sáng sau khi hàng đầu tiên bị xóa.
Để xóa một dòng cụ thể trong Vi/Vim, nhấn Bỏ trốn để vào chế độ lệnh, sau đó gõ không có để xóa một hàng cụ thể, trong đó không là số hàng bạn muốn xóa.
Ví dụ: nếu bạn muốn xóa hàng thứ 150 trong /var/log/tin nhắn tập tin, bạn sẽ mở nó bằng Vi/Vim rồi gõ 150đ để xóa dòng.
Xóa nhiều dòng trong Vi và Vim
Nếu thấy bất tiện khi bấm liên tục các phím trên bàn phím, bạn có thể xóa nhiều dòng cùng lúc bằng cách sửa đổi lệnh đã nói ở trên. Thay vì chỉ nhấn không phải là một từbạn có thể chỉ định số lượng hàng bạn muốn xóa.
Ví dụ, gõ 3d sẽ xóa ba dòng sau khỏi tệp.
Nếu bạn muốn xóa nhiều hàng trong một phạm vi cụ thể, trước tiên bạn cần vào chế độ lệnh (nhấn Bỏ trốn ở chế độ bình thường). Sau đó sử dụng cú pháp sau để tạo lệnh xóa của riêng bạn:
:[start],[end]d
Ví dụ: để xóa các hàng trong khoảng từ một đến năm:
:1,5d
Bạn cũng có thể sử dụng ký tự đại diện trong lệnh trên.
- . (Điểm): Đề cập đến hàng hiện tại
- $(Đô la): Cho biết kết thúc tập tin
- % (Tỷ lệ phần trăm): Khớp tất cả các dòng trong tệp
Ví dụ:
:.,5d # deletes lines between the current line and the fifth line
:.,$d # removes all lines starting from the current line till the end
:%d # clears the entire file
Xóa hàng dựa trên cụm từ thông dụng
Biểu thức chính quy rất hữu ích khi bạn muốn tìm và xóa các dòng có chứa mẫu. Bạn có thể xóa các dòng chứa một từ cụ thể, các dòng bắt đầu bằng một chữ cái cụ thể, v.v. Trong Vi/Vim, bạn có thể thực hiện việc này bằng cách sử dụng g lệnh, viết tắt của toàn cầu.
Cú pháp lệnh cơ bản là:
:g/pattern/command
Vì bạn muốn xóa nội dung, bạn sẽ thay thế đặt hàng trong chuỗi trên với đ. Đối với mẫu, bạn có thể sử dụng bất kỳ biểu thức chính quy hợp lệ nào để khớp với các dòng bạn cần xóa trong một tệp.
Ví dụ: để xóa các dòng có chứa từ “xóa”, hãy nhập như sau:
:g/delete/d
Bạn có thể đảo ngược thao tác này bằng cách đặt trước dấu gạch chéo đầu tiên (/) với dấu chấm than (!) hoặc thay thế g với vđóng vai trò là nghịch đảo của g.
:g!/word/d
:v/word/d
Để khớp và xóa các dòng bắt đầu bằng chữ “T”, hãy sử dụng:
:g/^T/d
Phải thực hành và lặp đi lặp lại nhiều lần để thành thạo các công cụ dòng lệnh như Vi và Vim. Để thuận tiện cho bạn, hãy đánh dấu trang Vim Commands Cheat Sheet của chúng ta để tham khảo sau này.
Trả lại thư rác? Không, cám ơn! Tôi sử dụng Vi/Vim
Nếu bạn muốn trở thành một người sử dụng thành thạo Linux, thì việc tìm hiểu thông tin chi tiết về các tiện ích dòng lệnh là hướng bạn nên thực hiện. Trong Linux, bạn có thể sử dụng nhiều phím tắt và phím nóng khác nhau để thực hiện các tác vụ mà nếu không sẽ tốn nhiều thời gian và công sức.
Đối với những người mong muốn làm chủ Vim, có một tin tốt. Gói vim đi kèm với Vimtutor, một công cụ hướng dẫn dòng lệnh miễn phí sẽ giúp bạn sử dụng Vim đúng với tiềm năng của nó.

