2009-04-01 14 views

Trả lời

2

MultipleSearch: Nêu bật nhiều tìm kiếm cùng một lúc, mỗi một màu sắc khác nhau.

http://www.vim.org/scripts/script.php?script_id=479 

: Tìm kiếm // sẽ đánh dấu tất cả các lần xuất hiện trong bộ đệm hiện tại. Tiếp theo: Tìm kiếm sẽ làm nổi bật tất cả các lần xuất hiện trong bộ đệm hiện tại.

35

Điều này có thể được thực hiện thủ công, không có bất kỳ tập lệnh nào, cho hai mẫu tìm kiếm.

:match Search /pattern/ 
:match Search /<CTRL-R>/ # highlight the current search pattern 

Tìm kiếm là tên của nhóm đánh dấu, sử dụng hoàn thành để chọn nhóm khác để đánh dấu bằng màu khác.

:match <TAB> 
:match <TAB> # completion will list all highlight group 

Điều này rất thuận tiện khi bạn không thể sử dụng cấu hình vim của riêng mình.

:match none  # clear the match pattern to stop highlighting 
+4

Đã không hoạt động đối với tôi. Đối với bất cứ ai tự hỏi thử này: http://stackoverflow.com/questions/4162664/vim-highlight-a-list-of-words#comment4494852_4162735 –

5

Có, ngoài hộp bạn có thể sử dụng matchadd().

Để thêm đánh dấu, ví dụ: cho dấu khoảng trắng:

:highlight ExtraWhitespace ctermbg=grey guibg=grey 
:call matchadd('ExtraWhitespace', '\s\+$', 11) 

Để xem tất cả các trận đấu:

:echo getmatches() 

Để loại bỏ các trận đấu sử dụng matchdelete(). Ví dụ:

:call matchdelete(7) 
1

My Mark plugin có thể làm nổi bật nhiều từ cùng màu khác nhau, như tìm kiếm tích hợp. Nó đi kèm với nhiều ánh xạ và lệnh, cho phép duy trì các mẫu và hỗ trợ nhiều bảng màu.

+0

Nó có trang github với mô tả hướng dẫn? Nó không phải là dễ dàng để đọc trên vim.org. Cũng không dễ để báo cáo vấn đề. –

+0

Làm cách nào để cài đặt plugin này của Vundle? Thừa nhận mã trong github vim-script quá cũ. –

+0

@LiMingHung Phiên bản đó từ vim-script sẽ hoạt động, nhưng có, nó đã lỗi thời. Bạn có thể yêu cầu các chàng trai từ vim-script cập nhật nó; họ có một số vấn đề gây phiền nhiễu với scraper của họ. –

19

Đối với tìm kiếm nhiều chuỗi trong vim bạn có thể làm như sau:

/search1\|search2 

này hoạt động, và sẽ làm nổi bật cả search1search2, nhưng với cùng một màu sắc. Bạn phải làm điều này trong trình soạn thảo vim.

+0

nếu bạn muốn tìm kiếm1 nhưng không khớp với tìm kiếm2, làm cách nào tôi có thể sửa đổi dòng lệnh đó trong vim? – medev21

29

Có hai cách đơn giản để làm nổi bật nhiều từ trong trình chỉnh sửa vim.

  1. Chuyển đến chế độ tìm kiếm tức lànhập '/' và sau đó nhập \ v theo sau là các từ bạn muốn tìm kiếm được phân tách bằng '| '(ống).
    Ex: /\ vword1 | word2 | word3
  2. Go sang chế độ tìm kiếm và gõ những từ bạn muốn tìm kiếm cách nhau '\ | '.
    Ex: /word1 \ | word2 \ | word3

Về cơ bản cách đầu tiên đặt bạn ở chế độ biểu hiện thường xuyên để bạn không cần phải đặt bất kỳ lại thêm chém trước mỗi ống hoặc delimiters khác sử dụng để tìm kiếm.