我有以下自定义命令和功能:
function! TestFunc()
execute "normal /http\<CR>"
endfunction
command! Test2 normal /http<CR>
调用:Test2
更改注册/
,但调用:call TestFunc()
不会更改注册/
。
为什么会这样?我应该使用自定义命令来更改/?
的寄存器答案 0 :(得分:2)
之后将恢复搜索模式;你不能在一个函数内操纵它。 (这对大多数目的都有意义,遗憾的是不适合你。)见:help function-search-undo
。您可以直接在调用函数的映射/命令中操作搜索模式(也可以通过:let @/ = 'pattern'
)。