Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

iamb is a terminal-based client for Matrix for the Vim addict. You can edit messages, navigate windows and manage tabs in the same ways that your fingers are used to from your favorite text editor!

Features

  • Threads, spaces, E2EE, and read receipts
  • Image previews in terminals that support it (sixels, Kitty, and iTerm2), or using pixelated blocks for those that don’t
  • Notifications via terminal bell or desktop environment
  • Creating, joining, and leaving rooms
  • Sending and accepting room invitations
  • Editing, redacting, and reacting to messages
  • Custom keybindings
  • Multiple profiles

Reading This Documentation

This documentation indicates keybindings using the following conventions:

  • Named keys are shown between angle brackets; for example, <Space> is the space bar.
  • Modifiers like the control key or shift are shown with their combining key between brackets; for example, <C-W> is Ctrl-W and <S-Tab> is Shift+Tab.
  • Sequences of keys to be pressed are shown in the order to press them; for example, <C-W>gf indicates that you should type Ctrl-W, then g, and finally f.

Contributing

iamb is free and open source. You can find the source code, report bugs and request features on GitHub.

If you find a mistake in this documentation, you can report it or submit a pull request at the iamb.chat GitHub repository.

Most of the Vim emulation in iamb comes from the modalkit crate. If you find a bug in text editing, window management, or need a Vim keybinding added, you can file an issue there.

Join us on Matrix!

Please feel free to join us in:

Both of these are in the #iamb:0x.badd.cafe space.

Release History

v0.0.11 (2026-01-19)

Highlights:

  • Add an "invite" field to the room sorting settings (docs)
  • Add :space commands for updating space hierarchy (docs)
  • New mouse configuration options to enable mouse scrolling (docs)
  • Add :replied to go to the message the selected message replied to (docs)
  • Add :forget to forget all left rooms (docs)
  • Indicate encryption state of room in messagebar (docs)
  • Show state events in the timeline (docs)
  • Support per-thread receipts (docs)
  • Update to Rust Matrix SDK v0.14.0
  • See Release Notes for the full list of changes!

v0.0.10 (2024-08-21)

Highlights:

  • Add a :room dm set command to mark rooms as DMs (docs)
  • Set per-room notification levels (docs)
  • Command to mark all rooms read (docs)
  • Message slash commands (docs)
  • Support for managing room aliases (docs)
  • Support for kicking users from rooms (docs)
  • See Release Notes for the full list of changes!

v0.0.9 (2024-03-29)

Highlights:

  • Image previews for terminals w/ support (docs)
  • Support for threads (docs)
  • Unread indicators (docs)
  • Support for notifications via terminal bell or desktop environment (docs)
  • Added a :editor command for editing messages using $EDITOR (docs)
  • Mapping custom keybindings to macros (docs)
  • Custom sorting for room and member lists (docs)
  • Import and exporting room keys (docs)
  • Switch to using TOML for configuration
  • Update to Rust Matrix SDK v0.7.1
  • See Release Notes for the full list of changes!

v0.0.8 (2023-07-08)

Highlights:

  • Add a :leave command to leave rooms (docs)
  • New username_display configuration option for specifying how usernames are displayed (docs)
  • New open_command configuration option for specifying an external program for opening downloads (docs)
  • Restore layout on restart (docs)
  • Update to Rust Matrix SDK v0.6.0
  • See Release Notes for the full list of changes!

License

iamb and its documentation are released under the Apache License, Version 2.0.