読者です 読者をやめる 読者になる 読者になる

vimで貼付け時に自動でpasteモードにする

vimでOSのクリップボードから貼り付けたいときは, 一度set pasteでペーストモードにしてから貼り付ける.

これが,結構面倒くさいんだけど以下のスクリプトを使うと簡単に貼り付けができるようになる.

ノーマルモードでペーストを行うと自動でペーストモードになって, クリップボードの中身を貼り付けてくれる.

オススメです.

if &term =~ "xterm"
    let &t_ti .= "\e[?2004h"
    let &t_te .= "\e[?2004l"
    let &pastetoggle = "\e[201~"

    function XTermPasteBegin(ret)
        set paste
        return a:ret
    endfunction

    noremap <special> <expr> <Esc>[200~ XTermPasteBegin("0i")
    inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
    cnoremap <special> <Esc>[200~ <nop>
    cnoremap <special> <Esc>[201~ <nop>
endif

参考文献

  • あったけどロストしてしまいました...