クリップボードからの貼り付けを含むvim関数を書きたい(重要な場合はウィンドウ)
私はそれが次のようなものでなければならないと思います
function MyPastingFunc()
"+p "paste from clipboard
"do more stuff
endfunction
もちろん、「+ pは.vimファイルの単なるコメントです。どうすればこれを機能させることができますか?
あなたはコマンドを探しています:normal
:
function MyPastingFunc()
"paste from clipboard
normal! "+p
"do more stuff
endfunction
は!
、vimがの一部である可能性のあるユーザーマッピングも実行しないようにするために使用されます"+p
。
常に新しい行に貼り付けたい場合は、次の:put
コマンドを使用できます。
:put + will paste after the current line
:put! + will paste before the current line
:123 put + will paste after line 123
注意:カーソル位置は、挿入されたテキストの最初の非空白文字にも移動します。これはあなたが望むものかもしれないし、そうでないかもしれません。
名前がかなり自明であるfeedkeys関数を使用できるはずです。
function MyPastingFunc()
call feedkeys("\"+p") "paste from clipboard
"do more stuff
endfunction