Emacsで現在開いているセッションとバッファを保存するにはどうすればよいですか?
(desktop-save-mode 1)
そこにバッファを開いた場合にのみ保存されます
2 に答える
ここで詳細を読むことができます: http://tsdh.wordpress.com/2006/11/26/conveniently-save-and-restore-frame-configuration/
emacs では、各フレームを複数のウィンドウに分割できます。このような構成をウィンドウ構成と呼びます。すべてのフレームのウィンドウ構成がフレーム構成になります。このようなフレーム構成を 1 つのキーだけで保存および復元できる関数を次に示します。まず、フレーム構成を保存するためにデフォルトで使用されるレジスタを定義します。
(defparameter th-frame-config-register ?° "The register which is used for storing and restoring frame configurations by `th-save-frame-configuration' and `th-jump-to-register'.")
次に保存機能です。接頭辞 arg を付けて呼び出すと、別のレジスタを選択できます。
(defun th-save-frame-configuration (arg) "Stores the current frame configuration in register `th-frame-config-register'. If a prefix argument is given, you can choose which register to use." (interactive "P") (let ((register (if arg (read-char "Which register? ") th-frame-config-register))) (frame-configuration-to-register register) (message "Frame configuration saved in register '%c'." register)))
ここで、フレーム構成を復元する関数が必要です。デフォルトでは th-frame-config-register を使用しますが、接頭辞 arg を使用すると、任意のレジスタを選択できます。(この機能は、フレーム構成の復元だけでなく、レジスタへのジャンプで実行できるすべての操作に使用できます…)
(defun th-jump-to-register (arg) "Jumps to register `th-frame-config-register'. If a prefix argument is given, you can choose which register to jump to." (interactive "P") (let ((register (if arg (read-char "Which register? ") th-frame-config-register))) (jump-to-register register) (message "Jumped to register '%c'." register)))
OK、最後にやらなければならないことは、いくつかのキーバインディングを作成することです. 私が選んだF5のはF6:
(global-set-key (kbd "<F5>") 'th-save-frame-configuration) (global-set-key (kbd "<F6>") 'th-jump-to-register)
複雑なウィンドウ/フレーム構成がある場合はいつでも、F5 を押して保存し、F6 を押して復元します。
部分的な答え: すべてのバッファを保存するには、save-some-buffers を実行し (たとえば、[ファイル] メニューの [コマンドを実行] またはより便利には Mx キーの組み合わせを使用)、"!" と応答します。最初のクエリに (つまり、保存して再度質問しないでください)。そのようなプロンプトが表示されない場合は、バッファを保存する必要はありません。
「オープン セッション」に関しては、これがウィンドウ レイアウト、分割位置などを意味する場合、トリプリーが指摘する質問が役立ちます。しかし、これは通常のエディターでの「すべて保存」コマンドよりも多くのことを行っています。