coding

Vim a la TextMate

Alex Young posted “Vim for TextMate fans” a couple of years back, in which he ponders how to get the best of both worlds:

I’ve used vim a lot over the years, mainly because I spent a long time using Linux and it was there so I used it. The choice was obvious: vim or vi were on almost every machine I had access to, and worked excellently both locally and remotely. Once I’d learnt the basics I was set, I knew enough to get my work done.

Then I found TextMate for Mac OS. The immediacy of TextMate made it easy to get started with, and it has many excellent features. The problem is, I’m not always using a Mac. But you know who’ll follow me around to every platform I use? Good old vim! So I started thinking, how could I make vim feel more like TextMate?

Check out his screencast for more.

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.

MIT: A Gentle Intro to Python

Courtesy of MIT and its OpenCourseWare website, here’s a selection from their Electrical Engineering and Computer Science courses: “A Gentle Introduction to Programming Using Python”.

This course will provide a gentle introduction to programming using Python™ for highly motivated students with little or no prior experience in programming computers. The course will focus on planning and organizing programs, as well as the grammar of the Python programming language. Lectures will be interactive featuring in-class exercises with lots of support from the course staff.

Advanced Bash Scripting Guide

From Mendel Cooper comes the Advanced Bash Scripting Guide: An in-depth exploration of the art of shell scripting.

This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction … all the while sneaking in little snippets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite active reader participation, under the premise that the only way to really learn scripting is to write scripts.

This book is suitable for classroom use as a general introduction to programming concepts.

Python on the command line

Via RootPrompt comes this IBM developerWorks article on “Using Python to create UNIX command line tools”. I’ve been experimenting with Python off-and-on for a while now, and what I’ve seen so far I love. Thanks to Noah Gift for the, as he describes it, “command line interface manifesto.”

Can you write a command line tool? Maybe you can, but can you write a really good command line tool? This articles covers making a robust command line tool in Python, complete with built-in help menus, error handling, and option handling. For some strange reason, it is not widely known that the standard library in Python® has all of the tools necessary to make incredible powerful *NIX command line tools.

Arguably, Python is the best language for making *NIX command line tools, period, due to its batteries-included philosophy, and its emphasis on readable code. Just a warning, though; these are dangerous ideas, when you find out how easy it is to create a command line tool in Python, you might be spoiled for life. To my knowledge, there has never been an article published in this detail on creating command line tools in Python, so I hope you enjoy it.

Syndicate content