Smos

A comprehensive self-management system

Default Keybindings

These are the default keybindings of the Smos TUI.

They are listed (and can only be activated) per context.

Note that they can all be reconfigured.

Also note that you can browse the keybindings that you have currently configured from within Smos using the selectHelp action which can be activated using ? or M-? by default.

File

Empty

Key combination Action name Description
e E Meta+e startEntryFromEmptyAndSelectHeader Start a first entry in an empty Smos File and select its header
co forestClockOutEverywhereInAllFiles Clock out everywhere in all files

Entry

Key combination Action name Description
a A entrySelectHeaderAtEnd Select the current Entry's header and select the end
i I entrySelectHeaderAtStart Select the current Entry's header and select the start
d forestDeleteCurrentEntry Delete the current entry
D forestDeleteCurrentSubTree Delete the current entry and all entries below
e forestInsertEntryAfterAndSelectHeader Insert an entry after the currently selected entry, on the same level, and select its header
E forestInsertEntryBelowAtEndAndSelectHeader Insert an entry below the currently selected entry at the start of the list of child nodes and select its header
j <Down> forestMoveDown Move the current cursor down to the previous entry in the entry forest
h <Left> forestMoveLeft Move the current cursor to the parent entry in the entry forest
l <Right> forestMoveRight Move the current cursor to the first child of the current entry in the entry forest
G forestMoveToLast Move the current cursor down to the last entry in the entry forest
k <Up> forestMoveUp Move the current cursor up to the previous entry in the entry forest
w saveFile Save the current file
Meta+l forestDemoteEntry Demotes the current entry
Meta+L forestDemoteSubTree Demotes the current sub tree
Meta+e forestInsertEntryBelowAtStartAndSelectHeader Insert an entry below the currently selected entry at the end of the list of child nodes and select its header
Meta+h forestPromoteEntry Promotes the current entry
Meta+H forestPromoteSubTree Promotes the current sub tree
Meta+j Meta+J forestSwapDown Swap the current and the next entry on the same level.
Meta+k Meta+K forestSwapUp Swap the current and the previous entry on the same level.
<tab> forestToggleCollapse Toggle collapsing the current sub forest
<Enter> entrySelectContents Select the current Entry's contents at the end
pi entrySelectProperties Select the current Entry's properties
ga entrySelectTagsFromBack Select the current Entry's tags from back
gi entrySelectTagsFromStart Select the current Entry's tags
tc entrySetTodoState_CANCELLED Set the given TODO state of the selected current entry to CANCELLED
td entrySetTodoState_DONE Set the given TODO state of the selected current entry to DONE
tf entrySetTodoState_FAILED Set the given TODO state of the selected current entry to FAILED
tn entrySetTodoState_NEXT Set the given TODO state of the selected current entry to NEXT
tr entrySetTodoState_READY Set the given TODO state of the selected current entry to READY
ts entrySetTodoState_STARTED Set the given TODO state of the selected current entry to STARTED
tt entrySetTodoState_TODO Set the given TODO state of the selected current entry to TODO
tw entrySetTodoState_WAITING Set the given TODO state of the selected current entry to WAITING
co forestClockOutEverywhereInAllFiles Clock out everywhere in all files
ci forestClockOutEverywhereInAllFilesAndClockInHere Clock out everywhere in all files and clock in at the current entry
gg forestMoveToFirst Move the current cursor up to the first entry in the entry forest
<BackTab> ze forestToggleCollapseEntireEntry Toggle the hiding of the current entire entry
zc forestToggleCollapseEntryContents Toggle the hiding of the contents of the current entry
zh forestToggleCollapseEntryHistory Toggle the hiding of the history of the current entry
zl forestToggleCollapseEntryLogbook Toggle the hiding of the logbook of the current entry
Meta+<tab> forestToggleCollapseRecursively Toggle collapsing the current sub forest recursively
pb propertiesEditProperty_brainpower Start editing a property with the given name, create it if it does not exist yet
pc propertiesEditProperty_client Start editing a property with the given name, create it if it does not exist yet
pt propertiesEditProperty_timewindow Start editing a property with the given name, create it if it does not exist yet
Tc TC subtreeSetTodoState_CANCELLED Set the given TODO state on all of the entries in the current subtree to CANCELLED
Td TD subtreeSetTodoState_DONE Set the given TODO state on all of the entries in the current subtree to DONE
Tf TF subtreeSetTodoState_FAILED Set the given TODO state on all of the entries in the current subtree to FAILED
Tn TN subtreeSetTodoState_NEXT Set the given TODO state on all of the entries in the current subtree to NEXT
Tr TR subtreeSetTodoState_READY Set the given TODO state on all of the entries in the current subtree to READY
Ts TS subtreeSetTodoState_STARTED Set the given TODO state on all of the entries in the current subtree to STARTED
Tt TT subtreeSetTodoState_TODO Set the given TODO state on all of the entries in the current subtree to TODO
Tw TW subtreeSetTodoState_WAITING Set the given TODO state on all of the entries in the current subtree to WAITING
gc tagsToggle_code Toggle the code tag
ge tagsToggle_external Toggle the external tag
gh tagsToggle_home Toggle the home tag
gp tagsToggle_power Toggle the power tag
gt tagsToggle_toast Toggle the toast tag
gw tagsToggle_work Toggle the work tag
sb timestampsSelect_BEGIN Select a timestamp for name BEGIN
sd timestampsSelect_DEADLINE Select a timestamp for name DEADLINE
se timestampsSelect_END Select a timestamp for name END
ss timestampsSelect_SCHEDULED Select a timestamp for name SCHEDULED
Meta+<Enter> entrySelectContentsAtStart Select the current Entry's contents at the start
t<space> entryUnsetTodoState Unset the TODO state of the selected current entry
T<space> subtreeUnsetTodoState Unset the TODO state on all of the entries in the current subtree
gof tagsToggle_offline Toggle the offline tag
gon tagsToggle_online Toggle the online tag
<space>nw convDoneAndWaitForResponse Mark the current task as 'Done', add a new entry called 'Waiting for a response from ' WAITINg entry with the header selected at the end.
<space>ce convNewEntryAndClockIn Create a new entry and clock in immediately
<space>rp convRepinged Mark the current task as 'done', add a new entry called 'Ping again' and add a new WAITING entry below that, that duplicates the original entry.
<space>rw convRespondedButStillWaiting Mark the current task as 'done' and add a new entry below that duplicates the original entry.

