Emacsの初期匿名バッファ


0

私は以前私のemacsにあった .init.el スプラッシュスクリーンを抑制し、匿名バッファに切り替えるために使用される次の2行をファイルします。

(setq inhibit-splash-screen t) (switch-to-buffer "**")

最近私は使い始めました emacs --daemon そして emacsclient そして私の初期バッファは *scratch*。私はLispのやりとりや迷惑なスクラッチメッセージが欲しくないので、私は自分の中に次の行を書いた。 init.el

(setq initial-buffer-choice "**")

問題は、新しい初期バッファが従来のものとは異なることです。 ** バッファ。実際、emacsを閉じるとき、私はというファイルを保存するよう促されます。 **私はこのような振る舞いはしたくないのですが、私は伝統的な振る舞いを求めています。 ** 匿名バッファ

手動で設定できることを知っています initial-major-mode そして initial-scratch-message そして使い続ける *scratch* しかし私は本当に使いたいです ** 代わりに。

どうすればこの問題を解決できますか?

回答:


0

から initial-buffer-choice ドキュメンテーション:

値がnilで、 'prevent-startup-screen'がnilの場合は、   起動画面値が文字列の場合は、訪問先バッファに切り替えます。   文字列が指定するファイルまたはディレクトリ値が   関数、引数なしでそれを呼び出し、それがバッファに切り替える   戻ります。 tの場合は、 スクラッチ ’バッファ

値を文字列として設定したので、バッファが切り替わります。 文字列で指定されたファイルを訪問する

代わりに、選択したいバッファを返す関数として値を設定することができます。

(setq initial-buffer-choice (lambda () (get-buffer-create "**")))

私が使ったことに注意してください get-buffer-createバッファが存在しない場合は、渡された関数が戻ります。 nilこれは、新しいフレームを作成するときに問題を引き起こす可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.