Skip to content
Tildev0.6.1

tt commands and contexts

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.