Last thing of note is the Zsh Syntax Highlighting plugin. And that’s just scratching the surface with plugins. Z is “the new Autojump,” as they put it, and I can type any part of a folder name like z proj to jump to ~/sites/my- project in my command-line from anywhere.
The OSX plugin can open new Finder windows from my command-line, something not easily done from Bash. These help me out in auto-completing commands I type.
You can also install your own.Īs you can see, I have Homebrew, Git, Node, OSX, Postgres, Rbenv, and Z plugins installed. You can set the theme of your Terminal here with ZSH_THEME="themename" with one of the packaged themes. This is what mine looks like (with all the commented lines removed): export ZSH=$HOME/.oh-my-zsh # Theme ZSH_THEME="agnoster" # Plugins plugins=(brew git node osx postgres rbenv z zsh-syntax-highlighting) source $ZSH/oh-my-zsh.sh Open up and edit your ~/.zshrc file to change settings (this is your new ~/.bash_profile). To get started, run from your Terminal: sh -c "$(curl -fsSL )" Config So even though it behaves like your system Bash does, you can cleanly remove it at any time you wish. And fortunately, it’s easy to try Z shell as it isn’t a system dependency. Unlike Bash, this was designed to be customized, and you’ll thank yourself later for switching. Add Oh My Zsh, and you get the benefits of an actively-developed shell with a rich feature set along with a community-driven plugin ecosystem: you can tap into some powerful tools with no fuss. Z shell is a vast improvement over Bash, and you can invisibly set your system to use it instead (including Terminal, iTerm, and everything else you use).
Not to mention it’s a time sink hunting down all the random scripts and gists and throwing code willy-nilly into your ~/.bash_profile just to add one thing. Oh My Zsh adds pretty Git-flavored prompts and catches spelling errors as I type What is it?Īt a certain point, trying to customize macOS’ Bash shell with cool stuff like powerline can become a headache when you’re rebuilding your tools to depend on Python and burning time font debugging. I also need fuzzy finders, file trees, and other creature comforts Sublime & Atom users are used to. My tools need to be fast, but that doesn’t mean they should be ugly too. I also try to simplify configuration whenever possible-it’s not fun for me. Reading other posts telling me to install x, y, and z for my rig with no explanation, I’m always wondering: but why? I don’t assume what’s right for me is right for you, but I do keep things light and simple. As of October 2017, I’m using things in active development that are improvements on older tools from earlier this year and before. Tools and plugins not only become deprecated, but also superseded by something better/faster/leaner. Sure, there are a ton of blog posts already about this, but I wanted to toss this setup in the ring for 3 reasons:
So I’ve made the initial dive into Vim, and wanted to talk about it. Oh My Zsh + iTerm + Vim: a lean, mean, coding machineĭisclaimer: I have no idea what I’m doing.