Tin tức và phân tích của tất cả các thiết bị di động

Cách tìm kiếm văn bản trong Vim (3 phương pháp)

Trình chỉnh sửa Vim được biết là cải thiện năng suất của người dùng bằng các tổ hợp phím và lệnh khác nhau. Tuy nhiên, những phím tắt này đòi hỏi bạn phải học một chút. Một trong những vấn đề phổ biến nhất đối với người mới bắt đầu là sử dụng Vim để tìm kiếm văn bản vì phương pháp CTRL + F thông thường không hoạt động trong Linux. Bạn đừng lo, vì trong bài viết này, chúng ta sẽ khám phá các phương pháp khác nhau để tìm kiếm văn bản trong Vim.

Tìm kiếm văn bản tiến hoặc lùi trong Vim

Đây là cách phổ biến và cơ bản nhất để tìm kiếm văn bản trong Vim và mọi người dùng đều phải biết cách hoạt động của nó. Với điều này, bạn có thể nhanh chóng tìm kiếm các từ, cụm từ hoặc thậm chí các mẫu trong tệp nhất định. Thực hiện theo các bước sau để tìm kiếm văn bản trong Vim:

1. Định vị con trỏ

Di chuyển con trỏ sử dụng các phím h, j, k và l nếu bạn đang ở chế độ bình thường hoặc sử dụng các phím mũi tên trên bàn phím để đặt con trỏ từ nơi bạn muốn bắt đầu tìm kiếm trong văn bản.

2. Sử dụng lệnh tìm kiếm

Trong Vim, bạn có thể tìm kiếm văn bản theo hướng tiến bằng ký hiệu ‘/’ hoặc hướng lùi bằng dấu ‘?’ biểu tượng. Sử dụng biểu tượng thích hợp cho nhu cầu tìm kiếm của bạn.

Tiếp theo, nhập từ hoặc cụm từ tìm kiếm mà bạn muốn tìm kiếm và nhấn enter. Ví dụ: để tìm kiếm từ “Linux” theo hướng chuyển tiếp, hãy sử dụng lệnh này:

/Linux

Con trỏ sẽ di chuyển đến đầu văn bản được tìm kiếm. Phương pháp này tìm kiếm văn bản theo cách phân biệt chữ hoa chữ thường. Để bỏ qua tìm kiếm phân biệt chữ hoa chữ thường và tìm kiếm không phân biệt chữ hoa chữ thường, hãy sử dụng \c với lệnh. Chỉ cần thêm ‘\c’ trước văn bản cần tìm kiếm. Ví dụ:

/\clinux

4. Điều hướng qua Kết quả Tìm kiếm

Bây giờ, nhấn “n” để di chuyển đến kết quả tìm kiếm tiếp theo theo hướng tiến lên hoặc nhấn ‘N’ để di chuyển theo hướng lùi. Khi bạn đã tìm kiếm xong văn bản, hãy thoát trình soạn thảo Vim và chuyển sang tài liệu tiếp theo.

Tìm kiếm văn bản bằng cách sử dụng biểu thức chính quy trong Vim

Phương pháp trước hoạt động hoàn hảo đối với các từ hoặc cụm từ đơn giản. Nhưng nếu bạn cần tìm kiếm một mô hình chung, giả sử bạn muốn lọc tất cả email trên toàn bộ văn bản? Đừng lo lắng, vì bạn có thể sử dụng biểu thức chính quy để tìm kiếm các mẫu cụ thể trong Vim.

Biểu thức chính quy là tập hợp các ký tự bao gồm cả ký tự đặc biệt và ký tự chữ và số, biểu thị một mẫu chuỗi cụ thể. Ví dụ: bạn có thể sử dụng các ký hiệu biểu thức chính quy sau:

Biểu tượng biểu thức chính quyHành động
‘.’để khớp với bất kỳ ký tự đơn nào
‘*’để khớp bất kỳ số lần xuất hiện nào với ký tự trước
‘+’để khớp với một hoặc nhiều lần xuất hiện của ký tự trước
‘[]’để khớp với một bộ ký tự được xác định
‘\w’khớp với bất kỳ từ nào có ký tự trước khớp

Đây là cách bạn có thể tìm kiếm văn bản trong trình soạn thảo Vim trong Linux bằng cách sử dụng biểu thức thông thường.

1. Định vị con trỏ

Sử dụng các phím mũi tên để di chuyển con trỏ để phân định điểm bắt đầu tìm kiếm.

2. Sử dụng lệnh tìm kiếm

Nhấn biểu tượng ‘/’ để tìm kiếm theo hướng thuận hoặc sử dụng dấu ‘?’ để tìm kiếm theo hướng ngược lại.

