annotate vim/.vimrc @ 28:cae546f293ff

Merge
author Brian Neal <bgneal@gmail.com>
date Thu, 27 Oct 2016 20:36:14 -0500
parents d17e9bd25f68
children c6c54a36f6a7
rev   line source
bgneal@0 1 set nocompatible
bgneal@0 2 "source $VIMRUNTIME/vimrc_example.vim
bgneal@0 3 "source $VIMRUNTIME/mswin.vim
bgneal@0 4 "behave mswin
bgneal@0 5
bgneal@0 6 set nobackup
bgneal@0 7 set tabstop=3
bgneal@0 8 set shiftwidth=3
bgneal@0 9 set backspace=indent,eol,start
bgneal@0 10 set expandtab
bgneal1@9 11 set textwidth=79
bgneal@0 12 set number
bgneal@0 13 set ruler
bgneal@0 14 set history=1000
bgneal@0 15 set encoding=utf-8
bgneal@4 16 set showcmd
bgneal@0 17
bgneal@0 18 " CtrlP related settings
bgneal@20 19 set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*.o,*.swp,*.pyc
bgneal@20 20 let g:ctrlp_working_path_mode = 'ra'
bgneal@25 21 let g:ctrlp_max_files = 30000
bgneal@0 22
bgneal@0 23 " This allows % to toggle on if/elsif/else/end, XML tags, & more
bgneal@0 24 runtime macros/matchit.vim
bgneal@0 25
bgneal@0 26 " These two options make /-style searching case-sensitive only if there
bgneal@0 27 " is a capital letter in the search expression.
bgneal@0 28 set ignorecase
bgneal@0 29 set smartcase
bgneal@0 30
bgneal@0 31 " Sets the terminal title when run in an xterm
bgneal@0 32 set title
bgneal@0 33
bgneal@0 34 " This puts more context around the cursor when scrolling
bgneal@0 35 set scrolloff=3
bgneal@0 36
bgneal1@9 37 let g:netrw_sort_sequence = "[\/]$,*,\.bak$,\.o$,\.info$,\.swp$,\.obj$"
bgneal@0 38
bgneal@25 39 if has('vim_starting')
bgneal@25 40 set runtimepath+=~/.vim/bundle/dart-vim-plugin
bgneal@25 41 endif
bgneal@25 42
bgneal@0 43 syntax on
bgneal@0 44 filetype on
bgneal@0 45 filetype plugin on
bgneal@0 46 filetype indent on
bgneal@0 47 set hlsearch
bgneal@0 48 set incsearch
bgneal@0 49
bgneal@0 50 " highlight trailing spaces
bgneal@0 51 let c_space_errors = 1
bgneal1@9 52 let python_space_error_highlight = 1
bgneal@0 53
bgneal@26 54 "set background=dark
bgneal@26 55 "colorscheme peaksea2
bgneal@26 56 syntax enable
bgneal@2 57 set background=dark
bgneal@26 58 set rtp+=~/.vim/bundle/vim-colors-solarized
bgneal@26 59 colorscheme solarized
bgneal@0 60
bgneal@0 61 " shortcut for word completion in insert mode
bgneal@0 62 imap <S-Tab> <C-n>
bgneal@0 63
bgneal@0 64 " buffer next and previous commands
bgneal@16 65 " TODO: find a better mapping
bgneal@16 66 " TODO: nnoremap <Tab> :bnext<CR>
bgneal@16 67 " TODO: nnoremap <S-Tab> :bprevious<CR>
bgneal@0 68
bgneal@0 69 " Remove extra trailing spaces
bgneal@0 70 nnoremap <F2> :%s/\s\+$//<CR>
bgneal@0 71
bgneal@4 72 " setlocal spell spelllang=en_us
bgneal@0 73
bgneal@16 74 let mapleader="\\"
bgneal@6 75
bgneal1@9 76 " ctags support
bgneal1@9 77
bgneal1@9 78 function BgnCtags()
bgneal@21 79 let s:d = finddir(".hg", ";")
bgneal@21 80 if s:d == ""
bgneal@21 81 let s:d = finddir(".git", ";")
bgneal@21 82 endif
bgneal@21 83 if s:d == ""
bgneal@21 84 echo "No root directory found"
bgneal@21 85 return
bgneal@21 86 endif
bgneal@21 87 let s:path = fnamemodify(s:d, ":p:h:h")
bgneal@21 88 let s:tags = s:path . "/.tags"
bgneal@21 89 let s:cmd = "ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --languages=-all --languages=+c,c++,python,actionscript -f " . s:tags . " " . s:path
bgneal@21 90 echo s:cmd
bgneal@21 91 call system(s:cmd)
bgneal1@9 92 endfunction
bgneal1@9 93
bgneal@21 94 nnoremap <leader>c :call BgnCtags()<CR>
bgneal@21 95 "nnoremap <F9> :tn<CR>
bgneal@21 96 "nnoremap <F10> :tp<CR>
bgneal@21 97 "nnoremap <F11> :tj<CR>
bgneal@21 98 set tags=.tags;/
bgneal1@9 99
bgneal1@9 100 " Trial settings
bgneal1@9 101 set wildmenu
bgneal1@9 102 set wildmode=list:longest
bgneal1@9 103 set laststatus=2
bgneal1@9 104 set gdefault
bgneal1@9 105 set showmatch
bgneal@10 106 set formatoptions=tcqrn1
bgneal@16 107 nnoremap <leader>/ :noh<CR>
bgneal@16 108 nnoremap / /\v
bgneal@16 109 vnoremap / /\v
bgneal1@9 110
bgneal1@9 111 " Splitting windows and moving around between them:
bgneal@16 112 nnoremap <leader>v <C-w>v<C-w>l
bgneal1@9 113 nnoremap <C-h> <C-w>h
bgneal1@9 114 nnoremap <C-j> <C-w>j
bgneal1@9 115 nnoremap <C-k> <C-w>k
bgneal1@9 116 nnoremap <C-l> <C-w>l
bgneal1@9 117
bgneal1@9 118 " Absolute vs relative line numbers:
bgneal@16 119 nnoremap <leader>na :set norelativenumber<CR>:set number<CR>
bgneal@16 120 nnoremap <leader>nr :set relativenumber<CR>
bgneal1@9 121
bgneal1@9 122 " Format paragraph
bgneal@16 123 nnoremap <leader>p gqip
bgneal1@9 124
bgneal@22 125 " Actionscript support
bgneal@22 126 let tlist_actionscript_settings = 'actionscript;c:class;f:method;p:property;v:variable'
bgneal@22 127 au BufRead,BufNewFile *.mxml set ft=actionscript
bgneal@22 128
bgneal1@11 129 function BgnSwitchPart()
bgneal1@11 130 python << EOF
bgneal1@11 131 import vim, os.path, sys
bgneal1@11 132 fname = vim.current.buffer.name
bgneal1@11 133 base, ext = os.path.splitext(fname)
bgneal1@11 134 headers = ['.h', '.hxx']
bgneal1@11 135 impls = ['.cpp', '.cxx', '.cc', '.c']
bgneal1@11 136 new_exts = None
bgneal1@11 137 if ext in headers:
bgneal1@11 138 new_exts = impls
bgneal1@11 139 elif ext in impls:
bgneal1@11 140 new_exts = headers
bgneal1@11 141
bgneal1@11 142 if new_exts:
bgneal1@11 143 for ext in new_exts:
bgneal1@11 144 new_fname = base + ext
bgneal1@11 145 if os.path.exists(new_fname):
bgneal1@11 146 vim.command(":e %s" % new_fname)
bgneal1@11 147 break
bgneal1@11 148 else:
bgneal1@11 149 sys.stderr.write("Could not find other part\n")
bgneal1@11 150 else:
bgneal1@11 151 sys.stderr.write("Uknown extension %s" % ext)
bgneal1@11 152 EOF
bgneal1@11 153 endfunction
bgneal1@11 154
bgneal@16 155 nnoremap <leader>s :call BgnSwitchPart()<CR>
bgneal@25 156 nmap <silent> <Leader>e :Explore<CR>
bgneal1@11 157
bgneal@6 158 " Pathogen support
bgneal@6 159 call pathogen#infect()