Xulmus is a free add-on for the Songbird music player, which makes it look and behave like the Vim text editor and the CMus music player. It is a modal music player, as key bindings differ according to which mode you are in. For example, the same keys can select the next song while the song list has focus or can scroll down an existing web page when a browser tab has focus. It also adds commands for accessing most Songbird functionality — e.g., :playernext will play the next song in the library.

Xulmus was mostly written by Prathyush Thota but has found a few other contributors in the meanwhile. If you appreciate the work on Xulmus and want to encourage us working on it more, you can send us greetings, patches, or donations (thanks a lot to these people who already did):

If you prefer getting some nice products for your money, you can also support us by buying some cool merchandise like t-shirts or mugs.

Of course, as we believe in free, open source software, only support us financially if you really like Xulmus and the money doesn't hurt — otherwise just use it, recommend it, and like it :)

Download Xulmus
Version 0.2pre for Songbird 0.8+
Release date: 2009-05-26

Warning: Xulmus is still alpha-software, so not all features will work yet.


  • CMus-like key bindings  (z, x, c, v, b, /, j, k, etc.)
  • Vim-like key bindings for browser tabs (h, j, k, l, gg, G, 0, $, ZZ, <C-f>, etc.)
  • Ex-commands (:quit, :playernext, …)
  • Tab completion available for all commands with support for 'longest' matching when :set in 'wildmode'
  • Extensions! Yes, you can extend Xulmus's functionality with scripts just like you can extend Songbird with extensions.
  • Explore JavaScript objects with :echo window and even context-sensitive tab completion.
  • Macros to replay key strokes
  • AutoCommands to execute action on certain events
  • Hit-a-hint like navigation of links (start with f to follow a link)
  • Ability to :source JavaScript files, and to use a ~/.xulmusrc file
  • Count supported for many commands (3l will skip forward 30 instead of 10 seconds)
  • Beep on errors
  • :map and :command support (and feedkeys() for script writers)
  • :time support for profiling
  • Many other Vimperator features are available when in -- BROWSER -- mode
  • Much more…


While Xulmus offers already lots of cool features, we cannot and don't want to include every feature directly in the core. Therefore you can enhance the Xulmus experience by adding plugins which add new commands or mappings. Install these plugins by copying them to the ~/.xulmus/plugin/ directory (or %HOME%\xulmus\plugin on Windows) unless noted differently. If you have written a cool plugin which is useful to a wider audience, please submit it.

If you don't care about features but just use Xulmus for the sexy looks, you can also theme that by using color schemes. You can install them by copying them to the ~/.xulmus/colors/ directory (%HOME%\xulmus\colors on Windows) and use it with :colorscheme <name>. You can also submit your own color scheme .


Unexpected features - sometimes also called bugs - are listed in our issue tracker . If your issue is not yet listed there, you can:

An overview of Xulmus