vimにテキストをペーストする時にオートインデントさせない方法

提供: neovim/vim入門
2017年6月15日 (木) 00:12時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「クリップボードのソースコードをvimにペースト(貼り付け)する時に、オートインデント(autoindent)により、貼り付けたテキス...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

クリップボードのソースコードをvimにペースト(貼り付け)する時に、オートインデント(autoindent)により、貼り付けたテキストがガタガタにフォーマットされる体験をしたことはありますか?ここでは、それの対処方法について紹介します。

読み方

autoindent
おーといんでんと

概要

クリップボードのソースコードをvimにペースト(貼り付け)する時に、オートインデント(autoindent)により、貼り付けたテキストがガタガタにフォーマットされる体験をしたことはありますか?

この問題を解決するために、違うファイルを作成して、違うファイルに貼り付けて、vim から読み込んだりして、乗り越えてしまっている人もいるかもしれません。

実は、vim だけでこの問題は解決できます。

外部コマンドを使って、対応することもできますが、おそらく、ムダの少ない方法は paste モードのオンオフではないでしょうか。

解決策

コードをペーストするときに、 autoindent をオフにして、特別な paste モードにします。 以下のコマンドで paste モードになります。

:set paste

vim の表示が例えば、以下のような感じになります。

-- INSERT (paste) --

コードのペースト(貼り付け)が終わったら、 paste モードをオフにします。再び、 auto indent を起動します。

:set nopaste

paste モードの切り替え用のキーバインドを設定することも可能です。

set pastetoggle=<F3>

上記の例では、 F3 キーで paste モードのオンオフができます。

まとめ

  • paste モードを操ることで、オートインデントに悩まずに、コピペ作業を効率化できます。
  • set paste
  • set nopaste

関連項目




スポンサーリンク