Xóa phần nổi bật tìm kiếm VIM


13

Sau khi tìm kiếm tôi đã thực hiện, tất cả các kết quả khớp cho truy vấn tương ứng vẫn được tô sáng và thật khó chịu. Điều này xảy ra ngay cả sau khi tôi đóng tệp tương ứng (hành vi bình thường?). Làm thế nào để tôi loại bỏ điều này?

Câu trả lời:


15

Bạn muốn lệnh :nohlsearch, nhưng bạn không muốn gõ lệnh đó mỗi lần. Đặt cái này trong ~ / .vimrc của bạn:

nnoremap <silent> <leader>n :nohlsearch<CR>

Sau đó, bạn chỉ cần nhập nhà lãnh đạo của mình (theo mặc định là \) và sau đó nđể xóa các trận đấu. Bạn không cần sử dụng n; nếu bạn thích, chọn một cái gì đó khác

Bạn cũng có thể sắp xếp lại nhà lãnh đạo của bạn để một cái gì đó thoải mái hơn, nếu bạn muốn. Tôi sử dụng dấu phẩy:

let mapleader = ","

(Điều đó đi trước ánh xạ để xóa các tìm kiếm.)


4
Tôi chỉ làm: không đủ để vim biết ý tôi là gì. :)
sml

@scottl Đủ công bằng (và nhắc nhở tốt rằng tất cả các lệnh đều có phím tắt), nhưng tôi vẫn thích ánh xạ các lệnh được sử dụng thường xuyên.
Telemachus

10

tôi chỉ /qiw772723euzđể "tìm kiếm" những thứ không có trong tập tin. Cách giải quyết khó khăn, tôi biết, tôi cũng quan tâm đến một giải pháp thực sự :)


đó là khủng khiếp nhưng một 'giải pháp' nhanh chóng và bẩn thỉu :)
matthias krull

4

Tương tự như câu trả lời @Telemachus ở trên, một nhận xét về câu trả lời này tại SO của @David Winslow đã đề xuất ánh xạ chuyển đổi hlsearch. Bạn sẽ ánh xạ như sau:

nmap <silent> <leader>n :set hlsearch!<CR>

Sau đó, nhấn n sẽ bật tắt tìm kiếm và mỗi khi bạn nhấn nó.


3

Trong cấu hình của tôi, tôi xóa các cụm từ tìm kiếm được tô sáng bằng cách nhấn enter trong chế độ lệnh . Đây là cách cấu hình.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Là một lưu ý phụ, tôi muốn đảm bảo rằng các kết quả tìm kiếm của tôi được tô sáng siêu rõ ràng , bất kể cách phối màu, vì vậy tôi cung cấp cho chúng văn bản màu đen trên nền màu vàng.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black

0

Tôi có một giải pháp hơi khác. Đối với tôi cảm giác như điều tự nhiên phải làm là nhấn <esc>để làm cho nó biến mất. Tuy nhiên, điều đó không làm việc. Mapping <esc>để :nohcó khó chịu tác dụng phụ, do đó không phải là một lựa chọn một trong hai. <Leader>nvà các ánh xạ tương tự cảm thấy không trực quan đối với tôi cho một nhiệm vụ tầm thường như vậy. Tuy nhiên, nhấn <esc>hai lần là điều tôi có thể sống với:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.