Back Into the Shell

Step 1: The Editor (VIM)

One of the first things that really hit me was how little I remembered the vi editor. When I was in college all our work was done from a Sun Solaris shell using vi as our editor. I remember my professor trying to impress upon us why this completely “counter-intuitive tool” was superior to say, notepad. By graduation I still wasn’t sold on the idea, but I could fuddle my way around well enough that I didn’t complain much anymore. Fast forward to today as I’m working through tutorials online simply trying to remember how to exit the damn editor on my new Ubuntu Server droplet and it all starts coming together. The simplicity of chaining smaller commands into larger useful pieces now made sense. Years of working in Eclipse/Visual Studio/Sublime Text had taught me to be fairly efficient in editing with a standard text editor, but now I could really see the potential. No longer was I stuck with the crude home/end/pgup/down and shift+arrow combinations to move around a file. the many detailed forms of movement built into the vi commands made going exactly where I need to be in only a couple strokes a reality.

Step 2: The Shell (PowerShell)

PowerShell has been around for a while now, and I knew it had the full .NET framework behind it and that it was praised by window sysadmins over the classic windows shell. What I didn’t anticipate was how quickly you could pick it up and start doing useful things. My previous experiences in learning Bash scripting and DOS batch scripting were filled with confusion and frustration, but PowerShell was quite the opposite. Soon I had almost as much custom code in my powershell profile as I had in my .vimrc. I began running mercurial from the command line instead of the tortoise GUI, and I created a set of helper functions in my profile for MSBuild so I spent less and less time in Visual Studio.

Step 3: The Result (Efficiency)

While it might seem weird when I think about it, I know for a fact that I’m producing code faster and faster as I become more accustomed to these tools. I’m finally starting to understand what that professor was trying to pound into our heads all those years ago. It also makes the transition between the Windows environment at one job to the linux environment at the other so much more fluid. I’ve begun digging deeper into the world of vim commands via the book “Practical Vim” by Drew Neil. I can’t wait to see what my productivity looks like in a few months. I encourage any developer who has been in the industry for a while to check out vim or emacs just to try it. You may just find it helps you the same way it’s helped me.

--

--

Married, software-developing, backpacking, photographing, cooking, father of three. https://www.codecutting.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jake Moening

Jake Moening

61 Followers

Married, software-developing, backpacking, photographing, cooking, father of three. https://www.codecutting.com