Dont remember.
1 " Name: Moon Vim Configuration
2 " Author: Eugen Sawin <sawine@me73.com>
9 " nnoremap <leader>cc :'c,. s/^/\/\/ /<cr>
10 nnoremap <leader>hg :HeaderguardAdd<cr>
11 nnoremap <leader>1 :set lines=53 columns=85<CR><C-w>o
12 nnoremap <leader>2 :set lines=53 columns=171<CR><C-w>v
13 nnoremap <leader>dtr :%s/\s\+$<cr>
14 nnoremap <leader><space> :noh<cr>
16 nnoremap <leader>evim :split $MYVIMRC<cr>
17 nnoremap <leader>svim :source $MYVIMRC<cr>
18 nnoremap <leader>v <C-w>v<C-w>l
19 nnoremap <leader>h <C-w>s<C-w>l
29 inoremap <C-l> <right>
50 set wildmode=list:longest,full
52 set wildignore+=.hg,.git,.svn " Version control
53 set wildignore+=*.aux,*.out,*.toc " LaTeX intermediate files
54 set wildignore+=*.jpg,*.bmp,*.gif,*.png,*.jpeg " binary images
55 set wildignore+=*.o,*.obj,*.exe,*.dll,*.manifest " compiled object files
56 set wildignore+=*.spl " compiled spelling word lists
57 set wildignore+=*.sw? " Vim swap files
58 set wildignore+=*.luac " Lua byte code
59 set wildignore+=migrations " Django migrations
60 set wildignore+=*.pyc " Python byte code
61 set wildignore+=*.orig " Merge resolution files
63 set wildignore+=classes
72 set statusline=%.50F " (almost) full path to file
73 set statusline+=%= " align right
74 set statusline+=%l/%L " line / total lines
77 let &shiftwidth=indentspace
78 let &tabstop=indentspace
80 let &softtabstop=indentspace
84 set formatoptions=qrn1
86 " highlight OverLength ctermbg=red ctermfg=white guibg=#592929
87 " match OverLength /\%80v.\+/
95 set gcr=a:blinkwait0,a:block-cursor
98 set backspace=indent,eol,start
103 " set foldmethod=indent
113 set undodir=~/.vim/tmp/undo//
114 set backupdir=~/.vim/tmp/backup//
115 set directory=~/.vim/tmp/swap//
135 if exists("loaded_headerguard")
138 let loaded_headerguard = 1
141 " Save 'cpoptions' and set Vim default to enable line continuations.
142 let s:save_cpoptions = &cpoptions
145 if ! exists("*g:HeaderguardName")
146 function! g:HeaderguardName()
147 return toupper(expand('%:t:gs/[^0-9a-zA-Z_]/_/g'))
151 if ! exists("*g:HeaderguardLine1")
152 function! g:HeaderguardLine1()
153 return "#ifndef " . g:HeaderguardName()
157 if ! exists("*g:HeaderguardLine2")
158 function! g:HeaderguardLine2()
159 return "#define " . g:HeaderguardName()
163 if ! exists("*g:HeaderguardLine3")
164 function! g:HeaderguardLine3()
165 return "#endif /* " . g:HeaderguardName() . " */"
169 function! s:HeaderguardAdd()
170 " Test for empty filename.
172 echoerr "Empty filename (save file and try again)."
175 " Locate first, second, and last pre-processor directives.
177 let s:poundLine1 = search('^#', "cW")
178 let s:poundLine2 = search('^#', "W")
179 call cursor(line("$"), col("$"))
180 let s:poundLine3 = search('^#', "b")
182 " Locate #ifndef, #define, #endif directives.
184 let s:regex1 = '^#\s*ifndef\s\+\w\+\|'
185 let s:regex1 .= '^#\s*if\s\+!\s*defined(\s*\w\+\s*)'
186 let s:guardLine1 = search(s:regex1, "cW")
187 let s:guardLine2 = search('^#\s*define', "W")
188 call cursor(line("$"), col("$"))
189 let s:guardLine3 = search('^#\s*endif', "b")
191 " Locate #define of desired guardName.
193 let s:guardDefine = search('^#\s*define\s\+' .
194 \ g:HeaderguardName() . '\>', "cW")
196 " If the candidate guard lines were found in the proper
197 " location (the outermost pre-processor directives), they
198 " are deemed valid header guards.
199 if s:guardLine1 > 0 && s:guardLine2 > 0 && s:guardLine3 > 0 &&
200 \ s:guardLine1 == s:poundLine1 &&
201 \ s:guardLine2 == s:poundLine2 &&
202 \ s:guardLine3 == s:poundLine3
203 " Replace existing header guard.
204 call setline(s:guardLine1, g:HeaderguardLine1())
205 call setline(s:guardLine2, g:HeaderguardLine2())
206 call setline(s:guardLine3, g:HeaderguardLine3())
207 " Position at new header guard start.
208 call cursor(s:guardLine1, 1)
210 elseif s:guardDefine > 0
211 echoerr "Found '#define " . g:HeaderguardName() .
212 \ "' without guard structure"
213 " Position at unexpected #define.
214 call cursor(s:guardDefine, 1)
217 " No header guard found.
218 call append(0, [ g:HeaderguardLine1(), g:HeaderguardLine2(), "" ])
219 call append(line("$"), ["", g:HeaderguardLine3()])
223 command! HeaderguardAdd call s:HeaderguardAdd()
225 " Restore saved 'cpoptions'.
226 let cpoptions = s:save_cpoptions
227 " vim: sts=4 sw=4 tw=80 et ai: