da8c9c5cc77fda70c22ae53713411bb170f78b75
dblume Soften the status line colo...

dblume authored 10 months ago

1) " Version 2024-03-17.1 - status line color tweak
David Blume first commit

David Blume authored 9 years ago

2) set nocompatible    " Use Vim defaults, forget compatibility with vi.
3) set bs=2            " allow backspacing over everything in insert mode
4) set wildmenu        " Allows command-line completion with tab
5) set autoindent      " Copy indent from current line when starting a new line
6) set smartindent     " Do smart auto indenting when starting  new line
7) set smarttab        " Honor 'shiftwidth', 'tabstop' or 'softtabstop'
8) set hlsearch        " highlight all matches for previous search
dblume Better fold settings for zA

dblume authored 1 year ago

9) set foldlevel=99
David Blume first commit

David Blume authored 9 years ago

10) set nowrap          " no wrapping text lines on the screen (exceptions below)
11) set sidescroll=5
dblume May use nbsp in PS1; add it...

dblume authored 2 years ago

12) set listchars+=tab:>-,precedes:<,extends:>,nbsp:· " for :set list
dblume Starting trial with vim 'in...

dblume authored 1 year ago

13) set incsearch       " Navigate to matched strings while typing. Toggle: :set is!
dblume Set scrolloff to 0, EC2 def...

dblume authored 11 months ago

14) set scrolloff=0     " EC2 defaults to 5. Set explicitly to be consistent
dblume Vim to delete comment char...

dblume authored 10 months ago

15) set formatoptions+=j " Delete comment character when joining commented lines.
dblume Improve Esc key reaction, f...

dblume authored 10 months ago

16) set ttimeoutlen=100 " Affects Esc key, not leader.
dblume Decided I usually wanted ru...

dblume authored 2 months ago

17) set ruler           " Show cursor pos on right side of status bar
dblume Simplify vim titlestring: p...

dblume authored 9 months ago

18) " Set the title of the terminal window. Consider changing titlestring, %t, %M
19) set title titlestring=%f%m\ -\ vim
dblume Don't use unnamed register...

dblume authored 9 months ago

20) 
21) " Yank and put into the system Clipboard (register + or *)
22) " Otherwise make explicit commands "+yy "+y "+Y (or * instead of + as needed)
23) " N.B. Don't use unnamed register for clipboard (set clipboard=unnamed)
24) "      Delete operations would overwrite clipboard before pasting.
25) nnoremap <leader>c "+
26) vnoremap <leader>c "+
David Blume first commit

David Blume authored 9 years ago

27) 
28) if v:version >= 703
29)   " Do save the undo tree to file, but not in the local directory.
30)   " Don't forget to mkdir ~/.vim_undo
31)   set undodir=~/.vim_undo,.
32)   set undofile        " undo even after closing and reopening a file
33) endif
34) 
David Blume vimrc key remappings. jk as...

David Blume authored 6 years ago

35) " Make j and k move to the next row, not file line
36) nnoremap j gj
37) nnoremap k gk
38) 
39) " From Steve Losh: http://learnvimscriptthehardway.stevelosh.com/chapters/10.html
dblume Use j and k for navigating...

dblume authored 2 years ago

40) " Map jk to ESC in insert mode (except when navigating popup menu)
41) inoremap <expr> jk pumvisible() ? '' : '<esc>'
42) inoremap <expr> j pumvisible() ? '<Down>' : 'j'
43) inoremap <expr> k pumvisible() ? '<Up>' : 'k'
dblume Map Tab and CR to pull-up-m...

dblume authored 9 months ago

44) inoremap <expr> <Tab> pumvisible() ? '<Down>' : '<Tab>'
45) inoremap <expr> <S-Tab> pumvisible() ? '<Up>' : '<S-Tab>'
46) inoremap <expr> <cr> pumvisible() ? '<C-y>' : '<cr>'
David Blume vimrc key remappings. jk as...

David Blume authored 6 years ago

47) 
dblume Add easier window navigation.

dblume authored 2 years ago

