diff --git a/.gitmodules b/.gitmodules
index 305b9af8bcd1bc4d50966ba6fa175044a8c56854..62cfbec2462c3c24816d3f9ecacf6ac834215b93 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -11,6 +11,10 @@
         path = .vim/bundle/ack.vim
         url = https://github.com/mileszs/ack.vim.git
 
+[submodule ".vim/bundle/delimitMate"]
+        path = .vim/bundle/delimitMate
+        url = https://github.com/Raimondi/delimitMate.git
+
 [submodule ".vim/bundle/nerdcommenter"]
         path = .vim/bundle/nerdcommenter
         url = https://github.com/scrooloose/nerdcommenter.git
@@ -42,6 +46,9 @@
 [submodule ".vim/bundle/JavaScript-Indent"]
         path = .vim/bundle/JavaScript-Indent
         url = https://github.com/vim-scripts/JavaScript-Indent.git
+[submodule ".vim/bundle/ctrlp.vim"]
+	path = .vim/bundle/ctrlp.vim
+	url = https://github.com/ctrlpvim/ctrlp.vim.git
 [submodule "dash.vim"]
 	path = .vim/bundle/dash.vim
 	url = https://github.com/rizzatti/dash.vim.git
diff --git a/.gitmodules.orig b/.gitmodules.orig
new file mode 100644
index 0000000000000000000000000000000000000000..9ff4818112a6516671987f457ca25f0f5c32954a
--- /dev/null
+++ b/.gitmodules.orig
@@ -0,0 +1,49 @@
+# Core
+[submodule ".vim/bundle/pathogen"]
+        path = .vim/bundle/vim-pathogen
+        url = https://github.com/tpope/vim-pathogen.git
+
+[submodule ".vim/bundle/ack.vim"]
+        path = .vim/bundle/ack.vim
+        url = https://github.com/mileszs/ack.vim.git
+
+[submodule ".vim/bundle/nerdcommenter"]
+        path = .vim/bundle/nerdcommenter
+        url = https://github.com/scrooloose/nerdcommenter.git
+
+[submodule ".vim/bundle/nerdtree"]
+        path = .vim/bundle/nerdtree
+        url = https://github.com/scrooloose/nerdtree.git
+
+[submodule ".vim/bundle/supertab"]
+        path = .vim/bundle/supertab
+        url = https://github.com/ervandew/supertab.git
+
+[submodule ".vim/bundle/vimerl"]
+        path = .vim/bundle/vimerl
+        url = https://github.com/jimenezrick/vimerl.git
+
+[submodule ".vim/bundle/markdown"]
+        path = .vim/bundle/vim-markdown
+        url = https://github.com/tpope/vim-markdown.git
+
+[submodule ".vim/bundle/syntastic"]
+        path = .vim/bundle/syntastic
+        url = https://github.com/scrooloose/syntastic.git
+
+[submodule ".vim/bundle/vim-javascript-syntax"]
+        path = .vim/bundle/vim-javascript-syntax
+        url = https://github.com/jelera/vim-javascript-syntax.git
+
+[submodule ".vim/bundle/JavaScript-Indent"]
+        path = .vim/bundle/JavaScript-Indent
+        url = https://github.com/vim-scripts/JavaScript-Indent.git
+<<<<<<< HEAD
+[submodule "dash.vim"]
+	path = .vim/bundle/dash.vim
+	url = https://github.com/rizzatti/dash.vim.git
+=======
+[submodule ".vim/bundle/ctrlp.vim"]
+	path = .vim/bundle/ctrlp.vim
+	url = https://github.com/ctrlpvim/ctrlp.vim.git
+>>>>>>> 3a3d0bc9a3eed99ba5b125b33d8b396da582e96b
diff --git a/.vimrc b/.vimrc
index c19f36249d83bab6ea4abdfe8a4e6f07cfa48453..ee4adde64424b1133005715377cc63990a3d0050 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,7 +1,5 @@
 set nocompatible
 
-let mapleader=','
-
 " Initialize Pathogen
 runtime bundle/vim-pathogen/autoload/pathogen.vim
 execute pathogen#infect()
@@ -42,6 +40,9 @@ fun! <SID>StripTrailingWhitespaces()
 endfun
 autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()
 
+" Close window if last remaining window is NerdTree
+autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
+
 " Search related settings
 set incsearch
 set hlsearch
@@ -55,10 +56,6 @@ nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
 " Disable code folding
 set nofoldenable
 
