]> git.rmz.io Git - dotfiles.git/blobdiff - vimrc
tabbing options
[dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index 24f13b305d1f99d8e080fd937ebfd5919da758c1..7269ee39315908cefa5bd1e20dd76631f5913e5c 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -16,6 +16,34 @@ nmap <silent> <Leader>n :silent nohl<CR>
 " use leader-# to display the number of matches for the last search
 nmap <Leader># :%s:<C-R>/::gn<CR>
 
+" line wrap {{{1
+set backspace=indent,eol,start " allow backspacing over everything in insert mode
+set wrap                       " wrap lines
+set linebreak                  " do not wrap in the middle of a word
+set showbreak=▒▒               " show these chars for wrapped lines
+
+" indent {{{1
+set expandtab           " expand <Tab> to spaces in Insert mode
+set smarttab            " a <Tab> in an indent inserts 'shiftwidth' spaces
+set softtabstop=4       " if non-zero, number of spaces to insert for a <Tab>
+set shiftwidth=4        " number of spaces used for each step of (auto)indent
+set shiftround          " round to 'shiftwidth' for "<<" and ">>"
+
+set cindent             " use smart C indenting (see :h C-indenting)
+set cinoptions=l1,c4,(0,U1,w1,m1,j1,J1
+
+:nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
+:nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
+:nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
+:nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
+
+" backup/undo {{{1
+set backup      " keep a backup file
+set backupdir=$HOME/.vim/backupdir
+
+set undofile    " persistent undo history
+set undodir=$HOME/.vim/backupdir
+
 " NERDTree {{{1
 " open/close NERDTree with \e
 nmap <Leader>e :NERDTreeToggle<CR>
@@ -29,25 +57,10 @@ autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTree
 " airline {{{1
 let g:airline#extensions#tabline#enabled = 1
 
-" tabbing {{{1
-:nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
-:nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
-:nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
-:nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
-
-" backup {{{1
-if has("vms")
-  set nobackup          " do not keep a backup file, use versions instead
-else
-  set backup            " keep a backup file
-  set backupdir=$HOME/.vim/backupdir
-endif
-
 " appearance {{{1
 set background=dark            " Dark background, d'uh!
 set number                     " show some linenumbers
 set showmatch                  " Show matching brackets.
-set showbreak=▒▒                  " show these chars for wrapped lines
 set list listchars=tab:»·,trail:· " show these chars for tabs and trailing spaces
 
 " misc options {{{1
@@ -59,14 +72,9 @@ set autowrite                  " Automatically save before commands like :next a
 "set hidden                    " Hide buffers when they are abandoned
 set splitright                 " split right when using :vsp
 set scrolloff=5                " keep at least n lines above/below
-set backspace=indent,eol,start " allow backspacing over everything in insert mode
 
 set viminfo='100,<50,s10,h,n~/.vim/viminfo " viminfo defaults but save file in .vim
 
-" tabs {{{1
-set softtabstop=4
-set shiftwidth=4
-set expandtab
 
 " misc bindings {{{1
 " Don't use Ex mode, use Q for formatting