48) " https://stevelosh.com/blog/2010/09/coming-home-to-vim/#s3-why-i-came-back-to-vim
49) nnoremap <leader>v <C-w>v<C-w>l
50) nnoremap <C-h> <C-w>h
51) nnoremap <C-j> <C-w>j
52) nnoremap <C-k> <C-w>k
53) nnoremap <C-l> <C-w>l
54) 
David Blume vimrc key remappings. jk as...

David Blume authored 6 years ago

55) " clear search highlights
56) nnoremap <cr> :noh<cr><cr>
David Blume first commit

David Blume authored 9 years ago

57) 
dblume Have terminal emulator send...

dblume authored 9 months ago

58) " tmux 3.2+ doesn't send C-i, so have Alacritty iTerm2 map C-i to <leader>i
59) " iTerm2: Settings > Keys > Key Bindings > + > Shortcut:^i Action:Send Text "\i"
60) nnoremap <leader>i <C-i>
61) " Use (Shift-)Tab to navigate buffers, retain C-i/C-o for jumps.
dblume bash PROMPT_COMMAND to set...

dblume authored 9 months ago

62) " Test with this:
dblume typo: .vimrc to use vim, no...

dblume authored 9 months ago

63) " vim -Nu NONE +'nno <C-i> :echom "C-i pressed"<cr>' +'nno <tab> :echom "Tab pressed"<cr>'
dblume Have terminal emulator send...

dblume authored 9 months ago

64) "if stridx(expand($TERM), 'xterm') == 0
65)   nnoremap <C-i> <C-i>
66)   nmap <Tab> :bn<cr>
67) "endif
dblume Restore Ctrl-i (Tab) to mea...

dblume authored 9 months ago

68) nnoremap <S-Tab> :bp<cr>
dblume tab key navigation of buffers

dblume authored 1 year ago

69) 
dblume Remap Y to yank to end of l...

dblume authored 10 months ago

70) " Use yy to yank a whole line, use Y to yank to end of line like C and D
71) nnoremap Y y$
72) 
David Blume first commit

David Blume authored 9 years ago

73) syntax on
74) 
75) set t_Co=256
76) if v:version >= 703
77)   set colorcolumn=80
78) endif
79) if has('gui_running') " Didn't work: if &term != 'builtin_gui'
80)   " Light backgrounds for GUI experiences
81)   set background=light
82)   " colorscheme peaksea                        " install peaksea
83)   colorscheme tolerable                        " install tolerable
84)   if v:version >= 703
85)     highlight ColorColumn ctermbg=255 guibg=#F6F6F6
86)   endif
dblume nvim ColorColumn was inverted

dblume authored 10 months ago

87)   highlight statusline   ctermfg=17 ctermbg=Gray  " override scheme
88)   highlight statuslineNC ctermfg=20 ctermbg=LightGray  " override scheme
David Blume Specify a font for gvim on...

David Blume authored 4 years ago

89)   if has('win32')
90)     set guifont=DejaVu_Sans_Mono_for_Powerline:h10:cANSI:qDRAFT
91)   endif
David Blume first commit

David Blume authored 9 years ago

92)   set lines=50 columns=100
93) else
94)   " Dark backgrounds for tty experiences
95)   set background=dark
96)   colorscheme desert                           " install desert
97)   if v:version >= 703
David Blume Windows PuTTY shows ctermbg...

David Blume authored 6 years ago

98)     highlight ColorColumn ctermbg=233 guibg=Black " dark gray (or 17, dark blue)
David Blume first commit

David Blume authored 9 years ago

99)   endif
dblume Make the normal statusbar m...

dblume authored 10 months ago

100)   highlight statusline   ctermfg=23 ctermbg=250  " override scheme
dblume Change hightlight of curren...

dblume authored 9 months ago

101) "  highlight User1        ctermfg=250 ctermbg=30
dblume Soften the status line colo...

dblume authored 10 months ago

102)   highlight statuslineNC ctermfg=237 ctermbg=Gray  " override scheme
dblume Better statusline color.

dblume authored 2 years ago

103)   highlight MatchParen   term=reverse ctermbg=23  " 23 is more subtle than default
David Blume first commit

David Blume authored 9 years ago

