1

だから、これはタイトルのために明確な質問ではないかもしれません。しかし、実際の説明は次のとおりです。

このカスタム関数があります。この関数をコマンドラインから呼び出せるようにしたいのですが、これは(:FunctionName arg)で行われますが、この関数を特定のマッピングに反応させる必要があります。

したがって、ユーザーが押す<leader>csと、ユーザーにarg部分の入力を求めるプロンプトが表示されますが、これをマッピングすることは、私にはまだわかりませんが、この機能を実現する方法もわかりません。これは、Surroundスクリプトが行うことの一種であり、古い文字と新しい文字を入力して置き換えることができます。

これは、BTWで作成する最初のスクリプトに必要です。これにより、SublimeTextの方法と同様の方法でファイルの構文を変更できます。

ご協力ありがとうございます!

4

1 に答える 1

2

最も簡単な方法は、マッピングから結論を削除して<CR>、コマンドラインモードに入り、コマンドラインにカスタムコマンドを入力することです。

:nnoremap <Leader>cs :FunctionName<Space>

次に、を入力してarg、を使用してコマンドをトリガーできEnterます。


input()または、次のように、 (および;のある単一の文字はgetchar()明らかですよね?!)を介してユーザー入力を照会できます。

function! FunctionNameWithQuery()
    let arg = input('arg: ')
    execute 'FunctionName' arg
endfunction
nnoremap <Leader>cs :call FunctionNameWithQuery()<CR>
于 2012-11-25T20:09:13.233 に答える