Skip to content

Layouts and Workspacesλ︎

🌐 Layouts provide a way to group buffers for a project or any arbitrary buffer grouping you wish.

Workspaces define window arrangements within a particular layout.

Working with buffers in a layoutλ︎

Space b b lists buffers for the current layout, quickly switching between them.

Space b B will show all buffers.

Space Tab toggles between the previous buffer and current buffer, regardless of layout the previous buffer is in.

Constrain last buffer toggle to the curren layout by adding a configuration to the dotspacemacs-configuration-layers Spacemacs user configuration

(spacemacs-layouts :variables 
                   spacemacs-layouts-restrict-spc-tab t)

Managing Layoutsλ︎

Space l Tab toggles to the previous layout, providing a quick way to jump between two projects actively being worked on.

Space l enters the layout transient state

Spacemacs Layouts - transient state Spacemacs Layouts - transient state

Space l l lists the current layouts with a helm prompt to narrow the list. Entering a new name will prompt to create a new layout (perspective)

The current layout name appears on the far left of the mode-line.

Spacemacs layers - practicalli spacemacs Spacemacs layers - practicalli spacemacs

Space l s saves all layouts to a file

Space l L loads a layout from a file. Layouts are kept when restarting Spacemacs with

Space q r and can be configured to auto-resume when starting Emacs.

dotspacemacs-auto-resume-layouts t

Space l x close current layout and its buffers

Space l d deletes the layout and keeps the buffers available

Space l ? shows the layouts help menu

Spacemacs Layouts - transient state Spacemacs Layouts - transient state

Global layoutλ︎

Space b b in the default layout shows all open buffers as this layout has global scope.

This layout is useful to check if there are unsaved files or for closing unwanted or temporary buffers.

Meta+Space in helm popup opens helm transient state. t will mark (tag) an item in the list, T will mark all items. Meta+D will close all marked buffers.

Workspacesλ︎

Workspaces define multiple window arrangements in a given layout.

The active workspace number is placed before the window number, i.e ➊|➍, the fourth window of the first workspace. A new layout comes with a default workspace, ➊|➊. Switching to a workspace that does not exist in the current layout will create a new one.

Space l w R gives a name to the current workspace.

Pressing a workspace number will activate it or create a new one. Ctrl-<number> will preview a workspace.

Tab makes the previous workspace activate.

Space l w ? to toggle the full help.

Key Binding Description
g t go to next workspace
g T go to previous workspace
Space b W go to workspace and window by buffer

Referencesλ︎

🌐 spacemacs-layout layer on GitHub

🌐 develop.spacemacs.org layer description

🌐 Spacemacs documentation

🌐 Eyebrowse GitHub repository