Usersettings: Add variable to disable vim plugings
Some systems just don't need them, but they take quite some time to install and take up space.
This commit is contained in:
parent
bee777ac81
commit
d084912154
4 changed files with 53 additions and 45 deletions
332
files/_vimrc
332
files/_vimrc
|
@ -1,332 +0,0 @@
|
|||
set rtp+=~/.fzf
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" KEY MAPS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
nmap \A :set formatoptions+=a<CR>:echo "autowrap enabled"<CR>
|
||||
nmap \M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
|
||||
nmap \T :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
|
||||
nmap \a :set formatoptions-=a<CR>:echo "autowrap disabled"<CR>
|
||||
|
||||
" Search for the word under the cursor in the current directory
|
||||
nmap <M-k> mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap <Esc>k mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap ˚ mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap <M-S-k> mo:Ggrep! "\b<cword>\b" <CR>
|
||||
nmap <Esc>K mo:Ggrep! "\b<cword>\b" <CR>
|
||||
|
||||
" Fix annoyances in the QuickFix window, like scrolling too much
|
||||
autocmd FileType qf setlocal number nolist scrolloff=0
|
||||
autocmd Filetype qf wincmd J " Makes sure it's at the bottom of the vim window
|
||||
|
||||
" Commands to send common keystrokes using tmux
|
||||
let g:tmux_console_pane = '0:0.0'
|
||||
let g:tmux_server_pane = '0:0.0'
|
||||
function TmuxPaneRepeat()
|
||||
write
|
||||
silent execute ':!tmux send-keys -t' g:tmux_console_pane 'C-p' 'C-j'
|
||||
redraw!
|
||||
endfunction
|
||||
function TmuxPaneClear()
|
||||
silent execute ':!tmux send-keys -t' g:tmux_server_pane 'C-j' 'C-j' 'C-j' 'C-j' 'C-j' 'C-j' 'C-j'
|
||||
redraw!
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" ABBREVATIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Typing `$c` on the command line expands to `:e` + the current path, so it's easy to edit a file in
|
||||
" the same directory as the current file.
|
||||
cnoremap $c e <C-\>eCurrentFileDir()<CR>
|
||||
function! CurrentFileDir()
|
||||
return "e " . expand("%:p:h") . "/"
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" OPTIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
set autoindent " Carry over indenting from previous line
|
||||
set autoread " Don't bother me when a file changes
|
||||
set autowrite " Write on :next/:prev/^Z
|
||||
set backspace=indent,eol,start
|
||||
" Allow backspace beyond insertion point
|
||||
set cindent " Automatic program indenting
|
||||
set cinkeys-=0# " Comments don't fiddle with indenting
|
||||
set cino= " See :h cinoptions-values
|
||||
set commentstring=\ \ #%s " When folds are created, add them to this
|
||||
set copyindent " Make autoindent use the same chars as prev line
|
||||
set directory-=. " Don't store temp files in cwd
|
||||
set encoding=utf8 " UTF-8 by default
|
||||
set expandtab " No tabs
|
||||
set fileformats=unix,dos,mac " Prefer Unix
|
||||
set fillchars=vert:\ ,stl:\ ,stlnc:\ ,fold:-,diff:┄
|
||||
" Unicode chars for diffs/folds, and rely on
|
||||
" Colors for window borders
|
||||
silent! set foldmethod=marker " Use braces by default
|
||||
set formatoptions=tcqn1 " t - autowrap normal text
|
||||
" c - autowrap comments
|
||||
" q - gq formats comments
|
||||
" n - autowrap lists
|
||||
" 1 - break _before_ single-letter words
|
||||
" 2 - use indenting from 2nd line of para
|
||||
set hidden " Don't prompt to save hidden windows until exit
|
||||
set history=200 " How many lines of history to save
|
||||
set hlsearch " Hilight searching
|
||||
set ignorecase " Case insensitive
|
||||
set incsearch " Search as you type
|
||||
set infercase " Completion recognizes capitalization
|
||||
set laststatus=2 " Always show the status bar
|
||||
set linebreak " Break long lines by word, not char
|
||||
set list " Show whitespace as special chars - see listchars
|
||||
set listchars=tab:»\ ,extends:›,precedes:‹,nbsp:·,trail:· " Unicode characters for various things
|
||||
set matchtime=2 " Tenths of second to hilight matching paren
|
||||
set modelines=5 " How many lines of head & tail to look for ml's
|
||||
silent! set mouse=nvc " Use the mouse, but not in insert mode
|
||||
set nobackup " No backups left after done editing
|
||||
set number " Show line numbers to start
|
||||
set visualbell t_vb= " No flashing or beeping at all
|
||||
set nowritebackup " No backups made while editing
|
||||
set ruler " Show row/col and percentage
|
||||
set scroll=4 " Number of lines to scroll with ^U/^D
|
||||
set scrolloff=15 " Keep cursor away from this many chars top/bot
|
||||
set sessionoptions-=options " Don't save runtimepath in Vim session (see tpope/vim-pathogen docs)
|
||||
set shiftround " Shift to certain columns, not just n spaces
|
||||
set shiftwidth=2 " Number of spaces to shift for autoindent or >,<
|
||||
set shortmess+=A " Don't bother me when a swapfile exists
|
||||
set showbreak= " Show for lines that have been wrapped, like Emacs
|
||||
set showmatch " Hilight matching braces/parens/etc.
|
||||
set sidescrolloff=3 " Keep cursor away from this many chars left/right
|
||||
set smartcase " Lets you search for ALL CAPS
|
||||
set softtabstop=2 " Spaces 'feel' like tabs
|
||||
set suffixes+=.pyc " Ignore these files when tab-completing
|
||||
set tabstop=2 " The One True Tab
|
||||
set textwidth=100 " 100 is the new 80
|
||||
set notitle " Don't set the title of the Vim window
|
||||
set wildmenu " Show possible completions on command line
|
||||
set wildmode=list:longest,full " List all options and complete
|
||||
set wildignore=*.class,*.o,*~,*.pyc,.git,node_modules " Ignore certain files in tab-completion
|
||||
|
||||
" Essential for filetype plugins.
|
||||
filetype plugin indent on
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" CUSTOM COMMANDS AND FUNCTIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" PLUGIN SETTINGS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Use Pathogen for plugin management. See update.sh in this directory.
|
||||
runtime bundle/vim-pathogen/autoload/pathogen.vim
|
||||
call pathogen#infect()
|
||||
call pathogen#helptags()
|
||||
|
||||
" GitGutter styling to use · instead of +/-
|
||||
let g:gitgutter_sign_added = '∙'
|
||||
let g:gitgutter_sign_modified = '∙'
|
||||
let g:gitgutter_sign_removed = '∙'
|
||||
let g:gitgutter_sign_modified_removed = '∙'
|
||||
|
||||
" ALE
|
||||
let g:ale_sign_warning = '▲'
|
||||
let g:ale_sign_error = '✗'
|
||||
highlight link ALEWarningSign String
|
||||
highlight link ALEErrorSign Title
|
||||
|
||||
" Lightline
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
\ 'left': [['mode', 'paste'], ['filename', 'modified']],
|
||||
\ 'right': [['lineinfo'], ['percent'], ['readonly', 'linter_warnings', 'linter_errors', 'linter_ok']]
|
||||
\ },
|
||||
\ 'component_expand': {
|
||||
\ 'linter_warnings': 'LightlineLinterWarnings',
|
||||
\ 'linter_errors': 'LightlineLinterErrors',
|
||||
\ 'linter_ok': 'LightlineLinterOK'
|
||||
\ },
|
||||
\ 'component_type': {
|
||||
\ 'readonly': 'error',
|
||||
\ 'linter_warnings': 'warning',
|
||||
\ 'linter_errors': 'error'
|
||||
\ },
|
||||
\ }
|
||||
function! LightlineLinterWarnings() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '' : printf('%d ◆', all_non_errors)
|
||||
endfunction
|
||||
function! LightlineLinterErrors() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '' : printf('%d ✗', all_errors)
|
||||
endfunction
|
||||
function! LightlineLinterOK() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '✓ ' : ''
|
||||
endfunction
|
||||
|
||||
" Update and show lightline but only if it's visible (e.g., not in Goyo)
|
||||
autocmd User ALELint call s:MaybeUpdateLightline()
|
||||
function! s:MaybeUpdateLightline()
|
||||
if exists('#lightline')
|
||||
call lightline#update()
|
||||
end
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" COLORS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Make sure colored syntax mode is on, and make it Just Work with 256-color terminals.
|
||||
set background=dark
|
||||
let g:rehash256 = 1 " Something to do with Molokai?
|
||||
" colorscheme molokai
|
||||
if !has('gui_running')
|
||||
if $TERM == "xterm-256color" || $TERM == "screen-256color" || $COLORTERM == "gnome-terminal"
|
||||
set t_Co=256
|
||||
elseif has("terminfo")
|
||||
colorscheme default
|
||||
set t_Co=8
|
||||
set t_Sf=[3%p1%dm
|
||||
set t_Sb=[4%p1%dm
|
||||
else
|
||||
colorscheme default
|
||||
set t_Co=8
|
||||
set t_Sf=[3%dm
|
||||
set t_Sb=[4%dm
|
||||
endif
|
||||
" Disable Background Color Erase when within tmux - https://stackoverflow.com/q/6427650/102704
|
||||
if $TMUX != ""
|
||||
set t_ut=
|
||||
endif
|
||||
endif
|
||||
|
||||
syntax on
|
||||
|
||||
" Window splits & ruler are too bright, so change to white on grey (non-GUI)
|
||||
highlight StatusLine cterm=NONE ctermbg=blue ctermfg=white
|
||||
highlight StatusLineTerm cterm=NONE ctermbg=blue ctermfg=white
|
||||
highlight StatusLineNC cterm=NONE ctermbg=black ctermfg=white
|
||||
highlight StatusLineTermNC cterm=NONE ctermbg=black ctermfg=white
|
||||
highlight VertSplit cterm=NONE ctermbg=black ctermfg=white
|
||||
|
||||
" taglist.vim's filenames is linked to LineNr by default, which is too dark
|
||||
highlight def link MyTagListFileName Statement
|
||||
highlight def link MyTagListTagName Question
|
||||
|
||||
" Turn off horrible coloring for CDATA in XML
|
||||
highlight def link xmlCdata NONE
|
||||
|
||||
" Some custom spell-checking colors
|
||||
"highlight SpellBad term=underline cterm=underline ctermbg=NONE ctermfg=205
|
||||
"highlight SpellCap term=underline cterm=underline ctermbg=NONE ctermfg=33
|
||||
"highlight SpellRare term=underline cterm=underline ctermbg=NONE ctermfg=217
|
||||
"highlight SpellLocal term=underline cterm=underline ctermbg=NONE ctermfg=72
|
||||
|
||||
" The Ignore color should be... ignorable
|
||||
silent! highlight Ignore cterm=bold ctermfg=black ctermbg=bg
|
||||
highlight clear FoldColumn
|
||||
highlight def link FoldColumn Ignore
|
||||
highlight clear Folded
|
||||
highlight link Folded Ignore
|
||||
highlight clear LineNr
|
||||
highlight! def link LineNr Ignore
|
||||
|
||||
" Custom search colors
|
||||
highlight clear Search
|
||||
highlight Search term=NONE cterm=NONE ctermfg=white ctermbg=black
|
||||
|
||||
" Make hilighted matching parents less annoying
|
||||
highlight clear MatchParen
|
||||
highlight link MatchParen Search
|
||||
|
||||
" Custom colors for NERDTree
|
||||
highlight def link NERDTreeRO NERDTreeFile
|
||||
|
||||
" Make trailing spaces very visible
|
||||
"highlight SpecialKey ctermbg=Yellow guibg=Yellow
|
||||
|
||||
" Make menu selections visible
|
||||
highlight PmenuSel ctermfg=black ctermbg=magenta
|
||||
|
||||
" The sign column slows down remote terminals
|
||||
highlight clear SignColumn
|
||||
highlight link SignColumn Ignore
|
||||
|
||||
" Markdown could be more fruit salady
|
||||
highlight link markdownH1 PreProc
|
||||
highlight link markdownH2 PreProc
|
||||
highlight link markdownLink Character
|
||||
highlight link markdownBold String
|
||||
highlight link markdownItalic Statement
|
||||
highlight link markdownCode Delimiter
|
||||
highlight link markdownCodeBlock Delimiter
|
||||
highlight link markdownListMarker Todo
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" FILE TYPE TRIGGERS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Reset all autocommands
|
||||
augroup vimrc
|
||||
autocmd!
|
||||
|
||||
au BufNewFile,BufRead *.cson set ft=coffee
|
||||
au BufNewFile,BufRead *.glsl setf glsl
|
||||
au BufNewFile,BufRead *.gyp set ft=python
|
||||
au BufNewFile,BufRead *.html setlocal nocindent smartindent
|
||||
au BufNewFile,BufRead *.i7x setf inform7
|
||||
au BufNewFile,BufRead *.ini setf conf
|
||||
au BufNewFile,BufRead *.input setf gnuplot
|
||||
au BufNewFile,BufRead *.json set ft=json tw=0
|
||||
au BufNewFile,BufRead *.less setlocal ft=less nocindent smartindent
|
||||
au BufNewFile,BufRead *.md setlocal ft=markdown nolist
|
||||
au BufNewFile,BufRead *.md,*.markdown setlocal foldlevel=999 tw=0 nocin
|
||||
au BufNewFile,BufRead *.ni setlocal ft=inform nolist ts=2 sw=2 noet
|
||||
au BufNewFile,BufRead *.plist setf xml
|
||||
au BufNewFile,BufRead *.rb setlocal noai
|
||||
au BufNewFile,BufRead *.rxml setf ruby
|
||||
au BufNewFile,BufRead *.sass setf sass
|
||||
au BufNewFile,BufRead *.ttml setf xml
|
||||
au BufNewFile,BufRead *.vert,*.frag set ft=glsl
|
||||
au BufNewFile,BufRead *.xml setlocal ft=xml ts=2 sw=2 et
|
||||
au BufNewFile,BufRead *.zone setlocal nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead *.zsh setf zsh
|
||||
au BufNewFile,BufRead *templates/*.html setf htmldjango
|
||||
au BufNewFile,BufRead .git/config setlocal ft=gitconfig nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead .gitconfig* setlocal ft=gitconfig nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead .vimlocal,.gvimlocal setf vim
|
||||
au BufNewFile,BufRead .zshlocal setf zsh
|
||||
au BufNewFile,BufRead /tmp/crontab* setf crontab
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG setlocal nolist nonumber
|
||||
au BufNewFile,BufRead Makefile setlocal nolist
|
||||
|
||||
au FileType gitcommit setlocal nolist ts=4 sts=4 sw=4 noet
|
||||
au FileType inform7 setlocal nolist tw=0 ts=4 sw=4 noet foldlevel=999
|
||||
au FileType json setlocal conceallevel=0 foldmethod=syntax foldlevel=999
|
||||
au FileType make setlocal nolist ts=4 sts=4 sw=4 noet
|
||||
au FileType markdown syn sync fromstart
|
||||
au Filetype gitcommit setlocal tw=80
|
||||
|
||||
augroup END
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" HOST-SPECIFIC VIM FILE
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Now load specifics to this host
|
||||
if filereadable(expand("~/.vimlocal"))
|
||||
source ~/.vimlocal
|
||||
endif
|
||||
|
||||
" vim:set tw=100:
|
Loading…
Add table
Add a link
Reference in a new issue