Window Management

Opening Windows

You can use :split (or its vertical variant :vsplit) to split the current window. You can optionally provide a room or user to open that room instead. For example:

:vsplit #alias:example.com

Will vertically split the current window and open #alias:example.com in the new window.

If you only need to duplicate the window without changing its content, you can use <C-W>s and <C-W>v to horizontally and vertically split the current window.

By default, the split commands will open the new window so that it is visually before the current one, but you can alter this using :belowright (as opposed to the default :aboveleft behaviour). Similarly, you can also change the axis of a split using the :vertical and :horizontal commands.

Several of the commands within iamb change the displayed content in the current window. You can force them to instead open a new window using the above commands. For example, to open the list of rooms below the current window:

:bel rooms

Or, to show a room’s members to the left side of the room instead of the right:

:abo hor members

Switching Windows

You can switch between between neighboring windows using the following keybindings:

  • <C-W>h will move to the window left of the current one
  • <C-W>j will move to the window below the current one
  • <C-W>k will move to the window above the current one
  • <C-W>l will move to the window right of the current one

If you want to move to previous content in the window, you can navigate through the jumplist using:

  • <C-O> to move backwards through the jumplist
  • <C-I> to move forward through the jumplist

You can provide a count to all of the above keybindings to repeat them multiple times.

Organizing Windows

You can reposition open windows using the following keybindings:

  • <C-W>H will move the current window to the left side of the screen, and use the full screen height
  • <C-W>J will move the current window to the bottom of the screen, and use the full screen width
  • <C-W>K will move the current window to the top of the screen, and use the full screen width
  • <C-W>L will move the current window to the right side of the screen, and use the full screen height

Sometimes, you may find yourself wanting to make a window occupy the whole screen without closing any of the other windows. You can:

  • Use <C-W>z to zoom in and out of a window without changing your current layout
  • Use <C-W>T to extract the window into its own tab

Resizing Windows

You can resize windows using the following keybindings:

  • <C-W>- will decrease the current window height by the specified count
  • <C-W>+ will increase the current window height by the specified count
  • <C-W>< will decrease the current window width by the specified count
  • <C-W>> will increase the current window width by the specified count
  • <C-W>= will attempt to resize all windows in the same row or column to have equal height and width

If your window manager or terminal is capturing <C-W>, you can use the :resize command to change window height. For example, :resize -10 will decrease the height by ten, and :resize +5 will increase it by 5.

To change the window width, use :vertical resize instead.

Closing Windows

You can close a window using <C-W>q, or close all windows but the current one using <C-W>o. When provided with a count, these keybindings will operate against that window position instead of the currently focused one.

If you prefer using commands, you can use :quit to close the current window, or :only to close all windows but the current one.