CLI

What is CLI?

CLI = Command Line Interface and GUI = Graphical User Interface. These two ways of interacting with one’s computer are often thought of as opposites or at least exclusive of each other.

However, in modern operating systems, one can have both simultaneously, with any number of terminal windows surrounded by GUI applications. Various scripting languages and utilities such as QuickSilver give even casual users the ability to bridge the CLI and GUI in new and creative ways.

Strangely enough for those accustomed to flashing lights and zooming windows, the simple, austere nature of the Command Line has its aesthetic appeal as well, with none of the “bells and whistles” typical to the GUI — which, for users trying to minimize distractions, is definitely a bonus.

osnews.com: The Command Line - The Best Newbie Interface?

Using vim as a personal wiki

Abhijit Nadgouda over at iface thoughts describes a method of using vim as a simple wiki system, utilizing its built-in “tags” capability.

One thing I have learnt from experience is that the tool to collect and organize our information must be easily available and easy to use. And that is where vim scores higher than any other tool to build a wiki.[…]

Nowadays I use the vim as a combination of wiki and outliner to record my ideas and thoughts, documentation, tasks and even contacts.

Looks very easy to set up and use — I think I’ll give it a try.

A command line ebook reader

I was casting around for a replacement for the excellent Tofu screen text reader for Mac, due to some encoding issues. Always wont to explore the command-line options, I turned first to the ubiquitous less pager, available on pretty much every unix-alike system out there.

The only real drawback to less is its apparent inability to wrap long lines at spaces rather than chopping words in the middle and sans hyphenation. This isn’t a problem on hard-return files like a Project Gutenberg ebook, but makes for difficult reading otherwise. (The opposite is the case for Tofu, which requires a bit of manual column widening to compensate for the hard returns.)

Doing a bit of poking around, I re-discovered the also-ubiquitous fmt command, which does word wrapping to a fare-thee-well, though doesn’t do paging.

Combining the two commands gives the best of both in classic Unix fashion:

fmt 1911EthanFrome.txt | less

You can also use options to enhance the experience. less -m will give you a prompt showing how far along you are in the file; see man less for others.

The pager recognizes vim movement keys, which I love. Plus you can hit the v key at any time to drop into vim, edit the file, and then return to less. Spiffy.

Of course, you could just use vim (or your favorite text editor), but I like the simplicity without the overhead. Unlike other options, less doesn’t read the entire file into memory before displaying it, a definite advantage on big documents.

Another Tip: If you’re in a Mac Terminal window, right click on a word or phrase to search for it in Google or Dictionary.

Bonus tangential tip: if you don’t care about downloading the text files but want to stick to reading Project Gutenberg files in the terminal, why not use lynx or ELinks?

screenshot of terminal window showing lynx web browser viewing the Edith Wharton novel Ethan Frome on Project Gutenberg

Useful Unix, Vim, and Emacs tricks on Slashdot

cartoon of vi man beating up feeble emacs user

A couple of days ago, Slashdot posted a story asking about “(Useful) Stupid Unix Tricks?”:

So the other day I messaged another admin from the console using the regular old ‘write’ command (as I’ve been doing for over 10 years). To my surprise he didn’t know how to respond back to me (he had to call me on the phone) and had never even known you could do that. That got me thinking that there’s probably lots of things like that, and likely things I’ve never heard of. What sorts of things do you take for granted as a natural part of Unix that other people are surprised at?

It’s perhaps unsurprising that there have been over 2200 comments exploring the arcana of the Unix and Unixy command line. A lot of awesome lore to check out.

Yesterday came the next story, “(Useful) Stupid Vim Tricks?”:

I thoroughly enjoyed the recent post about Unix tricks, so I ask Slashdot vim users, what’s out there? :Sex, :b#, marks, ctags. Any tricks worth sharing?

570+ comments later, there’s a lot to check out there as well.

Today’s post was inevitable, “(Stupid) Useful Emacs Tricks?”:

Since the Vi version of this question was both interesting and popular, let’s hear from the other end of the spectrum. What are your favorite tricks, macros, extensions, and techniques for any of the various Emacs? Myself, I like ‘M-x dunnet’ ;-)

200 comments and counting.

One of the most enjoyable parts of the Vim story, apart from the various spiffy command tips and tricks, were links to other sites. Here are a couple, along with a few related others I’ve linked to before.

Command line tea timer for Mac

Cuppa is a spiffy tea timer program for Mac (if only for its sound effects ;), itself inspired by The Tea Cooker from Linux. However, there’s an easy way to create a de facto tea timer, or run any kind of countdown, via the Terminal.

The sleep command allows you to run other commands or programs with a delay. So, for example, you could enter,

sleep 20; ps

which will pause for 20 seconds, then run ps to show your active tasks.

To keep you from having to stare at the Terminal window waiting for your tea countdown to finish, we’ll make use of the say command, which taps into your Mac’s built-in Text-to-Speech ability. (See System Preferences > Speech.)

So, assuming you want your Earl Grey to steep for four minutes, you could use something like this:

sleep 240; say "Your Tea, Earl Grey, Hot, has completed brewing."

Or for your Green Tea:

sleep 60; say "Green Tea processing complete."

Enjoy!

Syndicate content