3

クリップボードからの貼り付けを含むvim関数を書きたい(重要な場合はウィンドウ)

私はそれが次のようなものでなければならないと思います

function MyPastingFunc()
  "+p  "paste from clipboard
  "do more stuff
endfunction

もちろん、「+ pは.vimファイルの単なるコメントです。どうすればこれを機能させることができますか?

4

3 に答える 3

5

あなたはコマンドを探しています:normal

function MyPastingFunc()
  "paste from clipboard
  normal! "+p
  "do more stuff
endfunction

!、vimがの一部である可能性のあるユーザーマッピングも実行しないようにするために使用されます"+p

于 2010-07-01T03:08:00.203 に答える
2

常に新しい行に貼り付けたい場合は、次の:putコマンドを使用できます。

:put +      will paste after the current line
:put! +     will paste before the current line
:123 put +  will paste after line 123

注意:カーソル位置は、挿入されたテキストの最初の非空白文字にも移動します。これはあなたが望むものかもしれないし、そうでないかもしれません。

于 2010-07-01T18:33:00.603 に答える
1

名前がかなり自明であるfeedkeys関数を使用できるはずです。

function MyPastingFunc()
    call feedkeys("\"+p")  "paste from clipboard
    "do more stuff
endfunction
于 2010-07-01T02:38:26.217 に答える