I'm starting up a new blog about programming and productivity and the things that make my productivity better at my new job.
This particular post is about getting my terminal perfect for me. I've been using these settings for about a week and I can feel everything getting easier. Most of my work that isn't answering emails and going to meetings involves me using a terminal. Between vim and a set of zsh commands, my terminal becomes my best friend.
use tmux for multiple screens and ditch that xorg garbage.
Calling Xorg garbage is naive.
Even if you only use terminals, and you have to have a framebuffer that supports that native resolution of your screen, you'll find that Xorg is nearly always more performant.
"Art for Art’s sake is an empty phrase. Art for the sake of code, art for the sake of the terminal and the OS, that is the faith I am searching for." - Salvador Dali
use tmux for multiple screens and ditch that xorg garbage.
that first screenshot is actually just pulled from the internet. the third one (it was broken at first, then I fixed it) is from my laptop. My desktop, however, doesn't use tmux right now. May be something that I look into in the near future because it looks interesting.
Since you're on osx, you might look into iTerm2, which wraps tmux nicely and brings a few bells and whistles to the table.
In my scenario, I have to work on several tabs and splits for one topic/work (say it's Python work), and I usually have 2-3 topics in a day (office related, playing around, and maybe side-project stuff). I'm using tmux, and I tend to have 2-3 tabs for each topic, using only tmux to manage them is painful and ugly: there's too many tabs in the current display, and the default gnome terminal doesn't mix with the looks of everything else. So I'm using urxvt to manage the tabs, it's fast (sometimes I love verbosity), it can handle tabs beautifully, highly customizable, and the default shortcuts are good.
Cool guide. For beginners I'd also suggest restraint with your dotfiles. It's easy to rush into installing oh-my-zsh and using vim with every plugin you can find, but I found that made for a really confusing learning experience, especially if your config ever breaks.