104) endif
dblume Better statusline color.

dblume authored 2 years ago

105) 
dblume Vim insert mode's blue shou...

dblume authored 10 months ago

106) au InsertEnter * hi statusline guibg=Cyan ctermfg=25 guifg=Black ctermbg=248
dblume Make the normal statusbar m...

dblume authored 10 months ago

107) au InsertLeave * hi statusline term=bold,reverse cterm=bold,reverse ctermfg=23 ctermbg=250 guifg=black guibg=#c2bfa5
dblume Maybe I like these statusli...

dblume authored 1 year ago

108) 
dblume ghostty theme Monokai Pro S...

dblume authored 3 weeks ago

109) set mouse=nvi  " Matches neovim's default
dblume vim: Don't move cursor when...

dblume authored 5 days ago

110) 
111) " Don't move the cursor when activating window (incompatible on PuTTY)
112) augroup NO_CURSOR_MOVE_ON_FOCUS
113)   au!
114)   au FocusLost * let g:oldmouse=&mouse | set mouse=
115)   au FocusGained * if exists('g:oldmouse') | let &mouse=g:oldmouse | unlet g:oldmouse | endif
116) augroup END
117) 
dblume Set prev jump point on mous...

dblume authored 3 weeks ago

118) " Set jump point from before mouse click.
119) nnoremap <LeftMouse> m'<LeftMouse>
dblume vim mouse events in insert...

dblume authored 1 week ago

120) inoremap <LeftMouse> <Esc>m'<LeftMouse>
David Blume first commit

David Blume authored 9 years ago

121) 
122) set tags=tags;/
123) 
dblume Make vim StatuslineGit() re...

dblume authored 10 months ago

124) set history=500
dblume Update vim statusline to pr...

dblume authored 1 year ago

125) set laststatus=2
126) 
dblume Retrieve git branch only on...

dblume authored 10 months ago

127) function! GitBranch()
dblume Make vim StatuslineGit() re...

dblume authored 10 months ago

128)   let l:branchname = system("git -C " . expand('%:p:h') . " rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
dblume vim to use the "git branch"...

dblume authored 9 months ago

129)   return strlen(l:branchname) > 0 ? '  │  '.l:branchname : ''
dblume Update vim statusline to pr...

dblume authored 1 year ago

130) endfunction
131) 
dblume Only show encoding and form...

dblume authored 10 months ago

132) function! EncodingAndFormat()
133)   if (len(&fileencoding) && &fileencoding != 'utf-8') || &fileformat != 'unix'
134)     return &fileencoding?&fileencoding:&encoding .'['. &fileformat . '] │ '
135)   endif
136)   return ''
137) endfunction
138) 
dblume Make "set ruler!" change st...

dblume authored 10 months ago

139) function! OnRuler()
140)   if &ruler
141)     return '│ '.line('.').':'.col('.').' '
142)   endif
143)   return ''
144) endfunction
145) 
dblume Default to mode() if not in...

dblume authored 1 year ago

146) function! Current_mode()
147)   let l:currentmode={
dblume Update vim statusline to pr...

dblume authored 1 year ago

148)     \ 'n'  : 'NORMAL',
149)     \ 'v'  : 'VISUAL',
150)     \ 'V'  : 'V·LINE',
151)     \ '' : 'V·BLOCK',
152)     \ 's'  : 'SELECT',
153)     \ 'S'  : 'S·LINE',
154)     \ 'i'  : 'INSERT',
dblume Default to mode() if not in...

dblume authored 1 year ago

155)     \ 'r'  : 'I·REPLACE',
dblume Update vim statusline to pr...

dblume authored 1 year ago

156)     \ 'R'  : 'REPLACE',
157)     \ 'Rv' : 'V·REPLACE',
158)     \ 'c'  : 'COMMAND',
159)     \}
dblume Default to mode() if not in...

dblume authored 1 year ago

160)     return get(l:currentmode, mode(), mode())
161) endfunction
dblume Update vim statusline to pr...

dblume authored 1 year ago

162) 
163) function! Trim_brackets(fn)
dblume Support older vim on raspi

