起動時にデフォルトウィンドウを設定する方法


18

私はEmacsのIを開くたびに実行して3つの窓を設定する傾向があるC-x 3split-window-right当時)とC-x2split-window-below)。その後、各ウィンドウに切り替えて、編集するファイルを開く必要があります。

これを自動的に行われるように設定するにはどうすればよいですか?

Emacsに前回の使用から同じ画面構成(ウィンドウとファイル)を回復させる方法はありますか?

回答:


13

Emacs 24.4以降、desktop-save-modeを使用できます。長い間Emacsの一部でしたが、ウィンドウレイアウトはバージョン24.4以降にのみ保存および復元されます。

initファイルに次の行を追加してください:

(desktop-save-mode 1)

3
これにより、前のセッションからファイルが復元されますが、ウィンドウレイアウトは復元されません。
itsjeyd 14年

1
いいえ、テストしました。 Emacsマニュアル:Emacsデスクトップ(バッファー、ファイル名、メジャーモード、バッファー 位置など)を保存すると、その後のEmacsセッションは保存されたデスクトップを再読み込みします。
ビリドフアレクサンダー14年

3
「バッファ位置」とは、指定されたバッファ内のポイント(カーソル)の位置を指します。はい、これはで復元されdesktop-save-modeます。ウィンドウレイアウトとは、現在表示されているウィンドウの数と配置方法を指します。desktop-save-modeこのレイアウトは保持されません。
itsjeyd 14年

3
はい、「ウィンドウレイアウト」と「バッファ位置」は異なるものです。あなたは正しいです。しかし、私のウィンドウレイアウトは復元されました。ウィンドウレイアウトの保存がemacs-snapshotに追加されたようです。
ヴィリドフアレクサンダー14年

1
@ pors、Emacs(24.4以降)をターミナルモードで使用している場合はそうではありません。ウィンドウの構成は保存/復元されません。
skyork

7

initファイルにその関数に近い関数を記述します。おそらく、ニーズに合わせて少し変更する必要があります。

;; layout definition
(defun my-startup-layout ()
 (interactive)
 (delete-other-windows)
 (split-window-horizontally) ;; -> |
 (next-multiframe-window)
 (find-file "~/.emacs.d/init.el")
 (split-window-vertically) ;;  -> --
 (next-multiframe-window)
 (find-file "~/.emacs.d/init_settings.el")
 (next-multiframe-window)
 (dired "~")
)

;; execute the layout
(my-startup-layout )

Emacsに最後の使用から同じ画面構成(ウィンドウとファイル)を回復させる方法はありますか?

あなたはを見ている必要があり、レイアウトのパッケージ


6

workgroups2デスクトップの管理に使用できます。GitHubのREADMEから:

WorkgroupsはEmacsのセッションマネージャーです。

  • 開いているすべてのバッファ、その場所、サイズをディスクに保存して、後で復元します
  • 複数のワークスペースを作成できます

org-agenda、shell、magit-status、helpなどのバッファーを復元することもできます。

あなたが持っている場合はMELPAのリポジトリが有効になって、あなたが経由でこのパッケージをインストールすることができますM-x package-install RET workgroups2 RET

基本的なセットアップは次のとおりです。

(require 'workgroups2)
(workgroups-mode 1) ; This should go at the end of your init file

このコードを初期化ファイルに追加した後に初めてEmacsを再起動workgroups2すると、ワークグループが自動的に作成されます。*Messages*バッファで次の情報を確認することで、これが成功したことを確認できます。

Workgroups Mode: on
Switched: First workgroup
Created: First workgroup  ( -<{ 0: First workgroup }>- )

この時点から、Emacsは終了時にウィンドウとファイルの現在の構成を自動的に保存し、次回起動時に復元します。


2

私はsanityincの.emacs.dをモデルにしたものを使用しています。それは使用していますdesktop-save-modeし、また、使用するスマート十分にあるframe-restore古いバージョンをemacsに。fromのreadme frame-restoreからpackage-list-packages

Emacsフレームのパラメーターを保存および復元します。

frame-restore' in yourinit.el 'を呼び出すだけです:

(フレーム復元モード)

r113242以降、組み込みのデスクトップ保存モードではフレームが復元されることに注意してください。このリビジョンより後のEmacsスナップショットビルドを使用している場合は、代わりにデスクトップ保存モードを使用することを 強くお勧めします。

(デスクトップ保存モード)

デスクトップ復元モードでフレームを復元できるEmacsビルドで有効にすると、フレーム復元モードで太字の警告が表示されます。

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