1

次のカスタム コマンドと関数があります。

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

command! Test2 normal /http<CR>

呼び出しは register を:Test2変更します/が、呼び出しは register を:call TestFunc()変更しません/

これはなぜですか?/ のレジスタを変更するには、カスタム コマンドを使用する必要がありますか?

4

1 に答える 1

2

検索パターンは後で復元されます。関数内で操作することはできません。(これはほとんどの目的で意味がありますが、残念ながらあなたの目的には当てはまりません。) を参照してください:help function-search-undo:let @/ = 'pattern'代わりに、関数を呼び出すマッピング/コマンドで直接検索パターンを操作できます (これも を介して)。

于 2013-09-28T10:22:55.090 に答える