Skip to content
This page is for the development version of rmpc. Make sure your version matches the selected documentation.

Keybinds

keybinds: (global: <kebyinds_map>, navigation: <keybinds_map>, queue: <keybinds_map>)

Keybinds are configured in the config file. There are different keybinds for different panes and actions. Keybinds are optional and do not have be specified in the config file. If omitted the default keybinds below are used. By default the keybinds are vim-like, but you can change them to whatever you want.

Rmpc supports kitty’s keyboard protocol, meaning you can use advanced key combinations like mixing modifier keys such as control and shift in one keybind. You must be running supported terminal. This does not work in tmux. See kitty’s site for more info.

global: { "p": Play, "s": Stop, "X": Stop, ...}

Is a simple list of key-value pairs where the left side is key to use specified as a string and the right side is a name of the action. You can also bind multiple keys to a single action by specifying it multiple times with a different key.

Keybind syntax is similar to vim keybinds. To map action to letter a you write a and to map an action to an uppercase A you would write A. To combine a key with a modifiers like Ctrl you would write <C-a> and likewise for an uppercase A: <C-A>. If a special key like Tab is used on its own you have to wrap it angle brackets like so: <Tab>. In case of the Alt key (sometimes also called Meta key) you would write <A-x>.

ExternalCommand(command: ["/path/to/my/script.sh", "arg1", "arg2"], description: "Description to show in Help modal.")

Can be used to bind any script/shell command to a key. This command gets info about MPD’s and rmpc’s state as environment variables. All song paths are listed as their path relative to MPD’s music directory.

  • $CURRENT_SONG: can be used to access the currently playing song.
  • $STATE: Can be one of Playing, Paused or Stopped
  • All metadata of the currently playing song (if any). For example ARTIST, TITLE, DURATION,
  • $SELECTED_SONGS: contains a list of songs that are selected in the various panes. Songs are separated by \n, their order is undefined and should not be relied upon.
    • In Browser, Albums, Playlists and Artists it will list all songs contained in the currently highlighted item and all its subdirectories. If the item is a single song, only that one song will be present. If you mark multiple directories/songs, all of them will be listed in $SELECTED_SONGS.
    • In Queue, only the song under cursor will be listed.
    • In Search, While on the search stage, all the songs will be listed and while on the song list stage, only the song under cursor or all marked songs will be listed.

Below you can find list of all the possible actions along with a short description and their default values.

These keybinds work everywhere (except when a modal is active) and are used to control things like playback, navigation between different tabs and exiting rmpc.

Default KeyActionInfo
qQuitExit rmpc
~ShowHelpShow help modal with the current keybinds and their description
:CommandModeEnter command mode. Commands that can be used are the same as in the CLI
ExternalCommandSpecial keybind that allows you to bind external commands to a key. Check ExternalCommand for more info.
qShowHelpShow keybinds modal
IShowCurrentSongInfoShow metadata of the currently playing song in a modal popup
OShowOutputsShow MPD outputs config modal
PShowDecodersShow MPD decoder plugins in a modal popup
zToggleRepeatToggle repeat
xToggleRandomToggles random
cToggleConsumeRemove song from the queue after playing
vToggleSingleWhether to stop playing after single track or repeat track/playlist when repeat is on
pTogglePausePause/Unpause playback
ToggleSingleOnOffToggles single mode on or off, skipping oneshot
ToggleConsumeOnOffToggles consume mode on or off, skipping oneshot
sStopStop playback
.VolumeUpRaise volume
,VolumeDownLower volume
fSeekForwardSeek currently playing track forwards
bSeekBackSeek currently playing track backwards
>NextTrackPlay next track in the queue
<PreviousTrackPlay previous track in the queue
Right / TabNextTabSwitch to next tab
Left / <S-Tab>PreviousTabSwitch to previous tab
1SwitchToTab(“Queue”)Switch directly to Queue tab
2SwitchToTab(“Directories”)Switch directly to Directories tab
3SwitchToTab(“Artists”)Switch directly to Artists tab
4SwitchToTab(“Album”)Switch directly to Albums tab
5SwitchToTab(“Playlists”)Switch directly to Playlists tab
6SwitchToTab(“Search”)Switch directly to Search tab
RAddRandomAdd random songs to the queue
uUpdateUpdate music library
URescanRescan music library (including unmodified files)
Partition()Open a partition management modal
Partition(name: “mypart”, autocreate: true)Switch to partition “mypart” directly and create it if it does not exist already

