3

C-x b( )を押すido-switch-bufferと、見たくないバッファがたくさん表示されます。バッファ履歴をクリアしたいのですが。

この式を(を使用してM-x eval-buffer)評価してみました:

(setq ido-buffer-history '())

そしてそれは発効した。変数をで見たのでわかりますC-h v ido-buffer-history。ただし、を押しても変更がミニバッファに反映されませんでしたC-x b

他に何をすべきですか?クリアする必要のある他の変数はありますか?

更新:私が見ている「余分な」バッファはアクティブではありません。興味深いことに、C-x C-bido-fallback-command)は私が期待することを正確に示しています。私が興味を持っているのはバッファ履歴です(詳細については、buffer-name-historyおよびido-buffer-history変数を参照してください)。

注:おそらく、ido-ubiquitousインストールされているemacs-starter-kitを使用していることに言及すると役立つでしょう。

4

3 に答える 3

5

クリスのおかげで、私はidoの仮想バッファについて学びました。ido-use-virtual-buffers完全に無効にしたくありません。必要に応じて履歴をクリアしたい。これらのコマンドはその目標を達成します。

(setq ido-virtual-buffers '())
(setq recentf-list '())

ido-virtual-buffers(クリアするだけでは不十分であることに注意してくださいrecentf-list。また、クリアする必要があります。)

于 2013-01-04T06:59:18.877 に答える
5

init.elに以下を追加します。(setq ido-use-virtual-buffers nil)


後世のために:

これらはすべて、セッション内のアクティブなバッファです。次のコマンドでそれらをクリーンアップできます。

  • M-x clean-buffer-listしばらく使用していないクリーンなバッファをすべて閉じます
  • M-x kill-some-buffers各バッファにアクセスして、バッファを閉じるかどうかを尋ねます
  • M-x kill-matching-buffersバッファ名に対する正規表現の入力を求められますが、空白のままにすることができます

編集:あなたが得る退屈な古いバッファメニューもありますC-x C-b。このメニューでは、d各バッファに削除のマークが付けられるまで押し続けてから、を押しxてコミットします。

于 2013-01-04T06:05:20.807 に答える
1

このエントリはemacswikiで見つかりました。

参照しているバッファ履歴を格納する変数は次のとおりです。buffer-name-history

実行M-x describe-variable RET buffer-name-history RETすると、実際には存在しなくなったすべてのデッドバッファが表示されます。ウィキでは、バッファを強制終了するたびにリストからバッファ名を削除するフックを作成することをお勧めします。

今やりました:M-x eval-expression RET (setq buffer-name-history '()) RET

これはうまくいったようです。次にCxbを実行したときは、実際のバッファーを循環するだけでした。

とはいえ、変数をnilに設定すると、機能が完全に無効になるようです(さらにバッファーを開くと、変数が再入力されないようです)。

于 2015-10-08T21:58:11.727 に答える