使用*时光标就一个字theWord,VIM直接跳到正是这样一句话,即performes接下来出场/\<theWord\>.
问题:
otherWord当光标在另一个单词上时,有没有办法在搜索中添加另一个单词,以便执行一个单词/\<theWord\>\|\<otherWord\>?
Zso*_*kai 15
尝试类似的东西:
:let @/=@/.'\|\<'.expand("<cword>").'\>'这会将前一个搜索模式附加到光标下的当前单词,并带有一些分隔符(\|以及单词边界...)nnoremap <F4> :let @/.='\\|\<'.expand("<cword>").'\>'<CR>尝试
:nnoremap <silent> + :let @/ .= '\\|\<'.expand('<cword>').'\>'<cr>n
Run Code Online (Sandbox Code Playgroud)
当点击"+"时,它会将光标下的单词附加到搜索寄存器,并跳转到任何搜索模式的*n*ext出现.
如果你想将它扩展到可视模式,(可以对n_star进行),你就可以了
:vnoremap <silent> + <c-\><c-n>:let @/ .= '\\|'.escape(lh#visual#selection(), '/\^$*.[~')<cr>n
Run Code Online (Sandbox Code Playgroud)
随着lh#visual#selection()获取当前的选择,并且escape()在正则表达式中和一些积极的角色.v_CTRL-\_CTRL-N是一个安全和沉默的逃脱序列.