Emacs (setq ns-pop-up-frames nil) が動作しない

Emacs (setq ns-pop-up-frames nil) が動作しない

私はUbuntu 13.10でEmacs 24.3.1を使用しています

Emacs ですべての新しいファイルを同じウィンドウで開く必要があります。

によるとEmacsWiki: 1 つのウィンドウ、 追加した

(setq pop-up-windows nil)

設定ファイルに追加しましたが、機能しませんでした。

私は試したemacs ですべてのバッファを 1 つのウィンドウで開く方法 (debian/linux/gnome) の回答の提案:

(custom-set-variables '(pop-up-frames nil))

しかし、うまくいきませんでした。

私は試した元のフレームの回答で「開く」ための emacs 変数の提案:

(setq ns-pop-up-frames nil)

しかし、それはうまくいきませんでした。

これは設定が簡単なはずですが、かなり面倒です。

あなたの助けに感謝、

アミタイ。

答え1

バージョン 24.* あたりで、この動作のカスタマイズ方法に何らかの変更があったと思います (よくわかりません)。それdisplay-buffer-alistがあなたが探しているものだと思います。

つまり、

(add-to-list 'display-buffer-alist
             '("^[^\\*].*[^\\*]$" display-buffer-same-window) t)

うまくいくかもしれません。正規表現は、バッファ名が照合されるものです (これは、ファイル名がアスタリスクで始まって終わっていないことを前提としています)。

display-bufferバッファを表示する場所を決定する のドキュメントも参照してください。そこにはsame-windowreuse-window、 などの関数がいくつかありますpop-up-{window,frame}

ちなみに、ns-*関数は OS X 用であり、Linux では何も実行されない可能性があります。

関連情報