Command-line productivity tools

Finger Work

Read email, use your calendar, and check RSS feeds faster than you can say, "Ooooo, pretty."

Thanks to applications like Firefox, Thunderbird, and OpenOffice.org, you can do most of your work without leaving the convenience of the graphical environment. But that doesn't mean that point-and-click is the only way to productive daily computing. In fact, there are quite a few command-line productivity tools that you can use to perform many common tasks, such as reading email, keeping track of your appointments, and checking RSS feeds.

Switching to command-line applications might seem like a step backward, but it makes sense for several reasons. The first reason is speed: Even the most advanced command-line tools require only a fraction of the system resources consumed by their graphical equivalents. Also, because command-line applications don't include any visual embellishments, such as buttons and toolbars, they provide a distraction-free work environment and fit small screens better. Efficiency is another important factor. Most command-line applications can be controlled using just a handful of keyboard shortcuts, and once you've mastered them, you can work faster than with any graphical application.

Terminal Emulators

Before you dive into the command-line world, you might want to replace the default terminal with a more flexible tool, such as Tilda for Gnome or Yakuake for KDE [1]. Both utilities are loosely based on the Quake terminal; they run constantly in the background and you can show and hide them using a keyboard shortcut. This seemingly simple mechanism makes a big difference when working with command-line applications. Tilda and Yakuake are available in the repositories of most mainstream Linux distributions, so you can easily install them using your distro's package manager. Both terminal emulators are highly customizable, easily allowing you to tweak their appearance and behavior (Figure 1). Moreover, Tilda and Yakuake support tabbed interfaces, so you can run multiple apps in separate tabs.

Figure 1: A little bit of tweaking makes Tilda look like this.

Text Wrangling with nano

A decent text editor is probably the most important tool in any user's toolbox. Although there are quite a few text editors you can choose from, nano [2] strikes a perfect balance between power and ease of use. Nano is bundled with many popular Linux distros, and you can launch it by running the nano command. All actions in nano are done using keyboard shortcuts, and you can see the most important ones at the bottom of the screen. You can periodically save the file during editing using the Ctrl+O shortcut. To exit nano, press Ctrl+X. If you exit nano from a modified file, it will prompt you to save it first.

Like any text editor worth its salt, nano supports the cut and paste actions. The Ctrl+K shortcut cuts a single line. To paste the line, place the cursor where you want to insert the line and press Ctrl+U. To move multiple lines, cut them using the Ctrl+K shortcut, then paste them all together by pressing Ctrl+U.

If you need to cut a single word or a text fragment, press Ctrl+6 or Alt+A, select the text you want, then press Ctrl+K to cut it. You can then paste the snippet using the Ctrl+U shortcut.

Performing a text search in nano is also easy: Hit Ctrl+W, enter the search string, and press Enter. To find the same string again, press Ctrl+W again and hit Enter. To perform the search and replace action, press Ctrl+\, specify a search string and its replacement, and press Enter. Then you can choose whether you want to replace only the first found match or all occurrences of the search string.

Although nano is not designed to replace a dedicated word processor, it has both word count and spell-checking features, which make it a perfect tool for drafting articles or taking notes (Figure 2). To view the current word count, press the Meta key followed by D. Which key is defined as Meta depends on your system; in most cases it's either the Esc or Windows key. To run a spell check, press Ctrl+T. By default, nano uses its own interactive spell checker that requires the spell program to be installed on your system. Alternatively, you can force nano to use the aspell program instead. To do this, open the nanorc file for editing as root using the nano/etc/nanorc command, and uncomment the following line:

set speller "aspell -x -c"

While you're at it, you might want to tweak other settings, too. For example, if you want to enable the mouse in nano, uncomment the set mouse option. This allows you to use the mouse to place the cursor, set the mark, and execute shortcuts.

Figure 2: Nano supports word count and spell check.

Snownews

If you start your day with checking RSS feeds from your favorite websites, Snownews [3] is for you (Figure 3). This simple yet efficient command-line RSS reader sports a few time-saving features that make it easier to manage multiple RSS feeds. For starters, Snownews can import existing RSS feeds in the OPML format, which can come in rather handy when transferring your RSS subscriptions from another application. To import an OPML file into Snownews, run the following command (where rssfeeds.opml refers to the actual OPML file):

opml2snow rssfeeds.opml >> ~/.snownews/urls

Figure 3: Snownews makes it a breeze to keep tabs on RSS feeds.

Like any other command-line application, Snownews is controlled via keyboard shortcuts, and you can evoke the help screen containing a full list of all available shortcuts along with their brief descriptions by pressing the h key. If you have a few dozen RSS feeds, you can group them using the Categories feature (the C key), which allows you to assign multiple categories to each RSS feed. You can then use the g key to view only the feeds belonging to the currently selected category. Alternatively, you can use the Apply filter command (the f key) to select the category you want. Moreover, you can use the Type Ahead Find feature (the Tab key) to narrow the list of matching RSS feeds as you type.

To open the currently selected feed, press Enter and you can then browse through articles using the p (Previous article) and n (Next article) keys. To view the article you want, press Enter. Finally, you can open the link to the currently viewed RSS article in the default browser by pressing the o key.