diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..e767f50
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,9 @@
+[submodule "vim/.vim/bundle/clang_complete"]
+ path = vim/.vim/bundle/clang_complete
+ url = https://github.com/xavierd/clang_complete
+[submodule "vim/.vim/bundle/supertab"]
+ path = vim/.vim/bundle/supertab
+ url = https://github.com/ervandew/supertab
+[submodule "vim/.vim/bundle/unicode.vim"]
+ path = vim/.vim/bundle/unicode.vim
+ url = https://github.com/chrisbra/unicode.vim
diff --git a/vim/.vim/autoload/pathogen.vim b/vim/.vim/autoload/pathogen.vim
new file mode 100644
index 0000000..3582fbf
--- /dev/null
+++ b/vim/.vim/autoload/pathogen.vim
@@ -0,0 +1,264 @@
+" pathogen.vim - path option manipulation
+" Maintainer: Tim Pope
+" Version: 2.4
+
+" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
+"
+" For management of individually installed plugins in ~/.vim/bundle (or
+" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
+" .vimrc is the only other setup necessary.
+"
+" The API is documented inline below.
+
+if exists("g:loaded_pathogen") || &cp
+ finish
+endif
+let g:loaded_pathogen = 1
+
+" Point of entry for basic default usage. Give a relative path to invoke
+" pathogen#interpose() or an absolute path to invoke pathogen#surround().
+" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all
+" subdirectories inside "bundle" inside all directories in the runtime path.
+" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}"
+" on versions of Vim without native package support.
+function! pathogen#infect(...) abort
+ if a:0
+ let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")')
+ else
+ let paths = ['bundle/{}', 'pack/{}/start/{}']
+ endif
+ if has('packages')
+ call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"')
+ endif
+ let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$'
+ for path in filter(copy(paths), 'v:val =~# static')
+ call pathogen#surround(path)
+ endfor
+ for path in filter(copy(paths), 'v:val !~# static')
+ if path =~# '^\%([$~\\/]\|\w:[\\/]\)'
+ call pathogen#surround(path)
+ else
+ call pathogen#interpose(path)
+ endif
+ endfor
+ call pathogen#cycle_filetype()
+ if pathogen#is_disabled($MYVIMRC)
+ return 'finish'
+ endif
+ return ''
+endfunction
+
+" Split a path into a list.
+function! pathogen#split(path) abort
+ if type(a:path) == type([]) | return a:path | endif
+ if empty(a:path) | return [] | endif
+ let split = split(a:path,'\\\@]','\\&','')
+ endif
+endfunction
+
+" Like findfile(), but hardcoded to use the runtimepath.
+function! pathogen#runtime_findfile(file,count) abort
+ let rtp = pathogen#join(1,pathogen#split(&rtp))
+ let file = findfile(a:file,rtp,a:count)
+ if file ==# ''
+ return ''
+ else
+ return fnamemodify(file,':p')
+ endif
+endfunction
+
+" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':
diff --git a/vim/.vim/bundle/clang_complete b/vim/.vim/bundle/clang_complete
new file mode 160000
index 0000000..0b98d75
--- /dev/null
+++ b/vim/.vim/bundle/clang_complete
@@ -0,0 +1 @@
+Subproject commit 0b98d7533ad967aac3fc4c1a5b0508dafa8a676f
diff --git a/vim/.vim/bundle/supertab b/vim/.vim/bundle/supertab
new file mode 160000
index 0000000..40fe711
--- /dev/null
+++ b/vim/.vim/bundle/supertab
@@ -0,0 +1 @@
+Subproject commit 40fe711e088e2ab346738233dd5adbb1be355172
diff --git a/vim/.vim/bundle/unicode.vim b/vim/.vim/bundle/unicode.vim
new file mode 160000
index 0000000..29f43f7
--- /dev/null
+++ b/vim/.vim/bundle/unicode.vim
@@ -0,0 +1 @@
+Subproject commit 29f43f7b1be94dccfac461f4da0a34410408111f
diff --git a/vim/.vimrc b/vim/.vimrc
index a793866..7900b90 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -1,5 +1,5 @@
" Single-quote is a comment written to be read
-" Double-quotes ("") are commented out code and can be removed or added
+" Double-quotes are commented out code and can be removed or added
" Set tabwidth=2, adjust Vim shiftwidth to the same
set tabstop=2 shiftwidth=2
@@ -31,4 +31,3 @@ filetype plugin indent on
" Set window jump to custom binding
" default Ctrl-W conflict - closes browser tabs
nnoremap
-