ottijp blog

Vimのインサートモードで自動インデントさせずにクリップボードの内容をペーストする

以下の記事でも対処法を書いている方がいたのですが,この方法は記載されていなかったようなので残しておきます.

やり方

インサートモードで <C-r><C-p>* とすることでインデントされずにペーストできます.

環境

shell
$ vim --version | head -4
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug  8 2017 03:46:05)
MacOS X (unix) version
Included patches: 1-891
Compiled by travis@Traviss-Mac-598.local
vim
set autoindent

挙動の例

クリップボードの内容
func hoge(b: Bool) {
    if b {
        print("hoge")
    } else {
        print("not hoge")
    }
}

ペーストした時(i<C-r>*<ESC>)の内容(自動インデントされちゃう場合)

vim
func hoge(b: Bool) {
    if b {
            print("hoge")
                } else {
                        print("not hoge")
                            }
                            }

ペーストした時(i<C-r><C-p>*<ESC>)の内容(自動インデントさせない場合)

vim
func hoge(b: Bool) {
    if b {
        print("hoge")
    } else {
        print("not hoge")
    }
}

ottijp
都内でアプリケーションエンジニアをしています
© 2026, ottijp