ショコラ
vi に文字列をペーストしたら激しくインデントされてしまった
vimrc に書かれた「set autoindent(set ai)」「set smartindent」辺りが原因かもしれない。
その場合「:set paste」を実行してから文字列をペーストしてキメマス。
オートインデントはキーボードで入力するときは自動でインデントが入って便利なんですけどね。
もっさん先輩
set pastepaste の後に元に戻すには nopaste を使います。
set nopasteオートインデント関連を整理してみます。
①オートインデントは、改行時に前の行のインデントを引き継ぐようになります。
set autoindentai は autoindent を省略したものです。
set ai②スマートインデントは、前の行の括弧({)に応じてインデントが挿入されるようになります。挿入されるインデントは shiftwidth で設定します。
set smartindent③シフトウィズは、インデントする幅です。
set shiftwidth=2noexpandtab の状態で shiftwidth に 7 等が設定されていると、タブとスペース(調整)でインデントされます。
④エクスパンドタブは、タブを入力するとタブストップ分のスペースが入力されるようになります。
set expandtab⑤タブストップは、タブ1文字を何文字のスペースで表示するかの設定です。
set tabstop=4シチュエーション
オートインデントの状態で whileブロックの中に文字列をペーストしてみます。
while (true) {
//ここにペーストします。
}
行頭がインデントされた文字列を用意します。
## コメント
if (true) {
echo 'test';
}
上の行をコピーして、while の中にペーストすると激しくずれます。
<?php
while (true) {
## コメント
if (true) {
echo 'test';
}
}