IAMB(1)

NAME
iamb - a terminal-based client for Matrix for the Vim addict

SYNOPSIS
iamb [-hV] [-P profile] [-C dir]

DESCRIPTION
iamb is a client for the Matrix communication protocol. It provides a terminal user interface with familiar Vim keybindings, and includes support for multiple profiles, threads, spaces, notifications, reactions, custom keybindings, and more.

This manual page includes a quick rundown of the available commands in iamb. For example usage and a full description of each one and its arguments, please refer to the full documentation online.

OPTIONS

-P, - -profile
    The profile to start iamb with. If this flag is not specified, then it defaults to using default_profile (see iamb(5)).

-C, - -config-directory
    Path to the directory the configuration file is located in.

-h, - -help
    Show the help text and quit.

-V, - -version
    Show the current iamb version and quit.

GENERAL COMMANDS

:chats
    View a list of joined rooms and direct messages.

:dms
    View a list of direct messages.

:logout [user id]
    Log out of iamb.

:rooms
    View a list of joined rooms.

:spaces
    View a list of joined spaces.

:unreads
    View a list of unread rooms.

:unreads clear
    Mark all rooms as read.

:welcome
    View the startup Welcome window.

:forget
    Remove all left rooms from the internal database.

E2EE COMMANDS

:keys export [path] [passphrase]
    Export and encrypt keys to path.

:keys import [path] [passphrase]
    Import and decrypt keys from path.

:verify
    View a list of ongoing E2EE verifications.

:verify accept [key]
    Accept a verification request.

:verify cancel [key]
    Cancel an in-progress verification.

:verify confirm [key]
    Confirm an in-progress verification.

:verify mismatch [key]
    Reject an in-progress verification due to mismatched Emoji.

:verify request [user id]
    Request a new verification with the specified user.

MESSAGE COMMANDS

:download [path]
    Download an attachment from the selected message and save it to the optional path.

:open [path]
    Download and then open an attachment, or open a link in a message.

:edit
    Edit the selected message.

:editor
    Open an external $EDITOR to compose a message.

:react [shortcode]
    React to the selected message with an Emoji.

:unreact [shortcode]
    Remove your reaction from the selected message. When no arguments are given, remove all of your reactions from the message.

:redact [reason]
    Redact the selected message with the optional reason.

:reply
    Reply to the selected message.

:cancel
    Cancel the currently drafted message including replies.

:replied
    Go to the message the current message replied to.

:upload [path]
    Upload an attachment and send it to the currently selected room.

ROOM COMMANDS

:create [arguments]
    Create a new room. Arguments can be “++alias=[alias]”, “++public”, “++space”, and “++encrypted”.

:invite accept
    Accept an invitation to the currently focused room.

:invite reject
    Reject an invitation to the currently focused room.

:invite send [user]
    Send an invitation to a user to join the currently focused room.

:join [room]
    Join a room or open it if you are already joined.

:leave
    Leave the currently focused room.

:members
    View a list of members of the currently focused room.

:room name set [name]
    Set the name of the currently focused room.

:room name unset
    Unset the name of the currently focused room.

:room dm set
    Mark the currently focused room as a direct message.

:room dm unset
    Mark the currently focused room as a normal room.

:room notify set [level]
    Set a notification level for the currently focused room. Valid levels are “mute”, “mentions”, “keywords”, and “all”. Note that “mentions” and “keywords” are aliases for the same behaviour.

:room notify unset
    Unset any room-level notification configuration.

:room notify show
    Show the current room-level notification configuration. If the room is using the account-level default, then this will print “default”.

:room tag set [tag]
    Add a tag to the currently focused room.

:room tag unset [tag]
    Remove a tag from the currently focused room.

:room topic set [topic]
    Set the topic of the currently focused room.

:room topic unset
    Unset the topic of the currently focused room.

:room topic show
    Show the topic of the currently focused room.

:room alias set [alias]
    Create and point the given alias to the room.

:room alias unset [alias]
    Delete the provided alias from the room's alternative alias list.

:room alias show
    Show alternative aliases to the room, if any are set.

:room id show
    Show the Matrix identifier for the room.

:room canon set [alias]
    Set the room's canonical alias to the one provided, and make the previous one an alternative alias.

:room canon unset [alias]
    Delete the room's canonical alias.

:room canon show
    Show the room's canonical alias, if any is set.

:room ban [user] [reason]
    Ban a user from this room with an optional reason.

:room unban [user] [reason]
    Unban a user from this room with an optional reason.

:room kick [user] [reason]
    Kick a user from this room with an optional reason.

SPACE COMMANDS

:space child set [room_id] [arguments]
    Add a room to the currently focused space. “++suggested” marks the room as a suggested child. “++order=[string]” specifies a string by which children are lexicographically ordered.

:space child remove
    Remove the selected room from the currently focused space.

WINDOW COMMANDS

:horizontal [cmd]
    Change the behaviour of the given command to be horizontal.

:leftabove [cmd]
    Change the behaviour of the given command to open before the current window.

:only, :on
    Quit all but one window in the current tab.

:quit, :q
    Quit a window.

:quitall, :qa
    Quit all windows in the current tab.

:resize
    Resize a window.

:rightbelow [cmd]
    Change the behaviour of the given command to open after the current window.

:split, :sp
    Horizontally split a window.

:vertical [cmd]
    Change the layout of the following command to be vertical.

:vsplit, :vsp
    Vertically split a window.

TAB COMMANDS

:tab [cmd]
    Run a command that opens a window in a new tab.

:tabclose, :tabc
    Close a tab.

:tabedit [room], :tabe
    Open a room in a new tab.

:tabrewind, :tabr
    Go to the first tab.

:tablast, :tabl
    Go to the last tab.

:tabnext, :tabn
    Go to the next tab.

:tabonly, :tabo
    Close all but one tab.

:tabprevious, :tabp
    Go to the preview tab.

SLASH COMMANDS

/markdown, /md
    Interpret the message body as Markdown markup. This is the default behaviour.

/html, /h
    Send the message body as literal HTML.

/plaintext, /plain, /p
    Do not interpret any markup in the message body and send it as it is.

/me Send an emote message.

/confetti
    Produces no effect in iamb, but will display confetti in Matrix clients that support doing so.

/fireworks
    Produces no effect in iamb, but will display fireworks in Matrix clients that support doing so.

/hearts
    Produces no effect in iamb, but will display floating hearts in Matrix clients that support doing so.

/rainfall
    Produces no effect in iamb, but will display rainfall in Matrix clients that support doing so.

/snowfall
    Produces no effect in iamb, but will display snowfall in Matrix clients that support doing so.

/spaceinvaders
    Produces no effect in iamb, but will display aliens from Space Invaders in Matrix clients that support doing so.

EXAMPLES

  Example 1: Starting with a specific profile
To start with a profile named personal instead of the default_profile value:

    $ iamb -P personal

  Example 2: Using an alternate configuration directory
By default, iamb will use the XDG directories, but you may sometimes want to store your configuration elsewhere.

    $ iamb -C ~/src/iamb-dev/dev-config/

REPORTING BUGS
Please report bugs in iamb or its manual pages at https://github.com/ulyssa/iamb/issues

SEE ALSO
iamb(5)

Extended documentation is available online at https://iamb.chat