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()
|