หลังจากการค้นหาที่ฉันทำเสร็จแล้วการจับคู่ทั้งหมดของการค้นหานั้นยังคงเน้นอยู่และน่ารำคาญ สิ่งนี้จะเกิดขึ้นหลังจากฉันปิดไฟล์ที่เกี่ยวข้อง (พฤติกรรมปกติหรือไม่) ฉันจะลบสิ่งนี้ได้อย่างไร
หลังจากการค้นหาที่ฉันทำเสร็จแล้วการจับคู่ทั้งหมดของการค้นหานั้นยังคงเน้นอยู่และน่ารำคาญ สิ่งนี้จะเกิดขึ้นหลังจากฉันปิดไฟล์ที่เกี่ยวข้อง (พฤติกรรมปกติหรือไม่) ฉันจะลบสิ่งนี้ได้อย่างไร
คำตอบ:
คุณต้องการคำสั่ง:nohlsearch
แต่คุณไม่ต้องการพิมพ์ทุกครั้ง ใส่สิ่งนี้ใน ~ / .vimrc ของคุณ:
nnoremap <silent> <leader>n :nohlsearch<CR>
หลังจากนั้นคุณเพียงป้อนผู้นำของคุณ (ซึ่งโดยค่าเริ่มต้นคือ\
) แล้วn
ล้างการแข่งขัน คุณไม่จำเป็นต้องใช้n
; หากคุณต้องการเลือกอย่างอื่น
นอกจากนี้คุณยังสามารถแมปหัวหน้าของคุณกับสิ่งที่สะดวกสบายมากขึ้นถ้าคุณต้องการ ฉันใช้เครื่องหมายจุลภาค:
let mapleader = ","
( ก่อนหน้าการทำแผนที่เพื่อล้างการค้นหา)
ฉันแค่/qiw772723euz
"ค้นหา" สำหรับสิ่งที่ไม่ได้อยู่ในไฟล์ วิธีแก้ปัญหาแฮ็ครู้ฉันสนใจวิธีแก้ปัญหาจริงเช่นกัน :)
คล้ายกับ @Telemachus คำตอบข้างต้นแสดงความคิดเห็นในคำตอบนี้มากกว่าที่ SO โดย @ David hlsearch
พระพุทธเจ้าปัญหาการทำแผนที่สลับของ คุณจะทำแผนที่ต่อไปนี้:
nmap <silent> <leader>n :set hlsearch!<CR>
การกดปุ่ม n จะเป็นการสลับการเน้นการค้นหาและเปิดทุกครั้งที่คุณกดปุ่ม
ในการตั้งค่าของฉันฉันชัดเจนไฮไลต์คำค้นหาโดยเพียงแค่กดปุ่มใส่ในโหมดคำสั่ง นี่คือวิธีที่กำหนดค่า
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
ฉันมีทางออกที่แตกต่างกันเล็กน้อย สำหรับฉันแล้วมันรู้สึกว่าเป็นเรื่องธรรมชาติที่ต้องทำคือกด<esc>
เพื่อทำให้มันหายไป อย่างไรก็ตามนั่นไม่ได้ผล การแมป<esc>
กับ:noh
ผลข้างเคียงที่น่ารังเกียจดังนั้นจึงไม่ใช่ตัวเลือกเช่นกัน <Leader>n
และการแมปที่คล้ายกันทำให้ฉันใช้งานที่ไม่สำคัญได้ง่ายสำหรับฉัน อย่างไรก็ตามการกด<esc>
สองครั้งเป็นสิ่งที่ฉันสามารถอยู่กับ:
nnoremap <silent> <esc><esc> :nohlsearch<CR>