Skip to main content

My Development Environment Discussion

General • Asked by Chris Oliver

Vim tip: you can type :help [command] and vim will tell you what that command does. sometimes these descriptions can be so descriptive they're sort of confusing.

the one that saved me SO MUCH time, but I didn't know about for a year, was =

:help =

and also.. gg = (shift + g)


If working on OSX, check out Dash for API referencing and snippets - https://kapeli.com/dash - integrates with most major IDE's - searchable, offline mode, etc...


just check oh my fish i think it's better than oh my zsh

you do not get auto complete with on my fish

you can custom omz to add some fish-like behaviour, for example I use autosuggest

how to do like that can u send me a link please? thank u


This is a good stack. You should add tmux to your toolbox, it help a lot managing multi-project and complexe projet + it's a good start for remote (remember all good dev are not in big town) pairprogramming.


Awesome setup! Thanks for posting this. In my case, I switched to vim in January, got up to speed in two weeks. The main way I learned was having a cheat sheet with no more than 7 commands that I would revisit everytime I needed. The trick is, once you learn it, delete it from the cheat sheet and add another one. If you don't learn it after 2 weeks, delete it as well (since you won't be using it). That has worked like a charm for me.

Also, one of the main reasons to use vim is the dot ('.') command to repeat the last command. Extremely fast and useful when combined with search.

Tmux is the perfect vim companion if you use it in the terminal. Splitting panes, windows and sessions keeps everything highly organized, and you can customize it to make it behave just like vim.

All in all, so much stuff can be overwhelming. Take it easy, one step at a time, and you'll eventually get up to speed. The beauty of this is that it is so vast a topic, that you never stop learning.

@Chris I'd love to help out teaching this stuff. I have it fresh on my mind, since I'm a beginner as well. Feel free to PM :)

I really like you cheatsheet method. I'll try to use it in my everyday learnings to avoid what's not important while giving confidence in what you've memorized!


On the topic of users moving from sublime to vim - some other helpful tools that a a sublime user, or any user would want
https://github.com/Valloric...

For those who use rspec and want to run specs by line number within the file rather than the command line.
https://github.com/thoughtb...


Another really great stack is https://github.com/skwp/dot...

it includes the Zsh, vim, tmux, plus a ton of plugins for them, with a super simple install script.

Also the thoughtbot dotfiles are pretty awesome right out of the box.

https://github.com/thoughtb...

I second the skwp dot files stack. That's my favorite. A lot of nice shortcuts added to VIM from those Ruby packages as well.

Jared thanks for sharing the SKWP. I can't tell you how many times I have had to configure all these different components together using other dot files that I have tried. Now with this one, every single thing works like it should!
Now I just have to figure out how to make my whole environment automated with something like tmuxinator. Thanks for making my life easy!! cheers! :)


Hey, nice video :)

You didn't talk much about your hardware equipment, do you use MacBook Pro 13' or 15' ?

Great question! I'm using a Macbook Pro Retina 15" and a Thunderbolt display. Here's some more info: http://excid3.com/about/


I set up iTerm and Oh My ZSH just as in the video and everything works fine except when I first start iTerm my username starts out red, however it will turn to green if I type any command, ie: cd. Any ideas why?


oh my zsh is great. I haven't gotten too much into vim itself as I've learned that refactoring horrible code is much easier in an actual IDE when you don't know vim too well.

As others have stated, tmux is a great tool however -- I use it religiously.

With my basic terminal looking like:
http://cl.ly/012N312d050s

on the 2nd line, the [:0s] is how long the last command took to complete.

Then my tmux with vim
http://cl.ly/302z3M1t1j40

where my tmux uses powerline, and my vim also uses powerline for a pretty cool look and a visual way for me to see what mode i'm in, as well as what branch i'm in as well.

And if anyone wants the tm script I have it's on a gist here: https://gist.github.com/ch0...

where in you would type:
tm and be presented with a prompt to select either "1" or "2" for your default prompt ( which in mine is zsh but named bash in the prompt ) then once you have initiated a tmux session "1" becomes that session, and goes on for as many sessions/apps as you've created allowing you to quickly dismiss an entire app and pull up a new one and pickup right where you left off.


Hi Chris! I'm getting this error when trying to install your color scheme "The selected file could not be read or did not contain a valid color scheme."

If you mean the ZSH theme, make sure you copy it into the ~/.oh-my-zsh/themes folder.

When I try and import the profile.itermcolors file within the colors tab in iterm2 preferences, that's when I get the error. I did also try and install the ZSH theme as well and I get this error "/.oh-my-zsh/themes/excid3.zsh-theme:6: parse error near `\n'". (I copied the file into the theme folder and changed the .zshrc file to load your theme.)

Hmm, works just fine for me when I import it here: http://cl.ly/g2px It's the one named "profile" after you import.

As for the zsh theme, I'm not sure why this line would cause any problems: https://github.com/excid3/d...

Ah i'm a dumb ass and downloaded the files from git incorrectly - works fine :) Thanks!

That would do it! :)


I've been using sublime text for my rails and javascript apps but I'll be interested in using vim.
Could you make a screeencast on vim usage and customization.


Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 27,623+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.