cafegale(LeafCage備忘録)スマートフォン用の表示で見るcafegale(LeafCage備忘録)LeafCage備忘録(はてなダイアリー)と統一しました。356日目の記事です。バッファをバッファリストに登録したくないときがあります。:bpreviousでのバッファ切換の対象になりません。Vim終了時に次回起動時のための情報を書き込むviminfoファイルのバッファリスト保存・復元から除外されます。Vim終了時にはそのバッファは破棄され次回起動に持ち越しません。このオプションは通常、その場限りの情報を表示するだけで、書き込む予定のない、使い捨てのバッファに設定します。'buflisted'オプションをオフに設定しても、バッファの内容を変更すると勝手に'buflisted'がオンに設定し直されてしまいます。正しくは「バッファの編集を始めると」オンになるのでした。:newなどで切り替えるとオンにされるみたいです。nobuflistedを設定するだけでよいです。ここではいかにして、何らかの形で意図せず'buflisted'オンになっても'buflisted'をオフに保つようにするバッファを作るのかを解説します。特別なバッファに設定するべき他のオプションも併せて説明します。変更の予定のないバッファの場合バッファを変更する予定がなければ、ただ単に'nobuflisted'オプションを設定すればいいです。その際、ユーザにバッファの内容を変更を禁止させるように'nomodifiable'オプション、読み込み専用だということをユーザに示すために'readonly'オプションもセットしましょう。readonly※これらはバッファにローカルなオプションなので:setlocalではなく通常の:setで設定しても問題ありません。:editに+cmdオプションを与えればこのコマンドを1行で表せます。編集が禁止されたバッファでスクリプトがバッファの内容を変更するのなら、そのときに一時的にこれらのオプションを変更し、内容変更後に元に戻せばいいでしょう。readonlyユーザが自由に編集できるバッファをバッファリストに登録させたくない場合は、そのバッファを抜けるときに'nobuflisted'に設定しなおすバッファローカルなautocmdをそのバッファに設定しておきます。そのバッファにいるときにVimを終了させようとしたときにもバッファリストから除外するようにVimLeavePreイベントのautocmdも設定します。END需要があるか分かりませんが、現在Vimではbuflistedにしておきたいが、Vim終了時にはnobuflistedにして次回起動時のバッファに残させないときの設定です。\*でそれらのバッファにnobuflistedオプションを設定します。buftype=nofileを設定します。buftype=nofileを設定すると:writeが禁止されます。バッファの編集変更自体は出来るので、それを禁止させたければ前述のnomodifiableも設定しましょう。bufhiddenバッファの使い捨てという正確を強めたいときに利用します。バッファがウィンドウに表示されなくなったときの挙動を指定するオプションですが、そのバッファを閉じたらバッファの内容を破棄させたいのならbufhidden=unload、削除や完全削除をしたいのならbufhidden=delete(←これはまだ:bでバッファ指定するなどしたらアクセスできる)やbufhidden=wipe(←完全に削除される)を使います。kien/ctrlp.vimでbufhidden=unloadが利用されています。ctrlp.vimの作るバッファは刹那的な性格が強いですし、無駄なメモリも解放されるからでしょう。Shougo/vimfiler.vimの作るバッファをバッファリストに残したくない時には.vimrcに次の設定を書きます。nobuflistedこれでバッファを閉じたときにはバッファリストのサイクルから外れますし、次回起動時にvimfilerのバッファが残っているということもありません。...2013-12-06lastmess.vimで表示されるメッセージのハイライトをいろいろ定義できるようにした。333日目の記事です。»プロフィールid:leafcage世間的にはマイナーなソフトウェアなどが好き。(ツイプロフィール)github/LeafCagevimに関する記事(はてなグループ)はてなブログをはじめよう!leafcageさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。