Header

Key combination Action name Description
Meta+l forestDemoteEntry Demotes the current entry
Meta+L forestDemoteSubTree Demotes the current sub tree
Meta+h forestPromoteEntry Promotes the current entry
Meta+H forestPromoteSubTree Promotes the current sub tree
Meta+j forestSwapDown Swap the current and the next entry on the same level.
Meta+k forestSwapUp Swap the current and the previous entry on the same level.
<any char> headerInsert Insert a character into the header in front of the cursor
<End> Ctrl+e headerMoveToEnd Move to the end of the header
<Home> Ctrl+a headerMoveToStart Move to the start of the header
<Enter> entrySelectWhole Select the whole current Entry
<Del> headerDelete Remove a character from the header
<Left> headerMoveLeft Move left in the header
<Right> headerMoveRight Move right in the header
<BS> headerRemove Remove a character from the header

Contents

Key combination Action name Description
<any char> contentsInsert Insert a character into the contents in front of the cursor
<End> Ctrl+e contentsMoveToEndOfLine Move to the of the current line in the contents
<Home> Ctrl+a contentsMoveToStartOfLine Move to the start of the current line in the contents
Meta+l forestDemoteEntry Demotes the current entry
Meta+L forestDemoteSubTree Demotes the current sub tree
Meta+h forestPromoteEntry Promotes the current entry
Meta+H forestPromoteSubTree Promotes the current sub tree
Meta+j forestSwapDown Swap the current and the next entry on the same level.
Meta+k forestSwapUp Swap the current and the previous entry on the same level.
<Del> contentsDelete Remove a character from the contents
<Enter> contentsInsertNewline Insert a newline into the contents in front of the cursor
<Down> contentsMoveDown Move down in the contents
<Left> contentsMoveLeft Move left in the contents
<Right> contentsMoveRight Move right in the contents
<Up> contentsMoveUp Move up in the contents
<BS> contentsRemove Remove a character from the contents

Timestamps

Key combination Action name Description
<any char> timestampsInsert Insert a character into the current timestamp cursor, whether that be the name or the timestamp itself
<tab> timestampsToggle Switch between selecting the timestamp name or date
<Enter> entrySelectWhole Select the whole current Entry
<Del> timestampsDelete Delete one character in the current timestamps cursor
<Left> timestampsMoveLeft Move one character to the left in the current timestamps cursor
<Right> timestampsMoveRight Move one character to the right in the current timestamps cursor
<BS> timestampsRemove Remove one character in the current timestamps cursor

Properties

Key combination Action name Description
Meta+j Meta+<Down> propertiesAppendNewProperty Append a new property before the currently selected property
<any char> propertiesInsert Insert a character at the cursor select the space after it
Meta+k Meta+<Up> propertiesInsertNewProperty Insert a new property before the currently selected property
<tab> propertiesToggleSelected Switch the properties cursor selection between the property name and value
<Enter> entrySelectWhole Select the whole current Entry
<Del> propertiesDelete Delete from the properties cursor
<Down> propertiesMoveDown Move down in the properties cursor
<Left> propertiesMoveLeft Move left in the properties cursor
<Right> propertiesMoveRight Move right in the properties cursor
<Up> propertiesMoveUp Move up in the properties cursor
<BS> propertiesRemove Remove from the properties cursor

State History

Key combination Action name Description

Tags

Key combination Action name Description
<any char> tagsInsert Insert a character at the cursor select the space after it
<tab> tagsNextTag Move to the previous tag in the tags cursor
: tagsSplit Separate current tab into two after typing `:`
<Enter> <Esc> entrySelectWhole Select the whole current Entry
<Del> tagsDelete Delete from the tags cursor
<Right> tagsNext Move right in the tags cursor
<Left> tagsPrev Move left in the tags cursor
<BackTab> tagsPrevTag Move to the next tag in the tags cursor
<BS> tagsRemove Remove from the tags cursor

