aboutsummaryrefslogblamecommitdiff
path: root/vim/vimrc
blob: 2ace45edec1711ff502a9053693229749c1eba73 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                

                              
                                
 


                 
                      
                      

     

            


                     
 
        
                
                 
                       
                              


                                             

     
          


                      
                

     





                            

             
            




                 
 
         
                
 



                                 


                                  

                              
               
                


            
                                   
 



                                  
           

                    
 
        








                                          

                                                             


                   
 


                       
                                      

     


              




                    
       
                       



                                                             
                            



                              
     
 



                  

                  

                             





                                                     

     

                 
                    

                       

                      


                             
     


          


                                 

                   
                     
     
 


             
        


                          
 
" Compatibility
set nocompatible

" Plugins
silent! call pathogen#infect()
silent! call pathogen#helptags()

" Filetypes
if has("autocmd")
    filetype on
    filetype indent on
    filetype plugin on
endif

" Backups
set nobackup
if has("writebackup")
    set nowritebackup
endif

" Colors
if has("syntax")
    syntax enable
    set background=dark
    silent! colorscheme sahara
    if has("folding")
        set fillchars=diff:\ ,fold:\ ,vert:\ 
    endif
endif

" Commands
if has("cmdline_info")
    set ruler
    set showcmd
    set showmode
endif

" Encoding
set fileformats=unix,dos,mac
if has("multi_byte")
    set encoding=utf-8
endif

" Formatting
set expandtab
set smarttab
set nojoinspaces
set shiftround
set shiftwidth=4
set softtabstop=4
set tabstop=4

" History
set history=1000

" List
set nolist
nnoremap <leader>l :set list!<CR>

" Matching
silent! runtime macros/matchit.vim

" Miscellaneous
set backspace=indent,eol,start
set modelines=0
set shortmess+=I

" Numbers
set nonumber
nnoremap <leader>n :set number!<CR>

" Paste
set nopaste
nnoremap <leader>p :set paste!<CR>

" Scrolling
set scrolloff=0
set sidescrolloff=16

" Search
if has("extra_search")
    set hlsearch
    set incsearch
    nnoremap <leader>h :set hlsearch!<CR>
    nnoremap <leader>i :set incsearch!<CR>
    nnoremap <C-l> :nohlsearch<CR><C-l>
    if has("autocmd")
        augroup vimrc
            autocmd!
            silent! autocmd InsertEnter * setlocal nohlsearch
            silent! autocmd InsertLeave * setlocal hlsearch
        augroup END
    endif
endif

" Spelling
if has("spell")
    set spelllang=en_nz
    nnoremap <leader>s :set spell!<CR>
endif

" Swaps
set noswapfile

" Terminal
set noesckeys
set ttyfast
set visualbell t_vb=

" Typos
if has("user_commands")
    command! -bang -complete=file -nargs=? E e<bang> <args>
    command! -bang -complete=file -nargs=? W w<bang> <args>
    command! -bang -complete=file -nargs=? WQ wq<bang> <args>
    command! -bang -complete=file -nargs=? Wq wq<bang> <args>
    command! -bang Q q<bang>
    command! -bang WA wa<bang>
    command! -bang WQ wq<bang>
    command! -bang Wa wa<bang>
    command! -bang Wq wq<bang>
endif

" Unmaps
noremap <F1> <nop>
nnoremap K <nop>

" Wildmenu
if has("wildmenu")
    set wildmenu
    set wildmode=longest,list
    if has ("wildignore")
        set wildignore+=*.a,*.o
        set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png
        set wildignore+=.DS_Store,.git,.hg,.svn
        set wildignore+=*~,*.swp,*.tmp
    endif
endif

" Windows
if has("windows")
    set laststatus=1
    set splitbelow
    if has("vertsplit")
        set splitright
    endif
    if exists("&showtabline")
        set showtabline=1
    endif
endif

" Wrapping
set nowrap
nnoremap j gj
nnoremap k gk
nnoremap <leader>w :set wrap!<CR>
if has("linebreak")
    set linebreak
    set showbreak=...
endif

" Yanking
nnoremap Y y$

" Visual
if has("virtualedit")
    set virtualedit+=block
endif