ssh越しのvimに対してクライアントOSのクリップボードから貼り付けしたい。
うっかり普通に貼り付けるとオートインデントが効いてしまっておかしな事になるのでなんとかしたい。
方法1.:set pasteする
自分が今まで行っていた方法。
:set paste
するとオートインデントやキーマッピングが無効になり、入力したテキストがそのまま入力される。
nnoremap <F10> :<C-u>exe "normal" (getline(".")==""?"I":"o")<CR>i<C-o>:set paste<CR>
au InsertLeave * set nopaste
こんなマッピングを作り、F10でインサートモードに入ると同時に:set paste、インサートモードから抜けたときに自動的に:set nopasteするようにしていた。
方法2.:r!cat
:r!cat
<貼り付け>
<Ctrl-dでcatを終了>
自分の.vimrcが入っていない環境ではこれがよさそう。
方法3.exコマンドの:aを使う
:a
<貼り付け>
.<Enterで:aを終了>
しかしこれだとオートインデントやコマンドラインモードのmapやabbrevが効いてしまう模様。残念。