Skip to main content
C* Music Player:

cmus cheat sheet

Summary

Comprehensive cheat sheet for using cmus, the console-based music player. Essential commands for navigation, playback, filtering, volume control, and playlist management.

Introduction #

C* Music Player (cmus) is a lightweight, fast, and feature-rich console-based music player for Unix-like operating systems. cmus supports various audio formats, playlists, and advanced playback controls.

I have been using cmus for more than 15 years and still have to look up some commands every now and then, here is my cheat sheet:

  • :open <path>: Opens a directory or file.
  • Arrow keys or j/k: Navigate through the interface.
  • Tab: Switch between panes.
  • space: Expand selection.
  • Enter: Play selected song.

Views #

Switch between different views in cmus to focus on specific tasks:

  • Library View: Click 0 or
    :view 0
    
  • Playlist View: Click 1 or
    :view 1
    
  • Library List View: Click 2 or
    :view 2
    
  • Playlist View: Click 3 or
    :view 3
    
  • Play Queue View: Click 4 or
    :view 4
    
  • File Browser View: Click 5 or
    :view 5
    
  • Library Filters View: Click 6 or
    :view 6
    
  • Settings View: Click 7 or
    :view 7
    

Playback #

  • p: Pause/resume playback.
  • n: Play the next track.
  • b: Play the previous track.
  • c: Pause playback.
  • x: Resume playback/ play track from start.
  • z: Play previous track.
  • v: Stop playback.
  • B: Start playing next album.
  • Z: Start playing previous album.
  • ,: Seek in track -1m
  • .: Seek in track +1m
  • h: Seek in track -5s
  • l: Seek in track +5s
  • left: Seek in track -5s
  • right: Seek in track +5s

Volume control #

  • +: Raise volume +10%
  • -: Lower volume -10%

Search commands are basically Vim commands:

  • /: Start a search.
  • n: Go to next occurrence of search term.
  • N: Go to previous occurrence of search term.
  • :: Enter command mode for advanced operations.

Filtering #

cmus provides powerful filtering capabilities to manage large music libraries. Use the :filter command to narrow down the visible tracks.:

These commands may only work in certain views.

  • Filter tracks by criteria:

    :filter artist=Radiohead
    

    This displays only tracks where the artist is “Radiohead.”

  • Combine multiple filters:
    :filter artist="Radiohead" & album="OK Computer"
    

    Shows only tracks by “Radiohead” from the album “OK Computer.”

    :filter genre="Hip Hop" & date=2024
    

    Show only tracks from the “Hip Hop” genre from the year “2024”.

  • Clear filters:
    :filter clear
    
  • Filter artists/albums/titles
    :live-filter sleepwalking
    

    Shows all artists/albums/titles containing “sleepwalking”.

For more tips on filtering, see cmus temporary filters and cmus permanent filters.

Managing playlists #

Learn how to create a cmus playlist.

  • Save the current playlist:
    :save ~/my_playlist.m3u
    

    Saves the current playlist to a file.

  • Load a playlist:
    :load ~/my_playlist.m3u
    
  • Add Files to the Playlist:
    :add ~/Music/album/
    
  • Shuffle playlist:
    :shuffle
    

For more information see how to create a playlist in cmus.

Settings #

Synopsis:

:set <option>=<value>

You can save preferences as permanent settings in a configuration file ~/.config/cmus/rc.

In that file, save settings like that:

…
set output_plugin=alsa
set replaygain=0
set softvol=true
set auto_reshuffle=true
…

ReplayGain #

ReplayGain automatically adjusts the playback volume of audio tracks based on their loudness metadata. This helps maintain consistent volume levels across different tracks or albums, avoiding sudden volume changes during playback.

  • replaygain=0 (disabled):
    ReplayGain is turned off (default setting). Tracks play at their original recorded volume.
  • replaygain=1 (track mode):
    Volume is adjusted based on each track’s loudness. This mode is ideal for shuffle play since it keeps all tracks at a consistent volume, regardless of the album they belong to.
  • replaygain=2 (album mode):
    Volume is adjusted based on the average loudness of an entire album. This is useful for listening to full albums, preserving track-to-track volume dynamics as intended by the album’s producer.

To can check the current configuration by going to the settings view by pressing 7. There, search for replaygain, e.g. /replaygain.

Audio output #

cmus supports various audio output plugins (output_plugin) depending on your system setup:

  • alsa: Advanced Linux Sound Architecture (common on Linux).
  • pulse: PulseAudio (used in many modern Linux distributions).
  • jack: JACK Audio Connection Kit (for professional audio production).
  • ao: Libao, a cross-platform audio output library.
  • oss: OSS (Open Sound System) backend (used when ALSA, PulseAudio, or other modern backends are not available).

To can check the current configuration by going to the settings view by pressing 7. There, search for output_plugin, e.g. /output_plugin.

Auto reshuffle #

The auto_reshuffle setting in cmus controls whether the current playlist is automatically reshuffled when all tracks have been played.

  • auto_reshuffle=false (default):
    When disabled, cmus stops playing after all tracks have been played, even if shuffle mode is active.
  • auto_reshuffle=true
    When enabled, cmus reshuffles the playlist automatically after playing all tracks. This ensures continuous playback with a fresh random order.

To can check the current configuration by going to the settings view by pressing 7. There, search for auto_reshuffle, e.g. /auto_reshuffle.

Shuffle #

The shuffle setting enables (true) or disables (false) random track playback in the current playlist or music library.

  • shuffle=false (default)
    Tracks are played in the order they appear in the playlist or library.
  • shuffle=true
    When playing a playlist, cmus selects tracks randomly.

If shuffle=true and auto_reshuffle=true, cmus reshuffles the playlist when it reaches the end, ensuring continuous random playback.

To can check the current configuration by going to the settings view by pressing 7. There, search for shuffle, e.g. /shuffle.

Softvol #

By configuring softvol you can manage playback volume even when hardware volume control is not available or does not work as expected.

  • softvol=true
    May slightly reduce audio quality due to the nature of software volume scaling (depending on your output plugin and system configuration).
  • softvol=false
    cmus attempts to adjust the volume using the system’s audio backend if supported.

To can check the current configuration by going to the settings view by pressing 7. There, search for softvol, e.g. /softvol.

cmus tutorial #

The cmus tutorial is a manual page that provides a step-by-step guide for using cmus. It offers a clear and structured learning path for mastering cmus, from basic playback to advanced customization. It is a great reference if you are new to cmus or need a refresher on less frequently used features.

To access the cmus tutorial, simply run the following command in your terminal:

man cmus-tutorial

This will display the full tutorial directly in your terminal.

Further readings #

Sources and recommended, further resources on the topic:

Author

Jonas Jared Jacek • J15k

Jonas Jared Jacek (J15k)

Jonas works as project manager, web designer, and web developer since 2001. On top of that, he is a Linux system administrator with a broad interest in things related to programming, architecture, and design. See: https://www.j15k.com/

License

cmus cheat sheet by Jonas Jared Jacek is licensed under CC BY-SA 4.0.

This license requires that reusers give credit to the creator. It allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, for noncommercial purposes only. To give credit, provide a link back to the original source, the author, and the license e.g. like this:

<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://www.ditig.com/cmus-cheat-sheet">cmus cheat sheet</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://www.j15k.com/">Jonas Jared Jacek</a> is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="license noopener noreferrer">CC BY-SA 4.0</a>.</p>

For more information see the Ditig legal page.

All Topics

Random Quote

“Good design comes from a deep understanding of the technologies behind the scenes.”

Jeffrey Veen American designer and design strategistThe Art & Science of Web Design, - IT quotes