dblume authored 1 year ago

164)   if v:version > 800
165)     return trim(a:fn, "[]")
166)   else
167)     return a:fn
168)   endif
dblume Update vim statusline to pr...

dblume authored 1 year ago

169) endfunction
170) 
dblume Default to mode() if not in...

dblume authored 1 year ago

171) set statusline=\ %{Current_mode()}
dblume Update vim statusline to pr...

dblume authored 1 year ago

172) set statusline+=%{&paste?'\ \ ·\ PASTE':''}
dblume Retrieve git branch only on...

dblume authored 10 months ago

173) set statusline+=%{b:git_branch}
dblume vimrc use box drawing vertical

dblume authored 1 year ago

174) set statusline+=\ │\ %f
dblume Default to mode() if not in...

dblume authored 1 year ago

175) set statusline+=%m
176) set statusline+=\ %r
177) set statusline+=\ %=
dblume Update vim statusline to pr...

dblume authored 1 year ago

178) set statusline+=%h
dblume Default to mode() if not in...

dblume authored 1 year ago

179) set statusline+=\ %{Trim_brackets(&filetype)}
180) set statusline+=\ %#StatusLineNC#
dblume Only show encoding and form...

dblume authored 10 months ago

181) set statusline+=\ %{b:enc_fmt}
182) set statusline+=%p%%\ of
dblume Drop column and line number...

dblume authored 10 months ago

183) set statusline+=\ %L\ 
dblume Make "set ruler!" change st...

dblume authored 10 months ago

184) set statusline+=%{OnRuler()}
David Blume first commit

David Blume authored 9 years ago

185) 
186) set encoding=utf-8
187) 
dblume No comments after key mappi...

dblume authored 2 years ago

188) " Fast saving
189) nmap <leader>w :w!<cr>
David Blume first commit

David Blume authored 9 years ago

190) " I use relative number for cursor movement.
191) nmap <leader>r :set relativenumber!<cr>
192) nmap <leader>n :set number!<cr>
193) 
194) " Useful mappings for managing tabs
dblume Remove bad vim mappings for...

dblume authored 2 years ago

195) " Tab Previous: gT or C-PageUp
196) " Tab Next: gt or C-PageDown
David Blume first commit

David Blume authored 9 years ago

197) nmap <leader>tn :tabnew
198) nmap <leader>to :tabonly<cr>
199) nmap <leader>tc :tabclose<cr>
200) nmap <leader>tm :tabmove
dblume Add shortcuts for tab selec...

dblume authored 2 years ago

201) nmap <leader>1 1gt
202) nmap <leader>2 2gt
203) nmap <leader>3 3gt
204) nmap <leader>4 4gt
205) nmap <leader>5 5gt
206) nmap <leader>6 6gt
207) nmap <leader>7 7gt
208) nmap <leader>8 8gt
209) nmap <leader>9 9gt
dblume Use <leader>o OpenCurrentAs...

dblume authored 2 years ago

210) 
211) " Open current buffer in new tab. Close with C-w,c
212) " https://vim.fandom.com/wiki/Maximize_window_and_return_to_previous_split_structure
213) function! OpenCurrentAsNewTab()
dblume Restore entire window view...

dblume authored 2 years ago

214)     let l:currentView = winsaveview()
dblume Use <leader>o OpenCurrentAs...

dblume authored 2 years ago

215)     tabedit %
dblume Restore entire window view...

dblume authored 2 years ago

216)     call winrestview(l:currentView)
dblume Use <leader>o OpenCurrentAs...

dblume authored 2 years ago

217) endfunction
218) nmap <leader>o :call OpenCurrentAsNewTab()<CR>
David Blume first commit

David Blume authored 9 years ago

219) 
220) " pastetoggle
221) nmap <leader>p :set invpaste paste?<cr>
222) 
David Blume Add mapping to paste onto n...

David Blume authored 6 years ago

223) " Control+p to paste onto next line
224) nmap <C-p> :pu<cr>
225) 
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

226) " Make netrw's Explore behave a little like NERDTreeToggle
227) " http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windows-and-project-drawer/
David Blume Remove NERDTree and use net...

