cmus is a music player that I admire the most when it comes to command-line because it’s really powerful and has a lot of nice features. It is built with ncurses and therefore providing a text-user interface. cmus is indeed feature-rich, with several view modes and Last.fm song submission support via scripts. It supports Vi-like commands and auto-completion with Tab too. Recently I wrote a full guide on how to use cmus, you can read it here.