4

作業の一部として ex コマンドを呼び出すマップを vim で作成したいとします。また、ex コマンドがレジスタ名を入力として受け取るとします。

おもちゃの例を次に示します。

nmap <leader>p :put x

問題は、'x' レジスタが常に使用されることです。しかし、入力するときは、次のように書きたいと思います。

"a<leader>p

'a' レジスタを使用するには、または:

"b<leader>p

'b' レジスタを使用します。

「現在の通常モードレジスタ」を「ex」コマンドに渡す方法はありますか?

4

1 に答える 1

6

ああ、私はそれを理解しました。

トリックは<expr>、マッピングで使用することです。

したがって、私の例では、答えは次のとおりです。

nnoremap <expr> <leader>p ':put ' . v:register . '<CR>'

詳細については、 と を確認:h map-expression:h v:registerてください。

于 2013-01-31T18:08:42.763 に答える