Perk up your VPS and terminal with Zsh and more

Impro
One major complaint from those newer to hosting websites via a VPS, versus something more rudimentary like shared hosting, is that the terminal feels daunting and user-unfriendly. That's an understandable response, but once you spend some time at the Linux terminal, the unease fades quickly. Like most things with Linux, the terminal is highly customizable. With a few switches and some additional tools, you can create a terminal experience that not only feels more user-friendly, but is also far more pleasant to use. Warning: This blog post presents one (opinionated) way to improve the terminal experience on a VPS—if you have a different route, I'd love to hear about it in the comments! I'm probably missing out on plenty of awesomeness. I'm also aware of other shells like Fish, and that Oh-My-Zsh is found to be excessive by many, but this is just one pathway to finding what works best for you.

Pick a good terminal emulator to work with

A good command line experience on your VPS will only ever be as good as the terminal emulator you use to access it. Choosing a good one, and one that you like, is fundamental to this whole exercise. To be clear, I'm talking about the program, running on your own computer, that you use to ssh into your VPS. There are dozens of such programs, and it's ultimately up to personal preference. Windows users are most likely to use PuTTY, but cmder offers the same ssh functionality with some additional features, plus a nicer look overall. OS X comes with Terminal.app built-in, although many like iTerm2 as an alternative. Linux users rejoice—there are so many options, for so many different kinds of users. Your distribution will come with one emulator (probably GNOME Terminal), but you can also try Guake, rxvt, st, Terminator, and more. The Hyper terminal. For those who use multiple operating systems and want consistency, a few cross-platform options are available as well, such as Hyper and Alacritty. You can even get Terminus on your Android/iOS devices. [cta text="Don't have a VPS yet? Want a new server to play around in?" button="Start beautifying your terminal"]

Install Zsh on your VPS

The default Unix shell that comes with Ubuntu, Debian, CentOS, and others—Bash—is very capable, but doesn't come with a number of features that allow for user customization, whether the end goal is beauty or functionality. Even though Zsh was first released in 1990, it still modernized many of Bash's original approaches. First and foremost, Zsh comes with built-in, sophisticated autocompletion, which improves the overall terminal experience immediately. For example, you can type in ls, and then hit Tab, and you'll see a list of possible completions. Hit Tab again and you'll see that you've selected the first item on the list. Now you can use Tab again to cycle through the options, or get more fine-grained control with your arrow keys. Find the autocomplete you need, hit Enter, and you're off. Zsh will auto autocorrect your mistakes as well, so if.... Read More