-" Directories for swp files
-set backupdir=~/.vim/backups
-set directory=~/.vim/backups
-
 " NERDTree configuration
 let NERDTreeIgnore=['\.pyc$', '\.rbc$', '\~$']
 map <Leader>n :NERDTreeToggle<CR>
@@ -78,9 +75,6 @@ au BufNewFile,BufRead *.json set ft=javascript
 " make Python follow PEP8 ( http://www.python.org/dev/peps/pep-0008/ )
 au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=79
 
-" allow backspacing over everything in insert mode
-set backspace=indent,eol,start
-
 " ctrp custom ignores
 let g:ctrlp_custom_ignore = {
   \ 'dir':  '\.git$\|\.hg$\|\.svn$\|\.eunit$',
@@ -89,3 +83,10 @@ let g:ctrlp_custom_ignore = {
 
 let g:erlangCheckFile = "~/.vim/bundle/vimerl/compiler/erlang_check_file.erl"
 let g:erlangHighlightErrors = 1
+
+" Use Ag instead of Ack
+let g:ackprg = 'ag --nogroup --nocolor --column'
+
+" Disable Swap and Backup Files
+set noswapfile
+set nobackup
diff --git a/.vimrc.orig b/.vimrc.orig
new file mode 100644
index 0000000000000000000000000000000000000000..c8636d01abb51fd9022df0d45fa806b1c223ec2b
--- /dev/null
+++ b/.vimrc.orig
@@ -0,0 +1,101 @@
+set nocompatible
+
+let mapleader=','
+
+" Initialize Pathogen
+runtime bundle/vim-pathogen/autoload/pathogen.vim
+execute pathogen#infect()
+
+" Enable syntax highlighting
+syntax on
+filetype plugin indent on
+
+" Colorscheme see https://github.com/hukl/Smyck-Color-Scheme
+color smyck
+
+" Add line numbers
+set number
+set ruler
+
+" Set encoding
+set encoding=utf-8
+
+" Whitespace stuff
+set nowrap
+set tabstop=2
+set shiftwidth=2
+set softtabstop=2
+set expandtab
+
+" Show trailing spaces and highlight hard tabs
+set list listchars=tab:»·,trail:·
+
+" allow backspacing over everything in insert mode
+set backspace=indent,eol,start
+
+" Strip trailing whitespaces on each save
+fun! <SID>StripTrailingWhitespaces()
+    let l = line(".")
+    let c = col(".")
+    %s/\s\+$//e
+    call cursor(l, c)
+endfun
+autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()
+
+" Close window if last remaining window is NerdTree
+autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
+
+" Search related settings
+set incsearch
+set hlsearch
+
+" Map Ctrl+l to clear highlighted searches
+nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
+
+" Highlight characters behind the 80 chars margin
+:au BufWinEnter * let w:m2=matchadd('ColumnMargin', '\%>80v.\+', -1)
+
+" Disable code folding
+set nofoldenable
+
+<<<<<<< HEAD
+" Directories for swp files
+set backupdir=~/.vim/backups
+set directory=~/.vim/backups
+
+=======
+>>>>>>> 3a3d0bc9a3eed99ba5b125b33d8b396da582e96b
+" NERDTree configuration
+let NERDTreeIgnore=['\.pyc$', '\.rbc$', '\~$']
+map <Leader>n :NERDTreeToggle<CR>
+
+" make uses real tabs
+au FileType make set noexpandtab
+
+" Erlang uses 4 spaces
+au FileType erlang set softtabstop=4 tabstop=4 shiftwidth=4
+
+" Thorfile, Rakefile, Vagrantfile and Gemfile are Ruby
+au BufRead,BufNewFile {Gemfile,Rakefile,Vagrantfile,Thorfile,config.ru}    set ft=ruby
+
+" add json syntax highlighting
+au BufNewFile,BufRead *.json set ft=javascript
+
+" make Python follow PEP8 ( http://www.python.org/dev/peps/pep-0008/ )
+au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=79
+
+" ctrp custom ignores
+let g:ctrlp_custom_ignore = {
+  \ 'dir':  '\.git$\|\.hg$\|\.svn$\|\.eunit$',
+  \ 'file': '\.exe$\|\.so$\|\.dll\|\.beam$\|\.DS_Store$'
+  \ }
+
+let g:erlangCheckFile = "~/.vim/bundle/vimerl/compiler/erlang_check_file.erl"
+let g:erlangHighlightErrors = 1
+
+" Use Ag instead of Ack
+let g:ackprg = 'ag --nogroup --nocolor --column'
+
+" Disable Swap and Backup Files
+set noswapfile
+set nobackup