Answering specific questions about using command line applications on Unix-like operating systems is usually not very hard — a few Google terms more often than not pulls up a topical Stack Overflow question. If you want to find what a Bash option does, or how to delete a word in Vim, you won’t struggle.

However, I’ve found it can be harder to find good general sources of information on the web about these applications. If you want to learn more about a particular editor, shell, or debugger, it’s tougher to find a single source of organised, high-quality, and up-to-date information. As helpful as man pages are for experienced users, their terseness can be a major deterrent for newbies. I’d like to try and help fix this, hence this page (and the Arabesque blog in general).

Links are grouped by application, sorted with my rough opinion of how useful I have found them as a source of information about a particular command line application. Each link is accompanied with a short summary description. Many of the links are blogs; I will add single blog posts if they’re exceptionally helpful, but a link to a whole blog or at least a post category would be preferred.

If you have suggestions for this list, please feel free to let me know by emailing me at tom@sanctum.geek.nz.



  • BashFAQ on Greg’s Wiki — This is the best Bash resource on the web, presenting answers to common questions asked of the #bash IRC channel on Freenode. These articles and others on the wiki are essential reading for intermediate and advanced users.
  • Bash Hackers Wiki — A worthy complement to Greg’s Wiki with a more encyclopedic or “reference” approach.


  • ##c wiki — This is the C analogue to Greg’s wiki; a collection of high-quality resources and links for the C language, something of an oasis in a sea of misleading information.


  • Mastering Emacs — Great articles on intermediate to advanced Emacs usage. The beginners’ articles assume a fair bit of familiarity, but intermediate to advanced users should find this fascinating reading.

  • Why Emacs? — Bozhidar Batsov presents a very readable article explaining his enthusiasm for the editor, with particular emphasis on its superiority to Vim.


  • MetaCPAN — A high-quality alternative interface to the original CPAN site for finding Perl modules.
  • Modern Perl — An overview of modern Perl development practice; a successor to the O’Reilly “camel book”. Available to read online for free.



Vi and Vim

  • Vimcasts — Drew Neil makes superb high-quality screencasts on basic to intermediate Vim usage. He focusses on migrating away from TextMate, a popular editor for Mac OS X. The first few screencasts in particular are highly recommended for beginners. If you are new to Vim and want to see what it can do, start here.

  • Derek Wyatt’s Vim Tutorial Videos — Derek Wyatt is an enthusiastic and engaging screencast host. His screencasts are helpfully divided into sections by skill: Novice, Intermediate, and Advanced. Some of the videos are quite long, but all are worth watching.

  • Vim Tips Wiki — This community wiki is good for users who have mastered the basics of the editor and are now looking to see what other tricks it can do. Tips range from specific editing tips to more general advice on managing Vim configuration.

  • You don’t grok Vi — A very in-depth answer to a Stack Overflow question explaining some usage patterns for vi, all of which are applicable to Vim.

  • Seven Habits of Highly Effective Text Editing — Vim’s author Bram Moolenaar explains some general patterns for efficient editing. It is supposed to be suitable for any editor, but has a very heavy self-confessed bias towards Vim.

  • /r/vim — Reddit’s section for Vim users is relatively active and links to good content. It’s probably a little overwhelming for beginners, but definitely worth a subscription for Vim-using Redditors.