Cách xóa một hoặc nhiều dòng trong Vi và Vim

delete one or more lines in vim vi

Chỉnh sửa tệp văn bản trực tiếp từ thiết bị đầu cuối Linux có thể khó khăn, đặ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 bắt đầu gặp khó khăn trong việc tìm hiểu các trình soạn thảo văn bản dòng lệnh và thường khó ghi nhớ các tổ hợp phím đượ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 căng thẳng cho những 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 các dòng hoàn chỉnh trong Vi và Vim hơn là gửi thư rác xóa 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ể chuyển về 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 đ 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à đĐ. được xác định là hai lệnh riêng biệt.

Đánh đ hoặc Đ. nhiều lần sẽ xóa từng dòng một. Dòng tiếp theo sẽ tự động được tô sáng sau khi dòng trước 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õ thứ để xóa một dòng cụ thể, trong đó N là số dòng bạn muốn xóa.

Chẳng hạn, nếu bạn muốn xóa dòng thứ 150 trong /var/log/tin nhắn tập tin, bạn sẽ mở nó bằng Vi/Vim rồi gõ 150d để loại bỏ các dòng.

Xóa nhiều dòng trong Vi và Vim

Nếu cảm thấy bất tiện khi nhấn phím liên tục trên bàn phím, bạn có thể loại bỏ nhiều dòng cùng lúc bằng cách chỉnh lệnh nói trên. Thay vì chỉ cần nhấn đbạn có thể chỉ định số dòng bạn muốn xóa.

Ví dụ, gõ sẽ xóa ba dòng tiếp theo khỏi tệp.

Nếu bạn muốn xóa nhiều dòng trong một phạm vi cụ thể, trước tiên bạn phải chuyển sang chế độ lệnh (nhấn Bỏ trốn khi ở 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 dòng giữa phạm vi một và năm:

 :1,5d 

Bạn cũng có thể sử dụng các ký tự đại diện trong lệnh trên.

  1. . (Chấm): Đề cập đến dòng hiện tại
  2. $ (Đô la): Biểu thị phần cuối của tập tin
  3. % (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 dòng dựa trên biểu thức chính quy

Biểu thức chính quy rất hữu ích khi bạn muốn tìm kiếm và xóa các dòng có chứa một 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. Bên trong Vi/Vim, bạn có thể làm điều 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 cơ bản của lệnh là:

 :g/pattern/command 

Vì bạn muốn xóa nội dung, bạn sẽ thay thế yêu cầu trong chuỗi trên với đ. Về 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 tệp.

Ví dụ: để xóa các dòng có chứa từ “xóa”, hãy nhập thông tin 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 bằng cách 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. Để giúp bạn dễ dàng hơn, hãy đánh dấu bảng cheat lệnh Vim của chúng tôi để tham khảo sau.

Gửi thư rác Backspace? 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 hướng tới. Trên Linux, bạn có thể sử dụng nhiều phím tắt và tổ hợp phím 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 đang 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ó.

Previous Post
Next Post

post written by: