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

vimでインデントを崩さない貼り付け方法

vim

2chからコピペ。
953の人と同様、僕もいつもset pasteでやってたのですけど、最後の発言にある、

:a!

とか

:i!

でいけることを知り、ちょっと感動したのでメモ。
面倒だったらその前にある

set pastetoggle=<C-E>

をセットしておいて編集モードでCtrl-Eとかも楽で良いですね。

あと、

gg=G

も便利。先頭に戻って行末までインデント修正と。
こんな数発言で便利なやり方をたくさん知ることできたのでテンション上がりました。

946 :名無しさん@お腹いっぱい。 [↓] :2010/08/31(火) 18:28:46
indentのon/offをトグルするようなキーバインドを作りたいんですが
indentの状態を取得するのはどうやればいいんでしょうか?

マウスでwebから拾ってきたコードをコピペするときとかに、改行があるせいで
自動でindentが入ってしまうので、トグルでサクッとindentを一時的に
offにできれば便利だと思いました。

マウスでのペーストを自動で判定してindentをoffにする方法があれば
それが最善ですが、さすがに無理ですよね

948 :名無しさん@お腹いっぱい。 [↓] :2010/08/31(火) 20:09:59
indentってなんだ?on/offできるってことはオプション?
よく分からんがgqgqじゃできないの?

949 :名無しさん@お腹いっぱい。 [↓] :2010/08/31(火) 20:19:08
よくわからんけども、
:h paste
あたりを調べた方が良さそうかも

951 :946 [↓] :2010/08/31(火) 21:33:17
試行錯誤しているうちにpastetoggleというのがあるのを知りました
set pastetoggle=

これで望む動作になりました。皆さんありがとうございました

953 :名無しさん@お腹いっぱい。 [↓] :2010/09/02(木) 02:30:53
おお、いつもset pasteってやってたわ。
横からありがとん

gqgqよりgg=Gのほうを使うほうが楽じゃね?

954 :名無しさん@お腹いっぱい。 [↓] :2010/09/02(木) 04:53:18
:a!