我重新映射[[
和]]
以查找文件中的上一個和下一個模式。該映射如下:VIM恢復上次搜索模式
nmap [[ ?^.section <CR>
nmap ]] /?section /<CR>
的問題是,當我使用其中任何一個,我「寬鬆」目前的搜索模式,所以在接下來的比賽做n
的時候,我搜了下「參考」 。
有沒有辦法恢復搜索模式,或者[[
和]]
映射不會影響當前搜索模式?
我重新映射[[
和]]
以查找文件中的上一個和下一個模式。該映射如下:VIM恢復上次搜索模式
nmap [[ ?^.section <CR>
nmap ]] /?section /<CR>
的問題是,當我使用其中任何一個,我「寬鬆」目前的搜索模式,所以在接下來的比賽做n
的時候,我搜了下「參考」 。
有沒有辦法恢復搜索模式,或者[[
和]]
映射不會影響當前搜索模式?
你可以通過保存和恢復"/
寄存器手動完成。但是,更好的方法是將代碼移入一個函數中;從函數返回自動恢復它。引述VIM文檔:
*功能搜索-撤消*
最近使用的搜索模式和重做命令 「」該功能不會改變 。這也意味着 | | nohlsearch |在函數返回時撤銷 。
這會看着你的.vimrc
是這樣的:
function! Ayman_NextSection
/?section/
endfunction
nmap ]] call Ayman_NextSection()<CR>
希望有所幫助。
取決於你想做什麼'histdel()'也可能有幫助。這會自動清除您當前的搜索,但不會從搜索歷史記錄中刪除搜索(可通過'q /'訪問) – 2016-10-31 14:01:40