Logbook

Key combination Action name Description

Any

Key combination Action name Description
u undo Undo the last non-movement action
Meta+u redo Redo the last non-movement action
<Esc> entrySelectWhole Select the whole current Entry

File Browser

Existent

Key combination Action name Description
a browserArchive Remove the currently selected empty directory. This does nothing if the directory is not empty.
<Down> j browserSelectNext Select the next file or directory in the file browser.
<Up> k browserSelectPrev Select the previous file or directory in the file browser.
n browserStartNew Start a new file or directory in the file browser.
N browserStartNewBelowAtEnd Start a new file or directory within the selected directory in the file browser, at the end.
Meta+n browserStartNewBelowAtStart Start a new file or directory within the selected directory in the file browser, at the start.
<tab> browserToggleCollapse Select toggle collapsing the currently selected directory
<Enter> browserEnter Enter the file if a file is selected, toggle collapsing the directory if a directory is selected
<BackTab> browserToggleCollapseRecursively Select toggle collapsing the currently selected directory recursively
ded browserRemoveEmptyDir Remove the currently selected empty directory. This does nothing if the directory is not empty.

In Progress

Key combination Action name Description
<any char> browserInsertChar Insert a character into the new file or directory being created in the file browser.
<Enter> browserCompleteFile Complete the current file or directory in progress to a new file.
<Del> browserDeleteChar Delete a characer from the new file or directory being created in the file browser.
<BS> browserRemoveChar Remove a characer from the new file or directory being created in the file browser.
<Right> browserSelectNextChar Select the next characer in the new file or directory being created in the file browser.
<Left> browserSelectPrevChar Select the previous characer in the new file or directory being created in the file browser.
<Esc> browserStopNew Abort creating the new file or directory in the file browser.
Meta+<Enter> browserCompleteDir Complete the current file or directory in progress to a new directory.

Empty

Key combination Action name Description
e n browserStartNew Start a new file or directory in the file browser.

Any

Key combination Action name Description
u browserUndo Undo the last action non-movement action in the file browser.
Meta+u browserRedo Redo the last non-movement action in the file browser.

Reports

Next Action Report

Normal

Key combination Action name Description
<End> G lastNextAction Select the last next action
<Down> j nextNextAction Select the next next action
<Up> k prevNextAction Select the previous next action
/ selectNextActionFilter Select the next action filter bar
<Enter> enterNextActionFile Enter the currently selected next action
<Home> gg firstNextAction Select the first next action

Search

Key combination Action name Description
<any char> insertNextActionFilter Insert a character into the filter bar
<Del> deleteNextActionFilter Remove the character in filter bar under cursor
<BS> removeNextActionFilter Remove the character in filter bar before cursor
<Enter> <Esc> selectNextActionReport Select the next action report

Any

Key combination Action name Description

Waiting Report

Normal

Key combination Action name Description
<End> G lastWaiting Select the last entry in the waiting report
<Down> j nextWaiting Select the next entry in the waiting report
<Up> k prevWaiting Select the previous entry in the waiting report
<Enter> enterWaitingFile Enter the currently selected waiting entry
<Home> gg firstWaiting Select the first entry in the waiting report

Any

Key combination Action name Description

Any

Key combination Action name Description
q selectEditor Hide the help screen

Help

List of keybindings

Key combination Action name Description
<Down> j helpDown Scroll down in the help screen
<End> G helpEnd Scroll to the end of the help screen
<Up> k helpUp Scroll up in the help screen
/ helpSelectSearch Select the help search bar
<Home> gg helpStart Scroll to the start of the screen

Search

Key combination Action name Description
<any char> helpInsert insert a character into the help search bar
<Del> helpDelete remove a character from the help search bar
<BS> helpRemove remove a character from the help search bar
<Enter> <Esc> helpSelectHelp Deselect the help search bar

Any

Key combination Action name Description
<Down> j helpDown Scroll down in the help screen
<End> G helpEnd Scroll to the end of the help screen
<Up> k helpUp Scroll up in the help screen
/ helpSelectSearch Select the help search bar
<Home> gg helpStart Scroll to the start of the screen

Any

Key combination Action name Description
q quit Quit Smos
? Meta+? selectHelp Show the (contextual) help screen
rn reportNextActions Next action report
rw reportWaiting Waiting report
ba selectBrowserArchive Save the current file and switch to the file browser in the Archive directory.
bc selectBrowserClient Save the current file and switch to the file browser in the Client directory.
bp selectBrowserProjects Save the current file and switch to the file browser in the Projects directory.
br selectBrowserReview Save the current file and switch to the file browser in the Review directory.
bs selectBrowserSide Save the current file and switch to the file browser in the Side directory.
bw selectBrowserWorkflow Save the current file and switch to the file browser in the Workflow directory.