ลบไฮไลต์การค้นหา VIM


13

หลังจากการค้นหาที่ฉันทำเสร็จแล้วการจับคู่ทั้งหมดของการค้นหานั้นยังคงเน้นอยู่และน่ารำคาญ สิ่งนี้จะเกิดขึ้นหลังจากฉันปิดไฟล์ที่เกี่ยวข้อง (พฤติกรรมปกติหรือไม่) ฉันจะลบสิ่งนี้ได้อย่างไร

คำตอบ:


15

คุณต้องการคำสั่ง:nohlsearchแต่คุณไม่ต้องการพิมพ์ทุกครั้ง ใส่สิ่งนี้ใน ~ / .vimrc ของคุณ:

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

หลังจากนั้นคุณเพียงป้อนผู้นำของคุณ (ซึ่งโดยค่าเริ่มต้นคือ\) แล้วnล้างการแข่งขัน คุณไม่จำเป็นต้องใช้n; หากคุณต้องการเลือกอย่างอื่น

นอกจากนี้คุณยังสามารถแมปหัวหน้าของคุณกับสิ่งที่สะดวกสบายมากขึ้นถ้าคุณต้องการ ฉันใช้เครื่องหมายจุลภาค:

let mapleader = ","

( ก่อนหน้าการทำแผนที่เพื่อล้างการค้นหา)


4
ฉันแค่ทำ: noh ซึ่งเพียงพอสำหรับกลุ่มที่จะรู้ว่าฉันหมายถึงอะไร :)
sml

@scottl ยุติธรรมเพียงพอ (และเตือนความจำดีว่าคำสั่งทั้งหมดมีทางลัด) แต่ฉันยังคงต้องการแมปคำสั่งที่ใช้บ่อย
Telemachus

10

ฉันแค่/qiw772723euz"ค้นหา" สำหรับสิ่งที่ไม่ได้อยู่ในไฟล์ วิธีแก้ปัญหาแฮ็ครู้ฉันสนใจวิธีแก้ปัญหาจริงเช่นกัน :)


นั่นช่างน่ากลัว แต่เป็น 'ทางออก' ที่รวดเร็วและสกปรกดี :)
matthias krull

4

คล้ายกับ @Telemachus คำตอบข้างต้นแสดงความคิดเห็นในคำตอบนี้มากกว่าที่ SO โดย @ David hlsearchพระพุทธเจ้าปัญหาการทำแผนที่สลับของ คุณจะทำแผนที่ต่อไปนี้:

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

การกดปุ่ม n จะเป็นการสลับการเน้นการค้นหาและเปิดทุกครั้งที่คุณกดปุ่ม


3

ในการตั้งค่าของฉันฉันชัดเจนไฮไลต์คำค้นหาโดยเพียงแค่กดปุ่มใส่ในโหมดคำสั่ง นี่คือวิธีที่กำหนดค่า

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

ตามบันทึกด้านข้างฉันต้องการตรวจสอบให้แน่ใจว่าการจับคู่การค้นหาของฉันเน้นเป็นพิเศษอย่างชัดเจนไม่ว่าจะมีรูปแบบสีใดฉันจึงให้ข้อความสีดำบนพื้นหลังสีเหลือง

" 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

ฉันมีทางออกที่แตกต่างกันเล็กน้อย สำหรับฉันแล้วมันรู้สึกว่าเป็นเรื่องธรรมชาติที่ต้องทำคือกด<esc>เพื่อทำให้มันหายไป อย่างไรก็ตามนั่นไม่ได้ผล การแมป<esc>กับ:nohผลข้างเคียงที่น่ารังเกียจดังนั้นจึงไม่ใช่ตัวเลือกเช่นกัน <Leader>nและการแมปที่คล้ายกันทำให้ฉันใช้งานที่ไม่สำคัญได้ง่ายสำหรับฉัน อย่างไรก็ตามการกด<esc>สองครั้งเป็นสิ่งที่ฉันสามารถอยู่กับ:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.