Vim and Tmux on your Mac
Setting up your computer for Vim and Tmux often comes with a few issues. Here's how to manage plugins for Vim and use Tmux to boost your productivity, as well as settle a few common issues.
We'll also figure out some issues Mac and Tmux have with showing 256 color themes.
You can install Vundle by cloning it:
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
Once installed, you can configure it.
And follow the installation directions by editing your
set nocompatible filetype off " Required set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Bundle 'gmarik/vundle' " Required filetype plugin indent on " Required
Once this is setup, you can open a new instance of vim and run
$ vim # Any file will do :BundleInstall
You'll get a confirmation "Done" message on the bottom of your screen if all goes well.
Add Solarized Color Theme
Next, we'll add the Solarized color theme. Vundle makes this really easy. Simply add the Github repository name in
Bundle 'gmarik/vundle' " We saw this before Bundle 'altercation/vim-colors-solarized' " New line!! " Some settings to enable the theme: set number " Show line numbers syntax enable " Use syntax highlighting set background=dark colorscheme solarized
Now that we've added the solarized theme, we need to have Vundle install it.
$ vim :BundleInstall
Now open up your Terminal (iTerm2 or Terminal app). If you're on a Mac, you may see something...ugly. I had a terrible background and the colors were completley off. I didn't have 256 color enabled.
Here's what I saw:
To fix that, I finally came across this StackOverflow question, which had the answer waiting.
~.vimrc settings from above to the following:
" Some settings to enable the theme: set number syntax enable set background=dark let g:solarized_termcolors = 256 " New line!! colorscheme solarized
Once you start up a new instance of Vim, you should see your new, colored vim!
Let's up our game and get Tmux into the mix. We can use Tmux to open up multiple "panes" within our shell.
First, install it. On your Mac, you can use Homebrew:
$ brew install tmux
Ubuntu or Debian users can user
$ sudo apt-get install tmux
Great. Now, colors are also an issue when running Vim within Tmux. Let's fix that. Create or edit the file
$ vim ~/.tmux.conf > set -g default-terminal "screen-256color"
Now we're ready to use Tmux. Start up a new Tmux session:
Next, split the screen vertically so we have 2 panes with this keyboard shortcut:
You can switch between panes with this shortcut:
You can then open up separate files in each! (Or do ... anything really).
Tmux has Windows, and within the Windows it has Panes. Each Window consists of a set of 1-n Panes.
Tmux also has Sessions. A collection of Windows/Panes live within a Session. You can detach from a Session, leaving it running in the background. You can later re-attach to it, and continue working. This is how people pair program.
Split Screen into 2 Panes:
Split current Pane horizontally into 2 Panes:
Switch between Panes:
Create new Window:
Switch between Windows:
Ctrl-b n # next Ctrl-b p # previous
Detach from Session:
Re-attach to a Session:
tmux attach -t [session-name]
Create a Session:
tmux new -s [session-name]
Switch between Sessions:
tmux switch -t [session-name]
Switch between Sessions within Tmux:
Ctrl-b ( # previous session Ctrl-b ) # next session Ctrl-b L # ‘last’ (previously used) session Ctrl-b s # choose a session from a list
List all commands:
You can run this bash script on your Debian or Ubuntu server to run the above Vim+Tmux configurations. This might conflict with anything you currently have in your
~/.tmux.conf files (If they already exist). Back them up first.