Major Refactored vim config.
There's a lot of cruft built up over my years of using vim & with the introduction of Doom Emacs what I use vim for has gotten more pointed as well. Vim now services as a quick in and out tool for dropping to the commandline on local or remote machines. So quick rundown on changes. - Removed weird hallow sourcing in vimrc - Removed unused or under used Plugs. - Switched from ctrl+p to fzf. - Switched to ALE for linting and formatting - Configuration and keybinds now lives with the Plugs. Intended one level under it. - The large boilerplate sane default file has been extracted into sensible.vim. This based on tpope's config. - Make will no longer symlink .dotfile/vim to ~/.vim. This was causing lots of unversioned cruff to pile up in the project. Instead it will now symlink all the things needed. - Make update will now run PlugClean as well.
This commit is contained in:
parent
df0981745d
commit
8bce4295c8
2
vim/ftplugin/json.vim
Normal file
2
vim/ftplugin/json.vim
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
com! FormatJSON :%!python3 -m json.tool
|
||||||
|
map <buffer><leader>= :FormatJSON<cr>
|
6
vim/ftplugin/xml.vim
Normal file
6
vim/ftplugin/xml.vim
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
let b:ale_fixers = ['xmllint']
|
||||||
|
let b:ale_fix_on_save = 0
|
||||||
|
|
||||||
|
let g:xml_syntax_folding=1
|
||||||
|
setlocal foldmethod=syntax
|
||||||
|
autocmd Syntax xml,html,xhtml normal zR
|
|
@ -10,8 +10,13 @@ install: | init update
|
||||||
init:
|
init:
|
||||||
if (( $$+commands[vim] )) ; then
|
if (( $$+commands[vim] )) ; then
|
||||||
$(report) header "Setting up vim"
|
$(report) header "Setting up vim"
|
||||||
$(mk_link) $(SRC_DIR) $(TARGET_DIR)
|
mkdir -p $(TARGET_DIR)
|
||||||
$(mk_link) $(SRC_DIR)/vimrc ~/.vimrc
|
$(mk_link) $(SRC_DIR)/vimrc ~/.vimrc
|
||||||
|
$(mk_link) $(SRC_DIR)/vimrc.d $(TARGET_DIR)/vimrc.d
|
||||||
|
$(mk_link) $(SRC_DIR)/spell $(TARGET_DIR)/spell
|
||||||
|
( mkdir -p $(TARGET_DIR)/backup \
|
||||||
|
&& chmod 700 $(TARGET_DIR)/backup ) \
|
||||||
|
; $(report) "setting up backup dir"
|
||||||
else
|
else
|
||||||
$(report) warn "cannot find vim?"
|
$(report) warn "cannot find vim?"
|
||||||
fi
|
fi
|
||||||
|
@ -21,7 +26,7 @@ update:
|
||||||
$(report) header "Upgrading vim"
|
$(report) header "Upgrading vim"
|
||||||
curl -fsLo $(PLUG_PATH) $(PLUG_URL) \
|
curl -fsLo $(PLUG_PATH) $(PLUG_URL) \
|
||||||
; $(report) "vim plug setup"
|
; $(report) "vim plug setup"
|
||||||
vim +PlugInstall +PlugUpdate +qall \
|
vim +PlugInstall +PlugUpdate +PlugClean +qall \
|
||||||
; $(report) "downloading/updating plugins"
|
; $(report) "downloading/updating plugins"
|
||||||
stty sane # dropping in & out causes some weird tty behavior.
|
stty sane # dropping in & out causes some weird tty behavior.
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
off
|
|
||||||
env
|
|
||||||
Ctrl
|
|
||||||
zsh
|
|
||||||
dotfiles
|
|
||||||
CoffeeScript
|
CoffeeScript
|
||||||
Haml
|
|
||||||
ctag
|
|
||||||
Ctags
|
Ctags
|
||||||
mkdir
|
Ctrl
|
||||||
tmux
|
GreenFiling
|
||||||
hostname
|
Haml
|
||||||
rebase
|
|
||||||
rebases
|
|
||||||
ctags
|
|
||||||
config
|
|
||||||
zsh
|
|
||||||
backend
|
|
||||||
SES
|
SES
|
||||||
Tybera
|
Tybera
|
||||||
GreenFiling
|
backend
|
||||||
|
config
|
||||||
|
ctag
|
||||||
|
ctags
|
||||||
|
dotfiles
|
||||||
|
env
|
||||||
|
hostname
|
||||||
|
mkdir
|
||||||
|
off
|
||||||
|
rebase
|
||||||
|
rebases
|
||||||
|
tmux
|
||||||
|
zsh
|
||||||
|
zsh
|
||||||
|
|
148
vim/vimrc
148
vim/vimrc
|
@ -1,7 +1,147 @@
|
||||||
source ~/.vim/vimrc.d/base.vim
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
source ~/.vim/vimrc.d/plugins.vim
|
" Sections:
|
||||||
source ~/.vim/vimrc.d/ui.vim
|
" -> Plug Setup
|
||||||
source ~/.vim/vimrc.d/keybind.vim
|
" -> Brief Config
|
||||||
|
" -> Plugs & Configure
|
||||||
|
"
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" PlugSetup:
|
||||||
|
" -> Auto Install Plug
|
||||||
|
" -> Auto Add Missing Plugs
|
||||||
|
" -> Add Conditional Helper
|
||||||
|
" -> Has Async
|
||||||
|
|
||||||
|
" Install vim-plug if not found
|
||||||
|
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||||
|
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||||
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Run PlugInstall if there are missing plugins
|
||||||
|
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
||||||
|
\| PlugInstall --sync | source $MYVIMRC
|
||||||
|
\| endif
|
||||||
|
|
||||||
|
" Convenience function for arbitrary conditional loading
|
||||||
|
" See https://github.com/junegunn/vim-plug/wiki/tips#conditional-activation for more.
|
||||||
|
function! Cond(cond, ...)
|
||||||
|
let opts = get(a:000, 0, {})
|
||||||
|
return a:cond ? opts : extend(opts, { 'on': [], 'for': [] })
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" Brief Config:
|
||||||
|
" -> Sane Config Base
|
||||||
|
" -> Leader Key
|
||||||
|
" -> Has Async Var
|
||||||
|
|
||||||
|
" Sane Config Based on Tpope's Vim-Sensible
|
||||||
|
" https://github.com/tpope/vim-sensible
|
||||||
|
source ~/.vim/vimrc.d/sensible.vim
|
||||||
|
|
||||||
|
" Take me to your leader
|
||||||
|
let mapleader=","
|
||||||
|
|
||||||
|
" Added Async Var
|
||||||
|
let g:has_async = v:version >= 800 || has('nvim')
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" Plugs_Configure:
|
||||||
|
" -> Molokai Theme
|
||||||
|
" -> Deoplete Completion Framework
|
||||||
|
" -> Git Gutter
|
||||||
|
" -> Rainbow Parens
|
||||||
|
" -> Auto Pair
|
||||||
|
" -> Vim Surround
|
||||||
|
" -> Vim Airline
|
||||||
|
" -> Vim Eunuch
|
||||||
|
" -> Nerdtree
|
||||||
|
" -> Incsearch
|
||||||
|
" -> EasyMotion
|
||||||
|
" -> Incsearch + EasyMotion
|
||||||
|
" -> Fzf
|
||||||
|
" -> ALE
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
|
" Theme
|
||||||
|
Plug 'tomasr/molokai'
|
||||||
|
autocmd VimEnter * colorscheme molokai
|
||||||
|
hi LineNr ctermfg=245 ctermbg=235
|
||||||
|
let g:molokai_original=1
|
||||||
|
let g:rehash256=1
|
||||||
|
match ErrorMsg '\%>120v.\+'
|
||||||
|
match ErrorMsg '\s\+$'
|
||||||
|
|
||||||
|
" Deoplete : Fancy vim8+/nvim autocomplete framework
|
||||||
|
if (has('python3') || has('nvim'))
|
||||||
|
Plug 'Shougo/deoplete.nvim'
|
||||||
|
" completion source
|
||||||
|
Plug 'Shougo/neco-syntax'
|
||||||
|
" running on non-nvim instances requires the following
|
||||||
|
" See https://github.com/Shougo/deoplete.nvim#install for more
|
||||||
|
Plug 'roxma/nvim-yarp', Cond(! has('nvim'))
|
||||||
|
Plug 'roxma/vim-hug-neovim-rpc', Cond(! has('nvim'))
|
||||||
|
let g:deoplete#enable_at_startup=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" GitGutter : Letting you know whats changed
|
||||||
|
Plug 'airblade/vim-gitgutter'
|
||||||
|
|
||||||
|
" Rainbow Parens : making at color term more useful
|
||||||
|
Plug 'kien/rainbow_parentheses.vim'
|
||||||
|
|
||||||
|
" Auto Pair : Vim plugin, insert or delete brackets, parens, quotes in pair
|
||||||
|
Plug 'jiangmiao/auto-pairs'
|
||||||
|
|
||||||
|
" Vim Surround : quoting/parenthesizing made simple
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
|
||||||
|
" Vim Airline : Modeline support
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
|
||||||
|
" Vim Eunuch : Helpers for UNIX
|
||||||
|
Plug 'tpope/vim-eunuch'
|
||||||
|
|
||||||
|
" Nerdtree : A tree explorer plugin for vim.
|
||||||
|
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
||||||
|
|
||||||
|
" Incsearch : Improved incremental searching for Vim
|
||||||
|
Plug 'haya14busa/incsearch.vim'
|
||||||
|
|
||||||
|
" EasyMotion : Vim motions on speed!
|
||||||
|
Plug 'easymotion/vim-easymotion'
|
||||||
|
let g:EasyMotion_smartcase = 1
|
||||||
|
map <Leader>f <Plug>(easymotion-bd-f2)
|
||||||
|
nmap <Leader>f <Plug>(easymotion-overwin-f2)
|
||||||
|
|
||||||
|
" Incsearch & EasyMotion : peanut butter & chocolate
|
||||||
|
Plug 'haya14busa/incsearch-easymotion.vim'
|
||||||
|
map / <Plug>(incsearch-easymotion-/)
|
||||||
|
map ? <Plug>(incsearch-easymotion-?)
|
||||||
|
map g/ <Plug>(incsearch-easymotion-stay)
|
||||||
|
|
||||||
|
" FZF : Fuzzy was he found
|
||||||
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||||||
|
Plug 'junegunn/fzf.vim'
|
||||||
|
let g:fzf_layout = { 'down': '40%' }
|
||||||
|
map <leader><tab> :History<cr>
|
||||||
|
map <leader>b :Buffers<cr>
|
||||||
|
|
||||||
|
" ALE : Asynchronous Lint Engine
|
||||||
|
Plug 'dense-analysis/ale', Cond(g:has_async)
|
||||||
|
if g:has_async
|
||||||
|
map <leader>= :ALEFix<cr>
|
||||||
|
endif
|
||||||
|
let g:ale_fixers = {'*': ['remove_trailing_lines', 'trim_whitespace']}
|
||||||
|
let g:ale_fix_on_save = 1
|
||||||
|
let g:ale_completion_enabled = 1
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
" vim: set filetype=vim:
|
" vim: set filetype=vim:
|
||||||
" -*- mode: vim -*-
|
" -*- mode: vim -*-
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
set go=
|
|
||||||
set t_Co=256
|
|
||||||
|
|
||||||
syntax on
|
|
||||||
filetype plugin indent on
|
|
||||||
set encoding=utf-8
|
|
||||||
set hidden
|
|
||||||
set showcmd
|
|
||||||
set nowrap
|
|
||||||
set backspace=indent,eol,start
|
|
||||||
set autoindent
|
|
||||||
set number
|
|
||||||
set shiftround
|
|
||||||
set ignorecase
|
|
||||||
set smartcase
|
|
||||||
set hlsearch
|
|
||||||
set incsearch
|
|
||||||
set history=1000
|
|
||||||
set undolevels=1000
|
|
||||||
set title
|
|
||||||
set noerrorbells
|
|
||||||
set list
|
|
||||||
set listchars=tab:>>,trail:.,extends:>,precedes:<,nbsp:.
|
|
||||||
set ttyfast
|
|
||||||
set mouse=a
|
|
||||||
set nocompatible
|
|
||||||
set backup
|
|
||||||
set noswapfile
|
|
||||||
set backupdir=~/.vim/backup
|
|
||||||
set laststatus=2
|
|
||||||
set fileformats=unix,dos,mac
|
|
||||||
set expandtab
|
|
||||||
set softtabstop=2 tabstop=2 shiftwidth=2
|
|
||||||
set ruler
|
|
||||||
set cursorline
|
|
||||||
set cuc cul
|
|
||||||
set wildmenu
|
|
||||||
set lazyredraw
|
|
||||||
set showmatch " highlight matching [{()}]
|
|
||||||
set wildignore=*.swp,*.bak
|
|
||||||
set wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,vendor/gems/*
|
|
||||||
set wildmode=longest,list:full
|
|
||||||
set linebreak
|
|
||||||
set nolist " list disables linebreak
|
|
||||||
|
|
||||||
set omnifunc=syntaxcomplete#Complete
|
|
||||||
set dictionary=/usr/share/dict/words
|
|
||||||
|
|
||||||
" The Silver Searcher
|
|
||||||
if executable('ag')
|
|
||||||
set grepprg=ag\ --nogroup\ --nocolor
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
if v:version > 702 && has('patch541')
|
|
||||||
set formatoptions+=j
|
|
||||||
endif
|
|
||||||
|
|
||||||
let g:has_async = v:version >= 800 || has('nvim')
|
|
||||||
|
|
||||||
"" Toggle relative/absolute numbering
|
|
||||||
function! NumberToggle()
|
|
||||||
if(&relativenumber == 1)
|
|
||||||
set number
|
|
||||||
else
|
|
||||||
set relativenumber
|
|
||||||
endif
|
|
||||||
endfunc
|
|
||||||
|
|
||||||
""
|
|
||||||
com! FormatJson :%!python3 -m json.tool
|
|
||||||
com! FormatXML :%!python3 -c "import xml.dom.minidom, sys; print(xml.dom.minidom.parse(sys.stdin).toprettyxml())"
|
|
|
@ -1,93 +0,0 @@
|
||||||
"" Keybinds
|
|
||||||
|
|
||||||
let mapleader=","
|
|
||||||
|
|
||||||
"" Kill
|
|
||||||
nnoremap <Leader>kb :BD<cr>
|
|
||||||
|
|
||||||
"" Toggles : t for toggle
|
|
||||||
" Toggle PasteMode
|
|
||||||
nnoremap <Leader>tp :set invpaste paste?<cr>
|
|
||||||
" Toggle wordwrap
|
|
||||||
nnoremap <Leader>tw :set wrap!<CR>
|
|
||||||
" Toggle Git Gutter :: Requires GitGutter
|
|
||||||
nnoremap <Leader>tg :GitGutterToggle<cr>
|
|
||||||
" Toggle Indent :: Requires Yggdroot/indentLine
|
|
||||||
nnoremap <leader>ti :IndentLinesToggle<cr>
|
|
||||||
" Tooggle Spell Check
|
|
||||||
nnoremap <leader>ts :setlocal spell! spelllang=en<CR>
|
|
||||||
" Toggle Relative Numbers
|
|
||||||
nnoremap <leader>t# :call NumberToggle()<cr>
|
|
||||||
" Toggle Syntastic :: Requires scrooloose/syntastic
|
|
||||||
nnoremap <leader>tc :SyntasticToggleMode<cr>
|
|
||||||
|
|
||||||
" Keybind ri
|
|
||||||
nnoremap <leader>ri :call ri#OpenSearchPrompt(0)<cr> " horizontal split"
|
|
||||||
nnoremap <leader>rk :call ri#LookupNameUnderCursor()<cr> " keyword lookup"
|
|
||||||
|
|
||||||
" vim-test mappings : T for Testing
|
|
||||||
nnoremap <silent> <Leader>Tt :TestFile<CR>
|
|
||||||
nnoremap <silent> <Leader>Ts :TestNearest<CR>
|
|
||||||
nnoremap <silent> <Leader>Tl :TestLast<CR>
|
|
||||||
nnoremap <silent> <Leader>Ta :TestSuite<CR>
|
|
||||||
nnoremap <silent> <leader>Tgt :TestVisit<CR>
|
|
||||||
|
|
||||||
" Enter for Nerd :: Requires Nerdtree
|
|
||||||
map <Leader><cr> :NERDTreeToggle<cr>
|
|
||||||
|
|
||||||
" Sudo Save :: Requires tpope/vim-eunuch
|
|
||||||
nnoremap <Leader>W :SudoWrite<cr>
|
|
||||||
|
|
||||||
" Quick Format : f for Format
|
|
||||||
nnoremap <silent> <Leader>fi :normal migg=G`i`
|
|
||||||
nnoremap <silent> <Leader>fw :FixWhitespace<cr>
|
|
||||||
vnoremap <silent> <Leader>ft :Tabularize /
|
|
||||||
nnoremap <silent> <Leader>fT :Tabularize /\zs<LEFT><LEFT><LEFT>
|
|
||||||
|
|
||||||
" Set File Type Use : F for Filetype
|
|
||||||
nnoremap <silent> <Leader>Fm :set filetype=markdown<CR>
|
|
||||||
nnoremap <silent> <Leader>Fv :set filetype=vim<CR>
|
|
||||||
nnoremap <silent> <Leader>Frb :set filetype=ruby<CR>
|
|
||||||
|
|
||||||
" Tagbar
|
|
||||||
nmap <F8> :TagbarToggle<CR>
|
|
||||||
|
|
||||||
" CTRL-P
|
|
||||||
map <F3> :CtrlPMRU<cr>
|
|
||||||
nnoremap <Leader>b :CtrlPBuffer<cr>
|
|
||||||
|
|
||||||
" Better Search :: Requires haya14busa/incsearch.vim
|
|
||||||
map / <Plug>(incsearch-forward)
|
|
||||||
map ? <Plug>(incsearch-backward)
|
|
||||||
map g/ <Plug>(incsearch-stay)
|
|
||||||
|
|
||||||
nnoremap <Space> :
|
|
||||||
|
|
||||||
" Better Subsitute :: Requires osyo-manga/vim-over
|
|
||||||
nnoremap <leader>s :OverCommandLine<CR> %s/
|
|
||||||
|
|
||||||
" Format XML
|
|
||||||
map @@x :%s/<\([^>]\)*>/\r&\r/g<enter>:g/^$/d<enter>vat=
|
|
||||||
|
|
||||||
" Switch windows with shift + jikl
|
|
||||||
nnoremap <S-l> :wincmd l<CR>
|
|
||||||
nnoremap <S-j> :wincmd j<CR>
|
|
||||||
nnoremap <S-h> :wincmd h<CR>
|
|
||||||
nnoremap <S-k> :wincmd k<CR>
|
|
||||||
|
|
||||||
" Line Switch
|
|
||||||
nnoremap <C-j> :m .+1<CR>==
|
|
||||||
nnoremap <C-k> :m .-2<CR>==
|
|
||||||
vnoremap <C-j> :m '>+1<CR>gv=gv
|
|
||||||
vnoremap <C-k> :m '<-2<CR>gv=gv
|
|
||||||
|
|
||||||
" Plug Stuff
|
|
||||||
nnoremap <leader>pi :PlugInstall<CR>
|
|
||||||
nnoremap <leader>pu :PlugUpdate<CR>
|
|
||||||
nnoremap <leader>ps :PlugStatus<CR>
|
|
||||||
|
|
||||||
" UltiSnips
|
|
||||||
let g:UltiSnipsExpandTrigger="<tab>"
|
|
||||||
let g:UltiSnipsJumpForwardTrigger="<tab>"
|
|
||||||
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
|
|
||||||
imap <expr><C-k> pumvisible() ? "\<C-y><C-R>=UltiSnips#ExpandSnippet()<CR>" : "\<C-R>=UltiSnips#ExpandSnippet()<CR>"
|
|
|
@ -1,107 +0,0 @@
|
||||||
" ==============================================================================
|
|
||||||
" PLUGINS
|
|
||||||
" This
|
|
||||||
filetype off
|
|
||||||
|
|
||||||
"" automatically install new plugs
|
|
||||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
|
||||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
|
||||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
||||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
|
||||||
endif
|
|
||||||
|
|
||||||
"" Start Vim-Plug
|
|
||||||
call plug#begin('~/.vim/plugged')
|
|
||||||
|
|
||||||
"" Cond loading
|
|
||||||
function! Cond(cond, ...)
|
|
||||||
let opts = get(a:000, 0, {})
|
|
||||||
return a:cond ? opts : extend(opts, { 'on': [],'for': [] })
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Themes
|
|
||||||
Plug 'kamwitsta/flatwhite-vim'
|
|
||||||
Plug 'tomasr/molokai'
|
|
||||||
|
|
||||||
" Extensions
|
|
||||||
Plug 'Shougo/deoplete.nvim' , Cond(g:has_async, { 'on': [] })
|
|
||||||
Plug 'Shougo/neco-vim' , {'for' : 'vim'}
|
|
||||||
Plug 'Shougo/neocomplete.vim' , Cond(!g:has_async, { 'on': [] })
|
|
||||||
Plug 'Shougo/vimproc.vim' , {'do' : 'make'}
|
|
||||||
Plug 'Yggdroot/indentLine'
|
|
||||||
Plug 'airblade/vim-gitgutter'
|
|
||||||
Plug 'bronson/vim-trailing-whitespace'
|
|
||||||
Plug 'godlygeek/tabular'
|
|
||||||
Plug 'haya14busa/incsearch.vim'
|
|
||||||
Plug 'honza/vim-snippets'
|
|
||||||
Plug 'janko-m/vim-test'
|
|
||||||
Plug 'jiangmiao/auto-pairs'
|
|
||||||
Plug 'jpalardy/vim-slime'
|
|
||||||
Plug 'kien/ctrlp.vim'
|
|
||||||
Plug 'kien/rainbow_parentheses.vim'
|
|
||||||
Plug 'majutsushi/tagbar'
|
|
||||||
Plug 'osyo-manga/vim-over'
|
|
||||||
Plug 'qpkorr/vim-bufkill' , {'on': 'BD'}
|
|
||||||
Plug 'rizzatti/dash.vim'
|
|
||||||
Plug 'roxma/nvim-yarp' , Cond(g:has_async)
|
|
||||||
Plug 'roxma/vim-hug-neovim-rpc' , Cond(g:has_async)
|
|
||||||
Plug 'scrooloose/nerdcommenter'
|
|
||||||
Plug 'scrooloose/nerdtree' , { 'on': 'NERDTreeToggle' }
|
|
||||||
Plug 'scrooloose/syntastic' , Cond(!g:has_async)
|
|
||||||
Plug 'tpope/vim-eunuch'
|
|
||||||
Plug 'tpope/vim-markdown' , {'for' : 'markdown'}
|
|
||||||
Plug 'vim-airline/vim-airline'
|
|
||||||
Plug 'vim-airline/vim-airline-themes'
|
|
||||||
Plug 'w0rp/ale' , Cond(g:has_async)
|
|
||||||
|
|
||||||
for fpath in split(globpath('~/.vim/plug.d/', '*.vim'), '\n')
|
|
||||||
exe 'source' fpath
|
|
||||||
endfor
|
|
||||||
|
|
||||||
" CTRL-P
|
|
||||||
let g:ctrlp_cmd = 'CtrlPMixed'
|
|
||||||
let g:ctrlp_working_path_mode = 'ra'
|
|
||||||
if executable('ag')
|
|
||||||
let g:ctrlp_user_command = 'ag -Q -l --nocolor --hidden -g "" %s'
|
|
||||||
endif
|
|
||||||
|
|
||||||
" VIM-AIRPLAINE
|
|
||||||
let g:airline_powerline_fonts = 1
|
|
||||||
if !exists('g:airline_symbols')
|
|
||||||
let g:airline_symbols = {}
|
|
||||||
endif
|
|
||||||
let g:airline#extensions#tabline#enabled = 1
|
|
||||||
let g:airline#extensions#tabline#left_sep = ' '
|
|
||||||
let g:airline#extensions#tabline#left_alt_sep = '|'
|
|
||||||
let g:airline_theme = 'powerlineish'
|
|
||||||
set laststatus=2
|
|
||||||
set ttimeoutlen=50
|
|
||||||
|
|
||||||
" RAINBOW_PARENTHESE
|
|
||||||
let g:rbpt_colorpairs = [
|
|
||||||
\ ['brown', 'RoyalBlue3'],
|
|
||||||
\ ['Darkblue', 'SeaGreen3'],
|
|
||||||
\ ['darkgray', 'DarkOrchid3'],
|
|
||||||
\ ['darkgreen', 'firebrick3'],
|
|
||||||
\ ['darkcyan', 'RoyalBlue3'],
|
|
||||||
\ ['darkred', 'SeaGreen3'],
|
|
||||||
\ ['darkmagenta', 'DarkOrchid3'],
|
|
||||||
\ ['brown', 'firebrick3'],
|
|
||||||
\ ['gray', 'RoyalBlue3'],
|
|
||||||
\ ['black', 'SeaGreen3'],
|
|
||||||
\ ['darkmagenta', 'DarkOrchid3'],
|
|
||||||
\ ['Darkblue', 'firebrick3'],
|
|
||||||
\ ['darkgreen', 'RoyalBlue3'],
|
|
||||||
\ ['darkcyan', 'SeaGreen3'],
|
|
||||||
\ ['darkred', 'DarkOrchid3'],
|
|
||||||
\ ['red', 'firebrick3'],
|
|
||||||
\ ]
|
|
||||||
let g:rbpt_max = 16
|
|
||||||
au VimEnter * RainbowParenthesesToggle
|
|
||||||
au Syntax * RainbowParenthesesLoadRound
|
|
||||||
au Syntax * RainbowParenthesesLoadSquare
|
|
||||||
au Syntax * RainbowParenthesesLoadBraces
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
call plug#end()
|
|
161
vim/vimrc.d/sensible.vim
Normal file
161
vim/vimrc.d/sensible.vim
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
if exists('g:loaded_sensible') || &compatible
|
||||||
|
finish
|
||||||
|
else
|
||||||
|
let g:loaded_sensible = 'yes'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" lazy for faster redraw
|
||||||
|
set lazyredraw
|
||||||
|
|
||||||
|
" disable vi compatibility
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" set encoding
|
||||||
|
set encoding=utf-8
|
||||||
|
|
||||||
|
" show the full incomplete command at the bottom of screen.
|
||||||
|
set showcmd
|
||||||
|
|
||||||
|
" mouse support
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" enable line numbers
|
||||||
|
set number
|
||||||
|
|
||||||
|
" highlight the cursorline
|
||||||
|
set cursorline
|
||||||
|
" and also the column
|
||||||
|
set cuc cul
|
||||||
|
|
||||||
|
" make laggy connections work faster
|
||||||
|
set ttyfast
|
||||||
|
|
||||||
|
" case-insensitive filename completion
|
||||||
|
set wildignorecase
|
||||||
|
|
||||||
|
" allow unsaved hidden buffers
|
||||||
|
" https://vimtricks.com/p/what-is-set-hidden/
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
" disable wrapping
|
||||||
|
set nowrap
|
||||||
|
|
||||||
|
" round tabs to the nearest tab
|
||||||
|
set shiftround
|
||||||
|
|
||||||
|
" set the tab to match
|
||||||
|
set autoindent
|
||||||
|
|
||||||
|
" when searching ignore case
|
||||||
|
set ignorecase
|
||||||
|
|
||||||
|
" when using case respect it
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" highlight results
|
||||||
|
set hlsearch
|
||||||
|
|
||||||
|
"search as you type
|
||||||
|
set incsearch
|
||||||
|
|
||||||
|
" you know what's helpful a ridiculous back button
|
||||||
|
set history=1000
|
||||||
|
set undolevels=1000
|
||||||
|
|
||||||
|
" user backfile files foften
|
||||||
|
set backup
|
||||||
|
set backupdir=~/.vim/backup
|
||||||
|
|
||||||
|
" swap files kind of clutter up
|
||||||
|
set noswapfile
|
||||||
|
|
||||||
|
" I get these enough. I don't need more.
|
||||||
|
set noerrorbells
|
||||||
|
|
||||||
|
" always have a status.
|
||||||
|
set laststatus=2
|
||||||
|
|
||||||
|
" tab logic
|
||||||
|
set expandtab
|
||||||
|
set softtabstop=2 tabstop=2 shiftwidth=2
|
||||||
|
|
||||||
|
" add tab completion for commands
|
||||||
|
" https://vim.fandom.com/wiki/Great_wildmode/wildmenu_and_console_mouse
|
||||||
|
set wildmode=list:longest,full
|
||||||
|
|
||||||
|
" highlight matching [{()}]
|
||||||
|
set showmatch
|
||||||
|
|
||||||
|
" spellnig mattears.
|
||||||
|
set dictionary=/usr/share/dict/words
|
||||||
|
|
||||||
|
" ag isn't grep but it is faster.
|
||||||
|
if executable('ag')
|
||||||
|
set grepprg=ag\ --nogroup\ --nocolor
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has('autocmd')
|
||||||
|
filetype plugin indent on
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has('syntax') && !exists('g:syntax_on')
|
||||||
|
syntax enable
|
||||||
|
endif
|
||||||
|
|
||||||
|
" backspace cross the following
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
set complete-=i
|
||||||
|
set smarttab
|
||||||
|
|
||||||
|
set nrformats-=octal
|
||||||
|
|
||||||
|
if !has('nvim') && &ttimeoutlen == -1
|
||||||
|
set ttimeout
|
||||||
|
set ttimeoutlen=100
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Use <C-L> to clear the highlighting of :set hlsearch.
|
||||||
|
if maparg('<C-L>', 'n') ==# ''
|
||||||
|
nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !&scrolloff
|
||||||
|
set scrolloff=1
|
||||||
|
endif
|
||||||
|
if !&sidescrolloff
|
||||||
|
set sidescrolloff=5
|
||||||
|
endif
|
||||||
|
set display+=lastline
|
||||||
|
|
||||||
|
if &listchars ==# 'eol:$'
|
||||||
|
set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Delete commment characters when joining comment lines
|
||||||
|
if v:version > 703 || v:version == 703 && has("patch541")
|
||||||
|
set formatoptions+=j " Delete comment character when joining commented lines
|
||||||
|
endif
|
||||||
|
|
||||||
|
" max tab count
|
||||||
|
if &tabpagemax < 50
|
||||||
|
set tabpagemax=50
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !empty(&viminfo)
|
||||||
|
set viminfo^=!
|
||||||
|
endif
|
||||||
|
|
||||||
|
set sessionoptions-=options
|
||||||
|
set viewoptions-=options
|
||||||
|
|
||||||
|
" Allow color schemes to do bright colors without forcing bold.
|
||||||
|
if &t_Co == 8 && $TERM !~# '^Eterm'
|
||||||
|
set t_Co=16
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load matchit.vim, but only if the user hasn't installed a newer version.
|
||||||
|
if !exists('g:loaded_matchit') && findfile('plugin/matchit.vim', &rtp) ==# ''
|
||||||
|
runtime! macros/matchit.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
" vim:set ft=vim et sw=2:
|
|
@ -1,19 +0,0 @@
|
||||||
|
|
||||||
"" GUI
|
|
||||||
if has('gui_macvim')
|
|
||||||
let macvim_skip_colorscheme = 1
|
|
||||||
colorscheme flatwhite
|
|
||||||
set lines=60 columns=108 linespace=0
|
|
||||||
set guifont=Source\ Code\ Pro\ for\ Powerline:h10
|
|
||||||
else
|
|
||||||
set background=dark
|
|
||||||
let g:molokai_original=1
|
|
||||||
let g:rehash256=1
|
|
||||||
set t_Co=256
|
|
||||||
colorscheme molokai
|
|
||||||
hi LineNr ctermfg=245 ctermbg=235
|
|
||||||
endif
|
|
||||||
|
|
||||||
"" Error Message
|
|
||||||
match ErrorMsg '\%>120v.\+'
|
|
||||||
match ErrorMsg '\s\+$'
|
|
Loading…
Reference in New Issue
Block a user