我重新映射[[
并]]
在文件中找到上一个和下一个模式.映射如下:
nmap [[ ?^.section <CR>
nmap ]] /?section /<CR>
Run Code Online (Sandbox Code Playgroud)
问题在于,当我使用其中任何一个时,我"松散"当前的搜索模式,因此在进行n
下一个匹配时,我会搜索下一个"部分".
有没有办法恢复搜索模式的方式,或为[[
和]]
映射不会影响当前的搜索模式?
der*_*ert 15
您可以通过保存和恢复"/
寄存器手动完成.但是,更好的方法是将代码移动到函数中; 从函数返回会自动恢复它.引用VIM文档:
*function-search-undo*
最后使用的搜索模式和重做命令"." 不会被功能改变.这也意味着|:nohlsearch |的效果 函数返回时撤消.
这在你的看起来像这样.vimrc
:
function! Ayman_NextSection
/?section /
endfunction
nmap ]] call Ayman_NextSection()<CR>
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.