dotfiles/.vimrc

107 lines
3.8 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

execute pathogen#infect()
set autochdir
set autoindent
set expandtab
set hlsearch
set incsearch
set number
set ruler
set shiftwidth=2
set tabstop=2
set textwidth=79
set cursorline
syntax enable
filetype plugin on
filetype indent on
let mapleader=" "
autocmd BufRead,BufNewFile *.md setlocal filetype=markdown
" Set/load the view when switching buffers. Used to use to preserve folding.
" Stopped because weirder things were happening.
"autocmd BufEnter *.* silent loadview
"autocmd BufLeave *.* mkview!
autocmd BufRead *.java set foldnestmax=2
autocmd BufRead *.java set foldmethod=syntax
inoremap <Nul> <C-x><C-o>
" Search for selected text, forwards or backwards.
vnoremap <silent> * :<C-U>
\let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>
\gvy/<C-R><C-R>=substitute(
\escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR>
\gV:call setreg('"', old_reg, old_regtype)<CR>
vnoremap <silent> # :<C-U>
\let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>
\gvy?<C-R><C-R>=substitute(
\escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR>
\gV:call setreg('"', old_reg, old_regtype)<CR>
let g:solarized_contrast="high"
let g:ctrlp_max_files = 0
let g:ctrlp_custom_ignore = {
\ 'dir': '\v\.git$|\.hg$|\.svn$|\.worktrees$|build$|target$|node_modules$|nimcache$|dist$',
\ 'file': '\v\.(class|exe|so|dll|sw.)$'
\ }
let g:ale_linters = {
\ 'html': ['HTMLHint', 'proselint', 'write-good']
\ }
let groovy_space_errors = 1
let groovy_allow_cpp_keywords = 1
cmap w!! w !sudo tee > /dev/null %
let g:tsuquyomi_disable_quickfix = 1
let g:ale_set_loclist = 0
let g:ale_set_quickfix = 0
" Generate Java Getter and Setter for one property.
" Expects property lines to match /private \w\+ \w\+/
" Requires mark A to be set at the current property line start and mark B to
" be set where the getter and setter should be inserted. The marks are updated
" so that the command can be immediately invoked again for a subsequent
" property.
" nmap <Leader>gs wve"tywve"py'bo
public void set "ppbvUhxA("tpA "ppA) {
this."ppA = "ppA;
}
public "tpA get "ppbvUhxA() {
return this."ppA;
}mb'a/private \w+\+ \w\+;
ma
nmap <Leader>jgs :let @t=''<CR>:let @n=''<CR>'a0v$:s/\v^\s*(private\|public\|protected)? ?(\w+(\<[^>]+\>)?) (\w+);/\=setreg('T', submatch(2))/n<CR>0v$:s/\v^\s*(private\|public\|protected)? ?(\w+(\<[^>]+\>)?) (\w+);/\=setreg('N', submatch(4))/n<CR>'bo<CR>public <ESC>"tpA get <ESC>"npbvUhxA() {<CR> return this.<ESC>"npA;<CR>}<ESC><<o<CR>public void set <ESC>"npbvUhxA(<ESC>"tpA <ESC>"npA) {<CR> this.<ESC>"npA = <ESC>"npA;<CR>}<ESC><<mb'anma
" Clean un-used Java imports.
nmap <Leader>jci :UnusedImportsRemove<CR>
" Format the file using java-file-formatter. java-file-formatter should be a
" command that takes a file path as the first argument and either alters the
" file in place or prints out the altered file on STDOUT.
nmap <Leader>jsf :!java-file-formatter %:p<CR>
nmap <Leader>wo :vsplit /home/jdbernard/projects/worklog/worklog.txt<CR><C-w>L200<C-w><43<C-w>>
nmap <Leader>ws :w<CR>:silent !git add %<CR>:!git commit<CR>
nmap <Leader>b :CtrlPBuffer<CR>
" remove trailing whitespace from all lines
nmap <Leader>ss :%s/\s\+$//<CR>
" Execute the current line (stripping leading `$`s)
nmap <Leader>r :.w !sed s/^\\s*\\$\\s*//\|bash<CR>
" Execute the current line (stripping leading `$`s) and paste the output into
" the buffer underneath.
nmap <Leader>R yyp!!sed s/^\\s*\\$\\s*//\|bash<CR><Esc>
vmap <Leader>qb :s/\v\s+(\d+)\s+/ **\1** /g<CR>
highlight Folded term=standout ctermfg=3 ctermbg=256
" Use a dark gray for highlighting 'spelling' errors (ALE uses this class for
" highlighting linting errors). Original value was 224
"highlight SpellBad ctermbg=236
"
" Actually, just diable ALE in-line error highlighting and just rely on the
" markers in the gutter.
highlight clear ALEError
highlight link ALEError NONE