David Blume authored 4 years ago

228) function! ToggleNetrw()
David Blume Improve the toggling of the...

David Blume authored 3 years ago

229)   if bufwinnr("NetrwTreeListing") > 0
230)     for i in range(1, bufnr("$"))
231)       if (getbufvar(i, "&filetype") == "netrw")
David Blume Use netrw Vexplore to assur...

David Blume authored 3 years ago

232)         silent exe "bwipeout " . i
David Blume Improve the toggling of the...

David Blume authored 3 years ago

233)         return
234)       endif
235)     endfor
236)   endif
David Blume Use netrw Vexplore to assur...

David Blume authored 3 years ago

237)   silent Vexplore %:p:h
David Blume Remove NERDTree and use net...

David Blume authored 4 years ago

238) endfunction
239) nmap <leader>e :call ToggleNetrw()<cr>
240) 
dblume No comments after key mappi...

dblume authored 2 years ago

241) " install taglist
242) let Tlist_GainFocus_On_ToggleOpen = 1  " Jump to taglist window on open
243) let Tlist_Exit_OnlyWindow = 1          " if you are the last, kill yourself
244) let Tlist_Close_On_Select = 1          " Close taglist window on select
dblume Update taglist to 4.6 in vi...

dblume authored 9 months ago

245) let Tlist_Inc_Winwidth = 0             " Only needed for neovim in tmux
dblume No comments after key mappi...

dblume authored 2 years ago

246) nmap <leader>l :TlistToggle<cr>
247) 
248) " install vim-bbye
249) nmap <leader>bd :Bdelete<cr>
David Blume first commit

David Blume authored 9 years ago