These keybinds are used to navigate the different tabs and to interact with the items on the screen. Also includes some more advanced ones like moving the cursor up or down half a page, moving the cursor to the top or bottom of the list and controlling search mode.

Default KeyActionInfo
<C-c> / EscCloseClose/Stop whatever action is currently going on. Cancel filter, close a modal, etc.
kUpUp
lRightRight
<Space>SelectMark current item as selected in the browser, useful for example when you want to add multiple songs to a playlist
<C-Space>InvertSelectionInverts the current selected items
EnterConfirmConfirm whatever action is currently going on. In browser panes it either enters a directory or adds and plays a song under cursor
KMoveUpMove current item up, for example song in a queue
JMoveDownMove current item down, for example song in a queue
gTopJump all the way to the top
GBottomJump all the way to the bottom
<C-n>NextResultWhen a filter is active, jump to the next result
NPreviousResultWhen a filter is active, jump to the previous result
jDownDown
DDeleteDelete. For example a playlist, song from a playlist or wipe the current queue.
<C-u>UpHalfJump by half a screen up
<C-d>DownHalfJump by half a screen down
PageUpJump a screen up
PageDownJump a screen down
iFocusInputFocuses textbox if any is on the screen and is not focused
/EnterSearchEnter search mode
hLeftLeft
rRenameRename. Currently only for playlists
aAddAdd item to queue
AAddAllAdd all items to queue
BShowInfoShow info about the item under cursor in a modal popup
AddOptions()Add item(s) to the queue with specified options. More info in its section
ContextMenu()Show a context menu with select few actions that can be done on the current item(s)

A configurable keybind to add items to the the queue. Allows you to add either a single or all items, select a position at which they will be added as well as to choose whether you want to automatically play the added items.

A modal window with options to select is displayed instead when no configuration is provided or if the keybind is directly configured to display a modal.

Possible values for the action kind are either a Modal or Action. Where Modal takes a list of tuples of a label and the action configuration and Action takes just a single action configuration.

Possible positions are: StartOfQueue, EndOfQueue, BeforeCurrentSong, AfterCurrentSong and Replace.

Possible autoplay values are:

  • None - Do not play added items
  • First - Play the first added item
  • Hovered - Play the hovered item after adding. Nothing will be played if no item is hovered or you are adding several marked items while hovering over a non-marked item. This works on a best effort basis due to technical reasons and only when adding just songs and not directories.
  • HoveredOrFirst - Same as Hovered but if no hovered item could be determined, start playing from the First item instead.

Possible values for all:

  • true - Add all items in the current directory
  • false - Add all marked items and only the hovered item if non are marked
  • Add a single item or the marked items at the end of the queue
AddOptions(kind: Action(all: false, autoplay: None, position: EndOfQueue))
  • Add a single item or the marked items at the start of the queue and start playing from the hovered item
AddOptions(kind: Action(all: false, autoplay: Hovered, position: StartOfQueue))
  • Add a single item or the marked items after the current and start playing from the hovered item or from the first item if no item was hovered.
AddOptions(kind: Action(all: false, autoplay: HoveredOrFirst, position: AfterCurrentSong))
  • Open a modal window with the default configuration
AddOptions()
  • Open a modal window with the configured options
AddOptions(kind: Modal([
("End of queue and play", (all: false, autoplay: First, position: EndOfQueue),
("After the current song", (all: false, autoplay: None, position: AfterCurrentSong),
]))

Keybinds specific to the queue pane.

Default KeyActionInfo
<C-s>SaveSave current queue as a new playlist
DDeleteAllClear current queue
EnterPlayPlay song under cursor
aAddToPlaylistAdd song under cursor to an existing playlist
dDeleteRemove song under cursor from the queue
CJumpToCurrentMoves the cursor in Queue table to the currently playing song
XShuffleShuffles the whole queue or selected range(s)