3. Nhập mẫu tìm kiếm

Nhập mẫu tìm kiếm biểu thức chính quy mà bạn cần tìm kiếm. Ví dụ: để tìm kiếm tất cả ID email trong văn bản nhất định, hãy sử dụng:

\<[A-Za-z0-9._%+-]\+@[A-Za-z0-9.-]\+\.[A-Za-z]\{2,\}\>

Có vẻ phức tạp? Hãy chia nhỏ nó ra –

  • \< và \> đánh dấu phần đầu và phần cuối của ID email và đảm bảo nó khớp với toàn bộ từ.
  • [A-Za-z0-9._-]\+ được sử dụng để khớp với mọi lần xuất hiện của ký tự chữ và số, dấu cộng, dấu chấm, dấu gạch dưới và dấu gạch nối
  • @ khớp chính xác với ký hiệu ‘@’
  • [A-Za-z0-9.-]\+ khớp với mọi lần xuất hiện của ký tự chữ và số, dấu chấm và dấu gạch nối
  • \. khớp với dấu chấm trong ID email
  • [A-Za-z]\{2,\} khớp với phần cuối của tên miền như .com, .in, v.v.

4. Điều hướng qua Kết quả Tìm kiếm

Để di chuyển đến kết quả tìm kiếm tiếp theo theo hướng tiến lên, hãy nhấn ‘n’ hoặc nhấn ‘N’ để di chuyển theo hướng lùi.

Tìm kiếm và thay thế văn bản trong Vim Editor

Hãy tưởng tượng bạn phải thay thế 100 lần xuất hiện của một từ cụ thể. Đối với tình huống như vậy, Vim có tính năng tìm kiếm và thay thế tích hợp trong đó bạn có thể sử dụng cả văn bản đơn giản và biểu thức thông thường tùy theo nhu cầu của mình để thay đổi hàng loạt và quản lý văn bản hiệu quả.

Đây là cách bạn có thể tìm kiếm và thay thế văn bản trong Vim:

1. Vào chế độ lệnh

Nhấn nút ‘:’ trên bàn phím để vào chế độ lệnh nơi bạn có thể thực thi các lệnh Vim tích hợp.

2. Nhập mẫu tìm kiếm và thay thế

Bây giờ hãy nhập mẫu tìm kiếm và mẫu thay thế theo cú pháp này để bắt đầu thao tác:

%s/search_pattern/replacement_text/<flags>

Trong cú pháp trên, ký hiệu “%” chỉ định Vim áp dụng thao tác cho toàn bộ tệp và ‘s’ chỉ định sử dụng lệnh thay thế

Dưới đây là một số cờ bạn có thể sử dụng với lệnh này:

  • g – là viết tắt của cờ “toàn cầu” và được sử dụng để thay thế tất cả các lần xuất hiện của mẫu tìm kiếm bằng sự thay thế trong toàn bộ văn bản.
  • c – là viết tắt của cờ “confirm” và được dùng để nhắc nhở trước mỗi lần thay thế diễn ra.
  • i – là viết tắt của cờ “bỏ qua trường hợp” và được sử dụng để tìm kiếm các trường hợp không nhạy cảm trong tệp đã cho.

Ví dụ: nếu bạn muốn thay thế từ “Linux” bằng “Unix” trong toàn bộ văn bản đã cho trong khi nhắc trước mỗi lần thay thế, thì hãy sử dụng lệnh này:

%s/linux/unix/gc

Bạn sẽ thấy lời nhắc sau ở phía dưới:

replace with Unix (y/n/a/q/l/^E/^Y)?

Nhấn ‘y’ để chỉ thay thế lần xuất hiện đầu tiên, ‘n’ để bỏ qua lần thay thế hiện tại, ‘a’ để thay thế tất cả các lần xuất hiện, ‘q’ để thoát thao tác này, ‘l’ để thay thế và thoát. Bạn thậm chí có thể nhấn CTRL + E để cuộn lên hoặc sử dụng CTRL + Y để cuộn xuống.

Sau khi hoàn tất, bạn sẽ nhận được thông báo xác nhận với số lần thay thế được thực hiện.

Các câu hỏi thường gặp

Làm cách nào để tìm kiếm nhiều từ trong Vim?

Để tìm kiếm nhiều từ trong Vim, trước tiên, hãy sử dụng lệnh tìm kiếm ‘/’, sau đó thêm cờ ‘\v’ rồi viết nhiều từ cách nhau bằng dấu gạch ngang ‘|’ ký tự như cú pháp này: \v||