250) 
251) " Visual mode mappings
252) """
253) 
254) " map sort function to a key
255) vnoremap <leader>s :sort<cr>
256) 
257) "easier moving of code blocks
David Blume vimrc key remappings. jk as...

David Blume authored 6 years ago

258) vnoremap < <gv
259) vnoremap > >gv
David Blume first commit

David Blume authored 9 years ago

260) 
dblume Improve comment for visual-...

dblume authored 4 months ago

261) " Match Vim 8.2 and greater, where P does not yank to unnamed register
262) if v:version < 802
263)     vnoremap P "_dP
264) endif
dblume Vim to match nvim's visual P

dblume authored 4 months ago

265) 
David Blume first commit

David Blume authored 9 years ago

266) " If too many file system events are getting triggered.
267) set nobackup       " ~ files
268) set nowritebackup  " Don't write buff to temp, delete orig, rename temp to orig
269) set noswapfile     " .swp files
270) 
271) " Allow tags to open another buffer even if this one is modified
272) set hidden
273) 
274) " Switch between source and header files
275) function! SwitchSourceHeader()
276)   let s:ext  = expand("%:e")
277)   let s:base = expand("%:t:r")
278)   let s:cmd  = "find " . s:base
279)   if (s:ext == "cpp" || s:ext == "c")
280)     if findfile(s:base . ".h"  ) != "" | exe s:cmd . ".h"   | return | en
281)     if findfile(s:base . ".hpp") != "" | exe s:cmd . ".hpp" | return | en
282)   else
283)     if findfile(s:base . ".cpp") != "" | exe s:cmd . ".cpp" | return | en
284)     if findfile(s:base . ".c"  ) != "" | exe s:cmd . ".c"   | return | en
285)   endif
286) endfunc
287) 
288) " Demonstrates a way to look in a mirror directory
289) " function! OpenOther()
290) "    if expand("%:e") == "cpp"
291) "      exe "split" fnameescape(expand("%:p:r:s?src?include?").".h")
292) "    elseif expand("%:e") == "h"
293) "      exe "split" fnameescape(expand("%:p:r:s?include?src?").".cpp")
294) "    endif
295) " endfunc
296) 
297) " Delete trailing white space on save, useful for Python and CoffeeScript ;)
298) function! DeleteTrailingWS()
299)   exe "normal mz"
300)   %s/\s\+$//ge
301)   exe "normal `z"
302) endfunc
303) 
David Blume Add OpenInOtherWindow to .v...

David Blume authored 8 years ago

304) function! OpenInOtherWindow()
305)   if winnr('$') == 1
306)     exe "wincmd F"
307)   else
308)     let curNum = winnr()
309)     let oldBuf = bufnr( "%" )
310)     if curNum == 1
311)       let othNum = 2
312)     else
313)       let othNum = 1
314)     endif
315)     exe "normal! gF"
316)     let newBuf = bufnr( "%" )
317)     let newLine = line(".")
318)     exe 'hide buf' oldBuf
319)     exe othNum . "wincmd w"
320)     exe 'hide buf' newBuf
321)     exe "normal! " . newLine . "G"
322)   endif
323) endfunc
324) 
325) nmap <silent> <leader>F :call OpenInOtherWindow()<cr>
dblume Make OpenInOtherWindow easier.

dblume authored 2 years ago

326) nmap <silent> <leader>f :call OpenInOtherWindow()<cr>
David Blume Add OpenInOtherWindow to .v...

David Blume authored 8 years ago

327) 
David Blume first commit

David Blume authored 9 years ago

328) if has("autocmd")
329)   autocmd BufWrite *.py :call DeleteTrailingWS()  " Delete trailing whitespace
330)   " Don't let smartindent unindent the # character in Python files
331)   autocmd FileType python  inoremap # X<c-h>#
dblume expand tabs for Python

dblume authored 1 year ago

332)   autocmd FileType python,c,cpp,php,brs,sh  set expandtab  " Use spaces instead of tabs
dblume Make "-" a non-breaking cha...

dblume authored 3 months ago

333)   autocmd FileType make    setl noexpandtab                " ...not for files that use tabs.
334)   autocmd FileType markdown  set iskeyword+=-  " Add - to list of non-word-breaking chars.
David Blume first commit

David Blume authored 9 years ago

335) 
336)   " Use the vim command %retab before applying the following
337)   " two with files that have 8-space tabs.
David Blume Add .vimrc tab values for ....

David Blume authored 8 years ago

338)   autocmd FileType c,cpp,python,php  set tabstop=4
dblume Remove some lines, allow mo...

dblume authored 2 years ago

339)   autocmd FileType c,cpp,php  set shiftwidth=4
David Blume first commit

David Blume authored 9 years ago

340) 
341)   autocmd FileType python  set foldmethod=indent  " 'za' to fold
342) 
David Blume Disable vim-airline whitesp...

David Blume authored 6 years ago

343)   autocmd FileType c,cpp nmap <buffer> <leader>s :call SwitchSourceHeader()<cr>
David Blume first commit

David Blume authored 9 years ago

344)   autocmd FileType c,cpp set foldmethod=syntax
345) 
dblume Improve focus-based switchi...

dblume authored 10 months ago

346) " https://jeffkreeftmeijer.com/vim-number/
dblume Decided I usually wanted ru...

dblume authored 2 months ago

347) " Disabling for now, just keep the mode that was explicitly requested.
348) "augroup numbertoggle
349) "  autocmd!
350) "  autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu && mode() != "i" | set rnu   | endif
351) "  autocmd BufLeave,FocusLost,InsertEnter,WinLeave   * if &nu                  | set nornu | endif
352) "augroup END
David Blume first commit

David Blume authored 9 years ago

353) 
dblume Remove some lines, allow mo...

dblume authored 2 years ago

354)   autocmd BufRead *.txt set wrap linebreak   " "soft" wrap of existing lines
355)   autocmd BufRead README set wrap linebreak  " "soft" wrap of existing lines
dblume Add .local/bin to $PATH

dblume authored 2 years ago

356)   autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/
David Blume first commit

David Blume authored 9 years ago

357) 
dblume Always start on first line...

dblume authored 10 months ago

358)   " When editing a file, always jump to the last cursor position...
David Blume first commit

David Blume authored 9 years ago

359)   autocmd BufReadPost *
dblume Improve Esc key reaction, f...

dblume authored 10 months ago

360)   \ if &ft != "gitcommit" && line("'\"") > 0 && line ("'\"") <= line("$") |
dblume When openging files jump to...

dblume authored 9 months ago

361)   \   exe "normal! g`\"" |
David Blume first commit

David Blume authored 9 years ago

362)   \ endif
dblume Improve Esc key reaction, f...

dblume authored 10 months ago

363)   " ...except for gitcommit where we always want to start at the top (nvim)
dblume Always start on first line...

dblume authored 10 months ago

364)   autocmd FileType gitcommit exe "normal! gg"
dblume Retrieve git branch only on...

dblume authored 10 months ago

365) 
dblume Only show encoding and form...

dblume authored 10 months ago

366)   autocmd BufNewFile,BufReadPost *
367)   \ let b:git_branch = GitBranch() |
368)   \ let b:enc_fmt = EncodingAndFormat()
369)   autocmd BufEnter *
370)   \ let b:git_branch = GitBranch() |
371)   \ let b:enc_fmt = EncodingAndFormat()
David Blume first commit

David Blume authored 9 years ago

372) endif
373) 
374) " This requires vim to be compiled with +python
375) " Use auto complete in insert mode with ctrl-x, ctrl-o
376) " See :help new-omni-completion for more.
377) filetype plugin on
378) set omnifunc=syntaxcomplete#Complete
dblume Completion tweaks

dblume authored 2 years ago

379) 
380) " Torn on whether I like the omni completion preview window left open or not.
381) " autocmd CompleteDone * pclose
382) 
383) " Omni completion via ctrl-space (in addition to ctrl-x ctrl-o)
384) inoremap <Nul> <C-x><C-o>
385) 
dblume Add commands SynStack and H...

dblume authored 9 months ago

386) " These two commands display syntax/highlight info for what's under the cursor.
387) if exists(":SynStack") != 2
388)     command SynStack :echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
389) endif
390) 
391) function! SynGroup()
392)     let l:s = synID(line('.'), col('.'), 1)
393)     echo synIDattr(l:s, 'name') . ' -> ' . synIDattr(synIDtrans(l:s), 'name')
394) endfun
395) command Hi :call SynGroup()
396) 
David Blume Add cscope support

David Blume authored 7 years ago

397) " cscope
398) if has("cscope")
399)     set cscopetag  " Use both cscope and ctag for 'ctrl-]'
David Blume I prefer ctags to be search...

David Blume authored 7 years ago

400)     set csto=1     " 0=cscope first; 1=ctags first
dblume Use QuickFix for cscope.

dblume authored 2 years ago

401)     set cscopequickfix=s-,c-,d-,i-,t-,e-,a- " cscope to quickfix window
402) 
David Blume Use local cscope.out databa...

David Blume authored 3 years ago

403)     set nocsverb
404)     " add any database in current directory
405)     if filereadable("cscope.out")
406)         cs add cscope.out
407)     " else add database pointed to by environment
408)     elseif $CSCOPE_DB != ""
409)         cs add $CSCOPE_DB
410)     endif
411)     set csverb
David Blume Add cscope support

David Blume authored 7 years ago

412) endif
413) 
David Blume Sort QuickFix tool by filen...

David Blume authored 3 years ago

414) " From https://stackoverflow.com/questions/15393301/how-to-automatically-sort-quickfix-entries-by-line-text-in-vim
415) " :grep term %
416) " :grep -r term path/
417) " :cw
418) " :ccl (or C-w,q)
dblume QuickFix window: only sort...

dblume authored 2 years ago

419) autocmd! QuickfixCmdPost * call MaybeSortQuickfix('QfStrCmp')
420) 
421) function! MaybeSortQuickfix(fn)
422) "    exe 'normal! '  " Doesn't work. Wanted to jump back to where we were.
423)     let t = getqflist({'title': 1}).title
dblume QuickFix sorts for 'vimgrep...

dblume authored 2 years ago

424)     " Only sort the files if for search-style commands, not "make".
dblume Follow up integrate ripgrep...

dblume authored 2 years ago

425)     if stridx(t, "cs ") == 0 || stridx(t, ":gr") == 0 || stridx(t, ":vim") == 0 || stridx(t, ":rg") == 0
dblume QuickFix window: only sort...

dblume authored 2 years ago

426)         call setqflist(sort(getqflist(), a:fn), 'r')
427)         call setqflist([], 'r', {'title': t})
428)     endif
429)     cwindow
David Blume Sort QuickFix tool by filen...

David Blume authored 3 years ago

430) endfunction
431) 
432) function! QfStrCmp(e1, e2)
433)     let [t1, t2] = [bufname(a:e1.bufnr), bufname(a:e2.bufnr)]
434)     return t1 <# t2 ? -1 : t1 ==# t2 ? 0 : 1
435) endfunction
436) 
dblume Integrate ripgrep into vim.

dblume authored 2 years ago

437) " Use ripgrep for search instead of grep
438) if executable('rg')
439)     " set grepprg=rg\ --vimgrep\ --hidden\ —glob '!.git'
440)     set grepprg=rg
441) endif
442) " Navigate quickfix list with ease
443) nnoremap <silent> [q :cprevious<CR>
444) nnoremap <silent> ]q :cnext<CR>
445) 
dblume Add DiffOrig from the vim h...

dblume authored 10 months ago

446) " From `:help :DiffOrig`.
dblume Make "set ruler!" change st...

dblume authored 10 months ago

447) if exists(":DiffOrig") != 2
448)   command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
dblume Add DiffOrig from the vim h...

dblume authored 10 months ago

449)     \ | diffthis | wincmd p | diffthis
dblume Make "set ruler!" change st...

dblume authored 10 months ago

450) endif
dblume Add DiffOrig from the vim h...

dblume authored 10 months ago

451) 
David Blume Add tip for using Roboto Mo...

David Blume authored 6 years ago

452) " I use Roboto Mono from https://github.com/powerline/fonts
David Blume Change from vim-powerline t...

David Blume authored 6 years ago

453) " On iTerm2, Preferences -> Profiles -> Text -> Font
David Blume Add tip for using Roboto Mo...

David Blume authored 6 years ago

454) " Cygwin64 won't let you choose it. Launch Cygwin64 as follows:
455) " C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -o Font="Roboto Mono for Powerline" -
David Blume Change from vim-powerline t...

David Blume authored 6 years ago

456) 
David Blume Remove NERDTree and use net...

David Blume authored 4 years ago

457) " Settings that make netrw more like NERDTree
458) let g:netrw_banner = 0
459) let g:netrw_liststyle = 3
David Blume Use netrw Vexplore to assur...

David Blume authored 3 years ago

460) let g:netrw_browse_split = 4
David Blume Remove NERDTree and use net...

David Blume authored 4 years ago

461) let g:netrw_altv = 1
David Blume Use netrw Vexplore to assur...

David Blume authored 3 years ago

462) " set g:netrw_winsize to negative for absolute width, positive for relative
463) let g:netrw_winsize = -36
464) " let g:netrw_winsize = 35
David Blume Remove NERDTree and use net...

David Blume authored 4 years ago

465) " sort is affecting only: directories on the top, files below
466) let g:netrw_sort_sequence = '[\/]$,*'
David Blume Change from vim-powerline t...

David Blume authored 6 years ago

467) 
dblume Added vim-rooter.

dblume authored 2 years ago

468) " Experimenting with vim-rooter
469) let g:rooter_patterns = ['.git', 'Makefile', 'builds/']
dblume Make vim-rooter manual.

dblume authored 2 years ago

470) let g:rooter_cd_cmd = 'lcd'
471) let g:rooter_manual_only = 1
dblume Better filename expansion f...

dblume authored 1 year ago

472) 
dblume Move nvim rainbow plugin in...

dblume authored 8 months ago

473) " 'Rainbow Parentheses Improved' https://github.com/luochen1990/rainbow/
dblume Exclude filetype rokulog fr...

dblume authored 7 months ago

474) let g:rainbow_conf = {
475) \   'ctermfgs': ['223', 'lightblue', '180', 'green', 'yellow', '111'],
476) \   'separately': { 'rokulog': 0 }
477) \ }
dblume Add "rainbow" plugin for co...

dblume authored 8 months ago

478) let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
479)