* - Rebound keybinding on some OS, see OS specific keybindings
Ctrl+Up/Down* - Navigating channel treeCtrl+Space* - Expand selected categories and servers or enter selected channelAlt+H- Un/collapse channel with threads in treeAlt+J- Join/leave selected thread in treeAlt+I- View channel info (selected in tree)Alt+Shift+U- Copy selected channel (in tree) URL to clipboard
Left/Right- character left/rightCtrl+Left/Right- word left/rightShift+Left/Right- select left/rightCtrl+Shift+Left/Right- select word left/rightCtrl+N- Insert newline in input line (warningShift+Enterdoesn't work in terminals)Alt+Z- UndoAlt+Shift+Z- RedoAlt+A- Select allAlt+C- Copy selectionAlt+X- Cut selectionCtrl+Backspace- Delete word
Enter- Send messageArrow-Up/Down- Navigating messagesCtrl+R- Reply to selected messageCtrl+E- Edit selected messageCtrl+D- Delete selected messageCtrl+P- Toggle reply ping when replyingCtrl+B- Scroll back to chat bottomCtrl+G- Go to replied message from selected messageCtrl+W- Download selected attachmentCtrl+UUpload attachmentsCtrl+O* - Open selected link in browserCtrl+L- Copy selected message to clipboardCtrl+V* - View selected attachment (image, gif, video, audio) in media playerAlt+T- Reveal one spoiler in selected messagesCtrl+F- Search messages in current serverAlt+F- Search gifsAlt+P- View user profile (selected message)Alt+U- Copy selected message URL to clipboardAlt+R- Add reaction to selected messageAlt+W- Show reactions details for selected messageAlt+N- Show pinned messages in current channelCtrl+Shift+V- This is common terminal binding to paste text, better use:pastecommand
Alt+<- Previous uploaded/uploading attachmentAlt+>- Next uploaded/uploading attachment
Alt+Up/Down- navigate in extra window / member listAlt+Enter- select in extra window / member listAlt+V- Preview selected file in upload assist or when searching gif
Ctrl+/* - Open command paletteCtrl+X- Cancel all downloads and uploadsAlt+D- Cycle user status (online/away/DnD/invisible)Alt+M- Toggle member listCtrl+T- Toggle channel tabbed (pinned) stateAlt+NUM- Switch to tab,NUMis 1-9 in number row, not numeric keypad!Alt+E- Open external editor to type message in itCtrl+K- Open command palette and typegotoand show recent channelsAlt+Left/Right- Switch tabs incrementally (next/previous)Ctrl+C- QuitEnter- Open selected post in forumEscape- Close assist, exit command mode, cancel...
escape- quitSpace- pauseLeft/Right- seekZ- replay
Some keybindings are used by terminals or OS itself, so they are by default rebound to something else.
Ctrl+\- Open command paletteCtrl+A- Expand selected categories and serversAlt+Y- View attached media (image, gif, video, audio)
Shift+Up/Down- Navigating channel treeAlt+O- Open link in browser
- Tree - or enter channel
- Extra window - select item
- Member list - view member profile
- Input line - select a word
- Message time - start replying to message
- Message reply line - go to that message
- Username - view profile
- Reaction - toggle that reaction
- URL - open media / download file / open in browser
- Spoiler - reveal that spoiler
- User mention - view profile of mentioned user
- Channel - go to that channel
- Custom discord emoji - view that emoji in media player
- Scroll up/down in all windows
- Single click to select in all windows, in tree also: un/collapse
- Single click on tab string to switch tabs (only if exactly
format_title_line_r = "%tabs"in config)
On Windows, double click isn't working, instead use triple click.
Keybindings are configured in separate sections in config.ini. Main keybindings section is [keybindings].
Key combinations are saved as integer codes, that can be generated by running endcord -k.
Alt+Key codes are stored as string with format: "ALT+[KEY]", where [KEY] is integer.
On Windows they are integers but ALT+Key string in keymap will still work.
In xterm they are also integers (not the same as on Windows) and ALT+Key string in keymap will still work.
Ctrl+Shift+Key combinations are not supported by most terminal emulators, but Alt+Shift+Key are.
Keybindings can also be chained like this (maximum 2 bindings in chain, separated with -):
"25-97" for Ctrl+X-A which means: press Ctrl+X then A, "ALT+120-ALT+100" for Alt+X-Alt+D and so on.
To specify multiple keybindings for same action put them in a tuple, eg.: (2, "25-97", "ALT+120").
Switch tab keybinding is special - NUM is placeholder for 1-9 number keys, eg.:ALT+NUM or ALT+120-NUM.
Keybindings for vim mode are configured in section [vim_mode_bindings] can be typed as characters but they must be in "". Eg.: "edit" = "e".
Alternatively key codes can be used too. When specifying chained or multiple bindings, key codes must be used!
There is one special keybinding, used only in vim mode: "insert_mode" = "i".
Command bindings can also use vim mode bindings, but they must be typed as key codes in quotes!
There is additional section [command_bindings], used to make custom client command string or even macros executed when keybinding is pressed.
Command keybinding is added like this: "25" = "send_message Hello World!". This will execute that command when Ctrl+X is pressed.
Note that all bindings must be inside quotes, even a single integer. To use same binding as standard keybindings, set standard keybinding to None.
Alongside commands, standard keybinding names can be used here too. Eg. "25" = "tree_up; tree_up" will "press" tree_up binding twice.
To execute multiple commands in a sequence, type them separated with ; character. To use actual ; character in command type it as \;.
Special commands available only for command-bindings are documented in Commands list.
i- Enter insert mode
K/J- Navigating channel treeSpace- Expand selected categories and servers or enter selected channelW- Un/collapse channel with threads in treeO- Join/leave selected thread in treeI- View channel info (selected in tree)C- Copy selected channel (in tree) URL to clipboard
h/l- character left/rightb/w- word left/rightCtrl+h/l- select left/rightH/L- select word left/rightCtrl+N- Insert newline in input line (warningShift+Enterdoesn't work in terminals)u- UndoCtrl+R- Redoa- Select ally- Copy selectionY- Cut selectionX- Delete word
Enter- Send messagek/j- Navigating messagesr- Reply to selected messagee- Edit selected messaged- Delete selected messagep- Toggle reply ping when replyingB- Scroll back to chat bottomg- Go to replied message from selected messageD- Download selected attachmentU- Upload attachmentso- Open selected link in browserc- Copy selected message to clipboardv- View selected attachment (image, gif, video, audio) in media playerS- Reveal one spoiler in selected messagesf- Search messages in current serverF- Search gifsP- View user profile (selected message)M- Copy selected message URL to clipboardR- Add reaction to selected messageA- Show reactions details for selected messagen- Show pinned messages in current channelCtrl+Shift+V- This is common terminal binding to paste text, better use:pastecommand
<- Previous uploaded/uploading attachment>- Next uploaded/uploading attachment
,/.- navigate in extra window / member listq- select in extra window / member listV- Preview selected file in upload assist or when searching gif
:- Open command paletteX- Cancel all downloads and uploadss- Cycle user status (online/away/DnD/invisible)m- Toggle member listt- Toggle channel tabbed (pinned) stateNUM- Switch to tab,NUMis 1-9.E- Open external editor to type message in itCtrl+K- Open command palette and typegotoand show recent channelsAlt+Left/Right- Switch tabs incrementally (next/previous)Q- Quit