Messages
Sending
While the message bar of a room is selected, you can type a message that you
wish to send. When it’s complete, you can send it by pressing the <Enter>
key from either Normal or Insert mode.
If you need to type a multiline message, you can start a line by typing
^V^J
. You can also use theO
ando
keys to insert a blank line before or after the current line respectively.
From within the message bar, you can complete Matrix usernames, room aliases
and identifiers, and Emoji shortcodes (e.g., :heart:
) by using ^N
and ^P
to start cycling forwards or backwards through the list of possible
completions.
The :upload
command allows you to specify a file to send to the currently
focused room:
:upload "/home/user/Documents/Shared Document.pdf"
Clipboard images can be uploaded by pasting with p
or P
from the "+
and
"*
registers, and following the confirmation dialog. On macOS and Windows
they contain the same contents, but they differ on Linux and other *nix
systems running X11 or Wayland, where:
"+
contains the CLIPBOARD selection, usually set with^C
or by selecting “Copy Image” in a menu dialog."*
contains the PRIMARY selection, usually contains last selected text) on X11.
So, for example, if you had copied an image from a web browser on Linux
(placing it into the CLIPBOARD selection), you could paste it into iamb
with
"+p
. Or, if you instead selected some text with your cursor (placing it into
the PRIMARY selection), then you could paste it with "*p
.
Message Scrollback
You can scroll through messages from the message bar using the following keys:
^E
/^Y
to scroll downwards and upwards respectively a line at a time^D
/^U
to scroll downwards and upwards respectively by half the window height^F
/^B
to scroll downwards and upwards respectively by the window height
If you want to use movement keys to select individual messages, you can toggle
focus between the message bar and the scrollback by pressing ^Wm
.
The plaintext content of messages can be copied to registers using yank
keybindings like yy
or Y
, and marked with m{a-z}
. Marked messages can
then be returned to via '{a-z}
.
You can search the plaintext content of messages using ?
and /
for reverse
and forward search respectively. The n
and N
keys can be used to jump
between results.
Replying To A Message
If you select a message in the scrollback, you can reply to it using the
:reply
command. This will refocus the message bar, where you can type out
your reply. You can then send it the same way that you would a
normal message.
If you change your mind, or select the wrong message to reply to, you can use
:cancel
to undo your :reply
.
Editing Messages
Once a message has been sent, you might find that you need to amend it, to fix
typos or correct information. You can select the message and run the :edit
command. This will update the text box to include the message’s original body
for you to edit.
Once you’ve finished correcting the message, you can send it just like other messages to update the original.
Reacting To A Message
If you want to react to a message with an Emoji, you can select it in the
scrollback, and then use the :react
command. For example:
:react ❤️
As a convenience, you can use the GitHub Emoji shortcodes to refer to them instead. For example, we could have also written the above as:
:react heart
If you want to remove a reaction, you can do so with the :unreact
command. By
default, this will remove all your reactions from the specified message, but
you can give a name if you’ve made any that you want to keep:
:unreact heart
Redacting A Message
If you need to remove a message from a room, you can do so using the :redact
command on the message. This command optionally takes a single argument giving
the reason for removing it. For example:
:redact "Message violates room rules"
If you’re removing a message because it contains secrets (e.g. passwords, authentication tokens, etc.), make sure to rotate them: redacting a message prevents people from seeing it in the future, but users in the room at the time it was originally sent may have already seen it, and it may still live in the room logs of some clients or bots.
Downloading Attachments
If you select an attachment in the scrollback, you can download it using the
:download
command:
- When given no arguments, iamb will download the attachment to the
configured
downloads
directory - When given a directory as an argument, the file will be saved there
- Otherwise, the file file will be saved to the given path
If there is already a file of the same name, iamb will not overwrite it.
You can use :download!
to replace the file.
To open the file after downloading the file, use the :open
command instead.