1

我有以下自定义命令和功能:

function! TestFunc()
    execute "normal /http\<CR>"
endfunction

command! Test2 normal /http<CR>

调用:Test2更改 register/但调用:call TestFunc()不会更改 register /

为什么会这样?我应该使用自定义命令来更改 / 的寄存器吗?

4

1 回答 1

2

搜索模式将在之后恢复;你不能在函数内部操作它。(这对大多数目的来说都是有意义的,不幸的是不适合你。)见:help function-search-undo:let @/ = 'pattern'您可以直接在调用您的函数的映射/命令中操作搜索模式(也可以通过)。

于 2013-09-28T10:22:55.090 回答