This page lists the commands that tt adds, the key that runs each one by default, and the key contexts.
Every command can be typed on the command line: press :, type the name and its words, then Enter. A count typed before a key (5j) is the first word of the command. The default keys are in keybind.lua in the scripts folder; how to change one is on Change a key.
A key is looked up in the context of the part that has the focus, then in global. writing and dialog look in their own keys only.
| Context |
Where |
global |
Everywhere, after the context of the focus. |
sidebar |
The tree of the accounts and their folders. |
list |
The list of the messages. |
reader |
The text of a message, in a window over the whole screen. |
compose |
The window of a mail written in the editor, before it is sent. |
writing |
A line of text: the command line and the search line. Every key that is not bound there is typed. |
dialog |
A window that is open and has no context of its own. The windows below get no keys until it is closed. |
| Command |
Keys |
Meaning |
index.next |
j, Down |
Selects the next message. |
index.previous |
k, Up |
Selects the previous message. |
index.first |
gg, Home |
Selects the first message, or the one of the count. |
index.last |
G, End |
Selects the last message, or the one of the count. |
index.page-down |
Ctrl-d, PageDown |
Selects the message half a page down. |
index.page-up |
Ctrl-u, PageUp |
Selects the message half a page up. |
account.next |
none |
Selects the next account. |
account.previous |
none |
Selects the previous account. |
message.open |
l, Enter |
Opens the selected message in the reader. |
search.start |
/ |
Opens the search line at the bottom of the screen. |
search.run |
none |
Searches the messages for the words given, from the selected row; with no words it repeats the last search. Enter on the search line runs it. |
search.cache-start |
g/ |
Opens the search line for the mail cache of the open account. |
search.cache |
none |
Searches the mail cache of the open account for the words given: sender, subject and the bodies that the cache holds, in every folder. It selects the best hit, opening its folder, and n and N go through the hits. |
search.next |
n |
Selects the next match of the last search. |
search.previous |
N |
Selects the previous match of the last search. |
| Command |
Keys |
Meaning |
tree.next |
j, Down |
Selects the next row of the tree. |
tree.previous |
k, Up |
Selects the previous row of the tree. |
tree.first |
gg |
Selects the first row. |
tree.last |
G |
Selects the last row. |
tree.expand |
l, Right |
Expands the selected node, or moves to its first child. |
tree.collapse |
h, Left |
Collapses the selected node, or moves to its parent. |
tree.toggle |
Enter |
Expands or collapses the selected node. |
| Command |
Keys |
Meaning |
scroll.down |
j, Down |
Scrolls the text down by rows. |
scroll.up |
k, Up |
Scrolls the text up by rows. |
scroll.half-page-down |
Ctrl-d |
Scrolls down by half a page. |
scroll.half-page-up |
Ctrl-u |
Scrolls up by half a page. |
scroll.page-down |
Ctrl-f, PageDown |
Scrolls down by a page. |
scroll.page-up |
Ctrl-b, PageUp |
Scrolls up by a page. |
scroll.top |
gg, Home |
Scrolls to the start of the text. |
scroll.bottom |
G, End |
Scrolls to the end of the text. |
window.close |
h, q, Esc |
Closes the reader and goes back to the list. |
| Command |
Keys |
Meaning |
mail.compose |
c in list and reader |
Opens the editor on a new mail, from the account that is selected. |
mail.reply |
r in list and reader |
Opens the editor on an answer to the sender of the selected message, or to its Reply-To. |
mail.reply-all |
R in list and reader |
Opens the editor on an answer to everyone that got the selected message. |
The window of a mail that is ready (compose):
| Command |
Keys |
Meaning |
compose.send |
y |
Sends the mail in the background. |
compose.edit |
e |
Opens the editor again on the file as it was left. |
window.close |
n, Esc |
Drops the mail. |
scroll.down, scroll.up, scroll.half-page-down, scroll.half-page-up, scroll.page-down, scroll.page-up |
the keys of the reader |
Scroll what does not fit in the window. |
| Command |
Keys |
Meaning |
text.submit |
Enter |
Hands the text to whoever waits for it: the command line runs it, the search line searches. |
text.left |
Left |
Moves the cursor one character to the left. |
text.right |
Right |
Moves the cursor one character to the right. |
text.home |
Home, Ctrl-a |
Moves the cursor to the start of the line. |
text.end |
End, Ctrl-e |
Moves the cursor to the end of the line. |
text.backspace |
Backspace |
Removes the character before the cursor. |
text.delete |
Delete |
Removes the character at the cursor. |
text.clear-word |
Ctrl-w |
Removes the word before the cursor. |
text.clear-line |
Ctrl-u |
Removes everything before the cursor. |
focus.next |
Tab |
Leaves the line. |
window.close |
Esc |
Closes the window the line is in. |
| Command |
Keys |
Meaning |
commandline.start |
: |
Opens the command line at the bottom of the screen. |
focus.next |
Ctrl-w, also in dialog |
Moves the focus to the next part of the screen. |
window.close |
Esc in dialog |
Closes the window on top. |
app.quit |
ZZ |
Quits Tilde. :quit and :q do the same. |
help.show_keys |
? |
Opens a window over the whole screen with every key binding, a block for each context (global first) and a line for each key: the key, its command and its description when it has one. It scrolls and closes with the keys of the reader. A keybind.lua written before this command binds ? to help.show, a command that does not exist: the bottom bar says Unknown command. |
The commands of the tree, the reader and a line of text do nothing, and say nothing, when there is nothing to move, close, edit or scroll.
These come from Tilde and its plugins, not from tt, and also run on the command line.
| Command |
When |
Meaning |
scripting.reload |
[scripting] is on, the default |
Reloads the Lua scripts; scripts_reloaded follows. |
cache.reset <account> |
[cache] is on |
Deletes the mail cache of an account. |
pgp.keys, pgp.import, pgp.export, pgp.delete, pgp.fetch, pgp.search, pgp.refresh |
[pgp] is on |
Manage the OpenPGP keyring. See OpenPGP. |
The commands of tt are in ScreenCommands.cs, ListCommands.cs, SearchCommands.cs and TuiHost.cs.