「vimにテキストをペーストする時にオートインデントさせない方法」の版間の差分

提供: neovim/vim入門
移動: 案内検索
(ページの作成:「クリップボードのソースコードをvimにペースト(貼り付け)する時に、オートインデント(autoindent)により、貼り付けたテキス...」)
 
 
行37: 行37:
 
* set nopaste
 
* set nopaste
 
== 関連項目 ==
 
== 関連項目 ==
 +
* [[vimでソースコード全体のインデントを整形する方法]]
 
* [[メインページ]]
 
* [[メインページ]]
 
<!-- vim: filetype=mediawiki
 
<!-- vim: filetype=mediawiki
 
-->
 
-->

2017年6月16日 (金) 00:46時点における最新版

クリップボードのソースコードを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

関連項目