Add NoFrils Color and copy jcbwlkrs vimrc
This commit is contained in:
311
home/.vimrc
311
home/.vimrc
@@ -1,85 +1,260 @@
|
||||
call pathogen#infect()
|
||||
set noai
|
||||
set vb
|
||||
set binary noeol
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set softtabstop=2
|
||||
set expandtab
|
||||
set ruler
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set backspace=indent,eol,start
|
||||
set nocompatible
|
||||
set nobackup
|
||||
set number
|
||||
colorscheme zellnerbrb
|
||||
hi ErrorMsg term=standout cterm=bold ctermfg=9 ctermbg=9
|
||||
hi WarningMsg term=standout cterm=bold ctermfg=1 guifg=Black
|
||||
|
||||
syntax on
|
||||
filetype plugin on
|
||||
filetype indent off
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
au BufRead *.html set filetype=htmlm4
|
||||
au BufRead *.md set filetype=markdown
|
||||
au BufRead /tmp/mutt-* set tw=72
|
||||
set laststatus=2
|
||||
syntax enable
|
||||
set background=dark
|
||||
set mouse=
|
||||
|
||||
" Java settings
|
||||
let java_highlight_all=1
|
||||
let java_highlight_functions="style"
|
||||
let java_allow_cpp_keywords=1
|
||||
|
||||
let g:airline_powerline_fonts = 1
|
||||
|
||||
if filereadable(glob("./.vimrc.local"))
|
||||
source ./.vimrc.local
|
||||
endif
|
||||
|
||||
nnoremap Q <nop>
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/](\.git|build)$',
|
||||
\ }
|
||||
|
||||
" Vimwiki {{
|
||||
let g:vimwiki_list = [{'path': '~/Dropbox/Documents/vimwiki/vimwiki', 'path_html': '~/Dropbox/Documents/vimwiki/vimwiki_html/', 'auto_export':'1'}]
|
||||
nnoremap <Leader>wb :Vimwiki2HTMLBrowse<CR><CR>
|
||||
let g:vimwiki_auto_checkbox = 1
|
||||
" Setup {{
|
||||
set nocompatible
|
||||
set shortmess+=filmnrxoOtT
|
||||
" }}
|
||||
|
||||
" Plugins {{
|
||||
" }}
|
||||
|
||||
" Gist {{
|
||||
let g:gist_detect_filetype = 1
|
||||
let g:gist_open_browser_after_post = 1
|
||||
let g:gist_post_private = 1
|
||||
" General Settings {{
|
||||
scriptencoding utf-8
|
||||
|
||||
" VimCrypt encryption method
|
||||
set cm=blowfish2
|
||||
|
||||
" Views, Backups, Swap, Info, and Undo files {{
|
||||
set viminfo+=n~/.vim/viminfo
|
||||
set history=1000
|
||||
set backup
|
||||
set undofile
|
||||
set undolevels=1000
|
||||
set undoreload=10000
|
||||
" Make directories for backups, swap, views, and undo
|
||||
" Also set appropriate settings to use those dirs
|
||||
function! InitializeDirectories()
|
||||
let base_dir = $HOME . '/.vim'
|
||||
let dir_list = {
|
||||
\ 'backups': 'backupdir',
|
||||
\ 'views': 'viewdir',
|
||||
\ 'swaps': 'directory',
|
||||
\ 'undos': 'undodir' }
|
||||
for [dirname, settingname] in items(dir_list)
|
||||
let directory = base_dir . '/' . dirname . '/'
|
||||
if exists("*mkdir")
|
||||
if !isdirectory(directory)
|
||||
call mkdir(directory)
|
||||
endif
|
||||
endif
|
||||
if !isdirectory(directory)
|
||||
echo "Warning: Unable to create directory: " . directory
|
||||
echo "Try: mkdir -p " . directory
|
||||
else
|
||||
let directory = substitute(directory, " ", "\\\\ ", "g")
|
||||
exec "set " . settingname . "=" . directory
|
||||
endif
|
||||
endfor
|
||||
endfunction
|
||||
call InitializeDirectories()
|
||||
" }}
|
||||
" }}
|
||||
|
||||
" json Formatting {{
|
||||
" Text Formatting {{
|
||||
function! SetTabWidth(width)
|
||||
exec "set shiftwidth=" . a:width
|
||||
exec "set tabstop=" . a:width
|
||||
exec "set softtabstop=" . a:width
|
||||
endfunction
|
||||
set expandtab " Tabs are spaces
|
||||
call SetTabWidth(2) " I use columns of 2 spaces
|
||||
|
||||
set list
|
||||
set listchars=tab:\ \ ,trail:•,extends:#,nbsp:.
|
||||
" }}
|
||||
|
||||
" Search {{
|
||||
set incsearch " Find as you type
|
||||
set hlsearch " Highlight search terms
|
||||
set ignorecase " Case insensitive
|
||||
set smartcase " Case sensitive when uppercase chars are present
|
||||
" Hit backspace in normal mode to clear hlsearch
|
||||
nmap <silent> <BS> :nohlsearch<CR>
|
||||
" }}
|
||||
|
||||
set number
|
||||
set norelativenumber
|
||||
|
||||
set timeout ttimeoutlen=50
|
||||
set mouse= " No mouse support
|
||||
set pastetoggle=<F12> " F12 to enable pastetoggle (sane indentation on pastes)
|
||||
set nospell " No spell checking
|
||||
|
||||
" Disable bells
|
||||
set noerrorbells visualbell t_vb=
|
||||
if has('autocmd')
|
||||
autocmd GUIEnter * set visualbell t_vb=
|
||||
endif
|
||||
|
||||
" Tabs and Buffers {{
|
||||
set tabpagemax=15 " Only show 15 tabs
|
||||
set hidden " Allow buffer switching without saving
|
||||
" }}
|
||||
|
||||
set cursorline " Highlight current line
|
||||
set backspace=indent,eol,start " Backspace for dummies
|
||||
set linespace=0 " No extra spaces between rows
|
||||
set winminheight=0 " Windows can be 0 lines high
|
||||
set wildmenu " Show list instead of just completing
|
||||
set wildmode=list:longest,full " Command <Tab> completion, list matches,
|
||||
" then longest common part, then all
|
||||
set whichwrap= " Don't go to previous lines when going left/right
|
||||
set scrolljump=5 " Lines to scroll when cursor leaves screen
|
||||
set scrolloff=2 " Minimum lines to keep above/below cursor
|
||||
set nofoldenable " Don't auto-fold code
|
||||
set foldmethod=syntax " Fold based on syntax
|
||||
|
||||
set nowrap " Don't wrap long lines
|
||||
set nojoinspaces " Prevents inserting two spaces after punctiuation on
|
||||
" a join (J)
|
||||
set splitright " Puts new vsplit windows to the right of current
|
||||
set splitbelow " Puts new split windows to the bottom of current
|
||||
set showmatch " Show matchign brackets/parens
|
||||
set matchpairs+=<:> " Match < and > with %
|
||||
|
||||
set formatoptions+=j " Remove comment leaders when joining lines in comments
|
||||
" }}
|
||||
|
||||
" Colors and UI {{
|
||||
syntax on
|
||||
set colorcolumn=120 " Visual indicator on column 120
|
||||
" Status line {{
|
||||
set laststatus=2 " Always show status line
|
||||
set statusline=%f " Path to the file
|
||||
set statusline+=%< " If status line is too long, truncate here
|
||||
set statusline+=\ %y " File type, e.g. [go]
|
||||
set statusline+=%r " [RO] if read-only
|
||||
set statusline+=%m " [+] if modified
|
||||
set statusline+=%= " Switch to right side
|
||||
set statusline+=%p%% " % through file in lines
|
||||
set statusline+=\ %l,%c " Line, Col numbers
|
||||
|
||||
set showmode " Show current mode below the status line on left side
|
||||
" (when not in normal mode)
|
||||
set showcmd " Show partial commands below the status line on the
|
||||
" right (and selected chars/lines in visual mode)
|
||||
" }}
|
||||
|
||||
" Colorscheme {{
|
||||
set background=dark
|
||||
colorscheme nofrils-dark
|
||||
let g:nofrils_heavycomments=1
|
||||
let g:nofrils_heavylinenumbers=1
|
||||
" }}
|
||||
" }}
|
||||
|
||||
" Utility {{
|
||||
" Vim REST Console {{
|
||||
let g:vrc_trigger = '<leader>r'
|
||||
" }}
|
||||
|
||||
" Tagbar {{
|
||||
nnoremap <silent> <leader>tt :TagbarToggle<CR>
|
||||
let g:tagbar_autofocus = 1
|
||||
let g:tagbar_autoclose = 1
|
||||
" }}
|
||||
" }}
|
||||
|
||||
" Go {{
|
||||
" Convenient mappings for all Go things
|
||||
au FileType go nmap <leader>r :GoRun!<CR>
|
||||
au FileType go nmap <leader>e <Plug>(go-rename)
|
||||
au FileType go nmap <leader>s <Plug>(go-implements)
|
||||
au FileType go nmap <leader>t :GoTest!<CR>
|
||||
au FileType go nmap <leader>c <Plug>(go-coverage)
|
||||
au FileType go nmap <leader>v <Plug>(go-vet)
|
||||
au FileType go nmap <leader>gd <Plug>(go-doc)
|
||||
au FileType go nmap <leader>d :GoDef<CR>
|
||||
au FileType go nmap <leader>D :GoDescribe<CR>
|
||||
|
||||
" Use `goimports` instead of `gofmt`
|
||||
let g:go_fmt_command = "goimports"
|
||||
" }}
|
||||
|
||||
" Java {{
|
||||
" let java_highlight_all=1
|
||||
" let java_highlight_functions="style"
|
||||
" let java_allow_cpp_keywords=1
|
||||
" }}
|
||||
|
||||
" JSON {{
|
||||
nmap <leader>jt <Esc>:%!python -m json.tool<CR><Esc>:set filetype=json<CR>
|
||||
nmap <leader>jT <Esc>:.!python -m json.tool<CR><Esc>:set filetype=json<CR>
|
||||
let g:vim_json_syntax_conceal = 0
|
||||
" }}
|
||||
|
||||
" Scratch File {{
|
||||
nmap <leader>sc :Scratch<CR>
|
||||
nmap <leader>cc :Sscratch<CR>
|
||||
" Misc Things {{
|
||||
" Vimwiki {{
|
||||
let g:vimwiki_list = [{'path': '~/Dropbox/Documents/vimwiki/vimwiki', 'path_html': '~/Dropbox/Documents/vimwiki/vimwiki_html/', 'auto_export':'1'}]
|
||||
nnoremap <Leader>wb :Vimwiki2HTMLBrowse<CR><CR>
|
||||
let g:vimwiki_auto_checkbox = 1
|
||||
" }}
|
||||
|
||||
" Gist {{
|
||||
let g:gist_detect_filetype = 1
|
||||
let g:gist_open_browser_after_post = 1
|
||||
let g:gist_post_private = 1
|
||||
" }}
|
||||
|
||||
" Scratch File {{
|
||||
nmap <leader>sc :Scratch<CR>
|
||||
nmap <leader>cc :Sscratch<CR>
|
||||
" }}
|
||||
|
||||
" Show syntax highlighting groups for word under cursor {{
|
||||
" From http://stackoverflow.com/a/7893500/859353
|
||||
nmap <leader>sn :call <SID>SynStack()<CR>
|
||||
function! <SID>SynStack()
|
||||
if !exists("*synstack")
|
||||
return
|
||||
endif
|
||||
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
|
||||
endfunc
|
||||
" }}
|
||||
" }}
|
||||
|
||||
let g:netrw_sort_sequence='[\/]$,\.[a-np-z]$,main.go$,[^main]\.go$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
|
||||
" Mappings and Macros {{
|
||||
" expand_region {{
|
||||
vmap v <Plug>(expand_region_expand)
|
||||
vmap <C-v> <Plug>(expand_region_shrink)
|
||||
" }}
|
||||
|
||||
" Code Folding Options {{
|
||||
nmap <leader>f0 :set foldlevel=0<CR>
|
||||
nmap <leader>f1 :set foldlevel=1<CR>
|
||||
nmap <leader>f2 :set foldlevel=2<CR>
|
||||
nmap <leader>f3 :set foldlevel=3<CR>
|
||||
nmap <leader>f4 :set foldlevel=4<CR>
|
||||
nmap <leader>f5 :set foldlevel=5<CR>
|
||||
nmap <leader>f6 :set foldlevel=6<CR>
|
||||
nmap <leader>f7 :set foldlevel=7<CR>
|
||||
nmap <leader>f8 :set foldlevel=8<CR>
|
||||
nmap <leader>f9 :set foldlevel=9<CR>
|
||||
" }}
|
||||
|
||||
" now set it up to change the status line based on mode
|
||||
au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta
|
||||
au InsertLeave * hi StatusLine term=reverse ctermfg=0 ctermbg=2 gui=bold,reverse
|
||||
" Find merge-conflict markers {{
|
||||
map <leader>fc /\v^[<\|=>]{7}( .*\|$)<CR>
|
||||
" }}
|
||||
|
||||
vmap v <Plug>(expand_region_expand)
|
||||
vmap <C-v> <Plug>(expand_region_shrink)
|
||||
set rtp+=$GOPATH/src/github.com/golang/lint/misc/vim
|
||||
autocmd BufWritePost,FileWritePost *.go execute 'Lint' | cwindow
|
||||
" Visual Shifting (Does not exit Visual mode) {{
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
" }}
|
||||
|
||||
" Use `goimports` instead of `gofmt`
|
||||
let g:go_fmt_command = "goimports"
|
||||
" Allow the repeat operator on visual selsections {{
|
||||
vnoremap . :normal .<CR>
|
||||
" }}
|
||||
" }}
|
||||
|
||||
" Overrides {{
|
||||
" Hook for local (user) changes
|
||||
if filereadable(expand("~/.vimrc.local"))
|
||||
source ~/.vimrc.local
|
||||
endif
|
||||
|
||||
" Hook for local (directory) changes
|
||||
if filereadable(glob("./.vimrc.local"))
|
||||
source ./.vimrc.local
|
||||
endif
|
||||
" }}
|
||||
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
|
Reference in New Issue
Block a user