mirror of
https://github.com/ViViDboarder/vim-settings.git
synced 2024-12-05 02:36:44 +00:00
More dark vim!
This commit is contained in:
parent
9ae83fd515
commit
92d7a08690
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
vim/autoload/plug.vim
|
||||||
|
vim/plugged/*
|
||||||
|
vim/rc/*.local.rc.vim
|
||||||
|
vim/tmp/*.swp
|
||||||
|
vim/.netrwhist
|
@ -4,6 +4,11 @@
|
|||||||
############################
|
############################
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
|
if [ -d ~/.vim ] || [ -f ~/.vimrc ]; then
|
||||||
|
echo "Vim files already exist. Please backup or remove .vim and .vimrc"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Try to load .bashrc to load rvm functions
|
# Try to load .bashrc to load rvm functions
|
||||||
if [ -f ~/.bashrc ]; then
|
if [ -f ~/.bashrc ]; then
|
||||||
. ~/.bashrc
|
. ~/.bashrc
|
||||||
@ -14,104 +19,19 @@ VIM_SYNC_DIR=$(dirname $0)
|
|||||||
cd $VIM_SYNC_DIR
|
cd $VIM_SYNC_DIR
|
||||||
VIM_SYNC_DIR=$(pwd)
|
VIM_SYNC_DIR=$(pwd)
|
||||||
|
|
||||||
# Verify git is installed (although needed to checkout
|
|
||||||
command -v git >/dev/null 2>&1 || {
|
|
||||||
echo "Error: git required for install";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Clone vundle if not done already
|
ln -s $VIM_SYNC_DIR/vimrc ~/.vimrc
|
||||||
if [ ! -d ~/.vim/bundle/vundle ]; then
|
ln -s $VIM_SYNC_DIR/vim ~/.vim
|
||||||
echo "Installing vundle"
|
|
||||||
mkdir -p ~/.vim/bundle
|
|
||||||
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make backup and tmp dirs
|
# # Download and install vim-plug
|
||||||
echo "Building temp and backup dirs"
|
# curl -fLo ~/.vim/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
mkdir -p ~/.vim/backup
|
|
||||||
mkdir -p ~/.vim/tmp
|
|
||||||
mkdir -p ~/.vim/doc
|
|
||||||
|
|
||||||
# If a .vimrc_sync doesn't exist, link it
|
|
||||||
if [[ ! ( -f ~/.vimrc_sync ) ]]; then
|
|
||||||
echo "Linking sync'd vimrc"
|
|
||||||
ln -s $VIM_SYNC_DIR/vimrc ~/.vimrc_sync
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If a .vim_drpobox dir doesn't exist, link it
|
|
||||||
if [[ ! ( -d ~/.vim_sync ) ]]; then
|
|
||||||
echo "Linking sync'd vim runtime"
|
|
||||||
ln -s $VIM_SYNC_DIR/vim ~/.vim_sync
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if there is no .vimrc file already, make a blank one
|
|
||||||
if [[ ( ! -f ~/.vimrc ) ]]; then
|
|
||||||
echo "No ~/.vimrc found, creating one"
|
|
||||||
touch ~/.vimrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if not already sourcing the synced version, source it
|
|
||||||
if ! ( grep -q 'source ~/.vimrc_sync' ~/.vimrc ); then
|
|
||||||
echo "Source sync'd vimrc in vimrc"
|
|
||||||
echo '' >> ~/.vimrc
|
|
||||||
echo '"import vimrc from synced' >> ~/.vimrc
|
|
||||||
echo 'source ~/.vimrc_sync' >> ~/.vimrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! ( grep -q 'set runtimepath+=$HOME/.vim_sync' ~/.vimrc ); then
|
|
||||||
echo "Add sync'd vim dir to runtime"
|
|
||||||
echo '' >> ~/.vimrc
|
|
||||||
echo '"add vim directory from synced' >> ~/.vimrc
|
|
||||||
echo 'set runtimepath+=$HOME/.vim_sync' >> ~/.vimrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install all bundles
|
# Install all bundles
|
||||||
echo "Install all bundles"
|
echo "Install all bundles"
|
||||||
vim +BundleInstall! +qall
|
vim +PlugInstall +qall
|
||||||
|
|
||||||
echo "Compile vimproc"
|
vim --version | grep -q '\+ruby' || { echo "Warning: Default vim does not include ruby."; }
|
||||||
cd ~/.vim/bundle/vimproc.vim && make
|
vim --version | grep -q '\+python' || { echo "Warning: Default vim does not include python"; }
|
||||||
cd -
|
|
||||||
|
|
||||||
# Compile CommandT if possible
|
|
||||||
# See if ruby is installed
|
|
||||||
if command -v ruby >/dev/null 2>&1; then
|
|
||||||
# Make sure GCC is installed
|
|
||||||
if command -v gcc >/dev/null 2>&1; then
|
|
||||||
# Use system ruby
|
|
||||||
command -v rvm >/dev/null 2>&1 && { rvm use system; }
|
|
||||||
echo "Compile Command T's C extension"
|
|
||||||
cd ~/.vim/bundle/Command-T/ruby/command-t
|
|
||||||
ruby extconf.rb
|
|
||||||
make
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Display warning methods related to Command T
|
|
||||||
vim --version | grep -q '\+ruby' || { echo "Warning: Default vim does not include ruby as needed for Command T"; }
|
|
||||||
command -v ruby >/dev/null 2>&1 || { echo "Warning: ruby required for Command T"; }
|
|
||||||
command -v gcc >/dev/null 2>&1 || { echo "Warning: gcc required for Command T"; }
|
|
||||||
|
|
||||||
# Execute vim's update of the helptags
|
|
||||||
VIM_RESULT=$(vim +"helptags ~/.vim/doc" +"q")
|
|
||||||
|
|
||||||
if [[ "$VIM_RESULT" == *SEGV* ]]; then
|
|
||||||
echo "Seg Faulted. Retry with different ruby"
|
|
||||||
cd ~/.vim/bundle/Command-T/ruby/command-t && /opt/local/bin/ruby* extconf.rb && make && cd -
|
|
||||||
|
|
||||||
# Retry
|
|
||||||
vim +"helptags ~/.vim/doc" +"q"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Warn if ctags does not exist
|
|
||||||
command -v ctags >/dev/null 2>&1 || { echo "Warning: ctags required for Tag List
|
|
||||||
--- Debian: apt-get install ctags
|
|
||||||
--- OSX (MacPorts): port install ctags"; }
|
|
||||||
|
|
||||||
echo "Note: If VIM Segfaults try the following:"
|
|
||||||
echo " cd ~/.vim/bundle/Command-T/ruby/command-t && /opt/local/bin/ruby* extconf.rb && make && cd -"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "All done!"
|
echo "All done!"
|
||||||
exit 0
|
exit 0
|
||||||
|
0
vim/autoload/.gitkeep
Normal file
0
vim/autoload/.gitkeep
Normal file
0
vim/backup/.gitkeep
Normal file
0
vim/backup/.gitkeep
Normal file
15
vim/rc/edit.rc.vim
Normal file
15
vim/rc/edit.rc.vim
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
" Tab functionality
|
||||||
|
set expandtab
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set softtabstop=4
|
||||||
|
set autoindent
|
||||||
|
" Ensure backspace actually works
|
||||||
|
set backspace=2
|
||||||
|
"
|
||||||
|
" allow for cursor beyond last character
|
||||||
|
set virtualedit=onemore
|
||||||
|
" lines to scroll when cursor leaves screen
|
||||||
|
set scrolljump=5
|
||||||
|
" minimum lines to keep above and below cursor
|
||||||
|
set scrolloff=3
|
23
vim/rc/init.rc.vim
Normal file
23
vim/rc/init.rc.vim
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
"Allows filetype detection
|
||||||
|
filetype on
|
||||||
|
|
||||||
|
" Set settings values
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
" Allow arrow keys
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" Use more convenient leader
|
||||||
|
let mapleader=","
|
||||||
|
|
||||||
|
" Enable mouse input
|
||||||
|
set mousehide
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Set backup dirs
|
||||||
|
set backup
|
||||||
|
set backupdir=~/.vim/backup
|
||||||
|
set directory=~/.vim/tmp
|
||||||
|
|
||||||
|
" Filetype extension
|
||||||
|
au BufRead,BufNewFile *.md set syntax=markdown
|
71
vim/rc/keymap.rc.vim
Normal file
71
vim/rc/keymap.rc.vim
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
" Remap jk to esc
|
||||||
|
inoremap jk <esc>
|
||||||
|
" Easy esc on TEX Yoda
|
||||||
|
inoremap `` <esc>
|
||||||
|
vnoremap `` <esc>
|
||||||
|
|
||||||
|
" Change Working Directory to that of the current file
|
||||||
|
cmap cwd lcd %:p:h
|
||||||
|
cmap cd. lcd %:p:h
|
||||||
|
|
||||||
|
" Bind Make to F5 like other IDEs
|
||||||
|
nnoremap <F5> :Make!<CR>
|
||||||
|
|
||||||
|
" Remap Ctrl+Space for auto Complete
|
||||||
|
inoremap <C-Space> <C-n>
|
||||||
|
inoremap <Nul> <C-n>
|
||||||
|
|
||||||
|
" Toggle highlighting with \hr (highlight row)
|
||||||
|
nnoremap <leader>hr :set cursorline!<CR>
|
||||||
|
|
||||||
|
" Toggle Line numbers with Ctrl+N double tap
|
||||||
|
nmap <C-N><C-N> :set invnumber<CR>
|
||||||
|
nmap <leader>ln :set invnumber<CR>
|
||||||
|
|
||||||
|
" Toggle line wrap with Ctrl+L double tap
|
||||||
|
nmap <C-L><C-L> :set wrap!<CR>
|
||||||
|
nmap <leader>lw :set wrap!<CR>
|
||||||
|
|
||||||
|
" Toggle White Space
|
||||||
|
nmap <leader>ws :set list!<CR>
|
||||||
|
|
||||||
|
" Map Shift+U to redo
|
||||||
|
nnoremap <S-u> <C-r>
|
||||||
|
|
||||||
|
" Stupid shift key fixes
|
||||||
|
cmap WQ<CR> wq<CR>
|
||||||
|
cmap Wq<CR> wq<CR>
|
||||||
|
cmap W<CR> w<CR>
|
||||||
|
cmap Q<CR> q<CR>
|
||||||
|
cmap Q!<CR> q!<CR>
|
||||||
|
" Stupid semicolon files
|
||||||
|
cnoremap w; w
|
||||||
|
cnoremap W; w
|
||||||
|
cnoremap q; q
|
||||||
|
cnoremap Q; q
|
||||||
|
" Avoid accidental Ex-mode
|
||||||
|
:map Q <Nop>
|
||||||
|
|
||||||
|
" Clearing highlighted search
|
||||||
|
nmap <silent> <leader>/ :set hlsearch! hlsearch?<CR>
|
||||||
|
noremap <C-h><C-s> :set hlsearch! hlsearch?<CR>
|
||||||
|
" Clear search
|
||||||
|
nmap <silent> <leader>cs :nohlsearch<CR>
|
||||||
|
|
||||||
|
" Code fold
|
||||||
|
nmap <leader>cf va{<ESC>zf%<ESC>:nohlsearch<CR>
|
||||||
|
|
||||||
|
" Paste over
|
||||||
|
vnoremap pp p
|
||||||
|
vnoremap po "_dP
|
||||||
|
|
||||||
|
" Buffer nav
|
||||||
|
nmap gb :bn<CR>
|
||||||
|
nmap gB :bp<CR>
|
||||||
|
|
||||||
|
" Command to display TODO tags in project
|
||||||
|
command Todo Ag! TODO
|
||||||
|
|
||||||
|
" Easy update tags
|
||||||
|
command TagsUpdate Dispatch ctags -R .
|
||||||
|
|
225
vim/rc/plugins.rc.vim
Normal file
225
vim/rc/plugins.rc.vim
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
" Navigation {{
|
||||||
|
Plug 'file-line'
|
||||||
|
Plug 'tpope/vim-vinegar'
|
||||||
|
Plug 'tpope/vim-fugitive', { 'on': ['Gblame', 'Gdiff', 'Gcommit', 'Gstatus', 'Gwrite'] } " {{
|
||||||
|
nnoremap <leader>gb :Gblame<CR>
|
||||||
|
nnoremap <leader>gc :Gcommit<CR>
|
||||||
|
nnoremap <leader>gd :Gdiff<CR>
|
||||||
|
nnoremap <leader>gs :Gstatus<CR>
|
||||||
|
nnoremap <leader>gw :Gwrite<CR>
|
||||||
|
" }}
|
||||||
|
Plug 'sandeepcr529/Buffet.vim', { 'on': 'Bufferlist' }
|
||||||
|
" {{
|
||||||
|
nnoremap <silent> <F2> :Bufferlist<CR>
|
||||||
|
" }}
|
||||||
|
Plug 'ctrlpvim/ctrlp.vim'
|
||||||
|
" {{
|
||||||
|
" Ensure max height isn't too large. (for performance)
|
||||||
|
let g:ctrlp_max_height = 10
|
||||||
|
" Conditional Mappings
|
||||||
|
let g:ctrlp_map = '<C-t>'
|
||||||
|
" Allow ctrl p to open over the initial nerdtree window
|
||||||
|
let g:ctrlp_dont_split = 'netrw'
|
||||||
|
" Support tag jumping
|
||||||
|
let g:ctrlp_extensions = ['tag', 'buffertag']
|
||||||
|
" Support Apex language
|
||||||
|
let g:ctrlp_buftag_types = {
|
||||||
|
\ 'apex' : '--language-force=c#',
|
||||||
|
\ 'go' : {
|
||||||
|
\ 'bin' : 'gotags',
|
||||||
|
\ 'args' : '-sort -silent',
|
||||||
|
\}
|
||||||
|
\}
|
||||||
|
" Leader Commands
|
||||||
|
nnoremap <leader>b :CtrlPBuffer<CR>
|
||||||
|
nnoremap <leader>t :CtrlPBufTag<CR>
|
||||||
|
nnoremap <leader>r :CtrlPTag<CR>
|
||||||
|
nnoremap <leader>u :CtrlPCurFile<CR>
|
||||||
|
nnoremap <leader>m :CtrlPMRUFiles<CR>
|
||||||
|
|
||||||
|
" Special stuff for The Silver Searcher
|
||||||
|
if executable('ag')
|
||||||
|
" use ag
|
||||||
|
set grepprg=ag\ --nogroup\ --nocolor
|
||||||
|
" use ag for CtrlP
|
||||||
|
let g:ctrlp_user_command = 'ag %s -l --nocolor --nogroup -g ""'
|
||||||
|
" ag is fast enough we don't need cache
|
||||||
|
let g:ctrlp_use_caching = 0
|
||||||
|
endif
|
||||||
|
" }}
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Search {{
|
||||||
|
if executable('ag')
|
||||||
|
Plug 'rking/ag.vim'
|
||||||
|
" {{
|
||||||
|
nmap <leader>a :Ag<Space>
|
||||||
|
nmap <leader>i* :Ag<Space>-i<Space>'\b<c-r><c-W>\b'<CR>
|
||||||
|
nmap <leader>* :Ag<Space>'\b<c-r><c-W>\b'<CR>
|
||||||
|
" }}
|
||||||
|
else
|
||||||
|
Plug 'mileszs/ack.vim'
|
||||||
|
" {{
|
||||||
|
nmap <leader>a :Ack<Space>
|
||||||
|
nmap <leader>i* :Ack<Space>-i<Space>'\b<c-r><c-W>\b'<CR>
|
||||||
|
nmap <leader>* :Ack<Space>'\<<c-r><c-W>\>'<CR>
|
||||||
|
" }}
|
||||||
|
endif
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Autocomplete {{
|
||||||
|
if has('lua')
|
||||||
|
Plug 'Shougo/neocomplete.vim'
|
||||||
|
" {{
|
||||||
|
let g:acp_enableAtStartup = 0
|
||||||
|
let g:neocomplete#enable_at_startup = 1
|
||||||
|
"let g:neocomplete#enable_smart_case = 1
|
||||||
|
let g:neocomlete#max_list=10
|
||||||
|
" }}
|
||||||
|
else
|
||||||
|
Plug 'Shougo/neocomplcache.vim'
|
||||||
|
" {{
|
||||||
|
let g:neocomplcache_enable_at_startup = 1
|
||||||
|
"let g:neocomplcache_enable_smart_case = 1
|
||||||
|
let g:neocomplcache_max_list = 10
|
||||||
|
"let g:neocomplcache_enable_camel_case_completion = 1
|
||||||
|
let g:neocomplcache_enable_fuzzy_completion = 1
|
||||||
|
if !exists('g:neocomplcache_force_omni_patterns')
|
||||||
|
let g:neocomplcache_force_omni_patterns = {}
|
||||||
|
endif
|
||||||
|
let g:neocomplcache_force_omni_patterns.python =
|
||||||
|
\ '\%([^. \t]\.\|^\s*@\|^\s*from\s.\+import \|^\s*from \|^\s*import \)\w*'
|
||||||
|
" alternative pattern: '\h\w*\|[^. \t]\.\w*'
|
||||||
|
" }}
|
||||||
|
end
|
||||||
|
" {{
|
||||||
|
" Enable omni completion.
|
||||||
|
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
|
||||||
|
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
|
||||||
|
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
|
||||||
|
" Skip python because we have jedi-vim
|
||||||
|
"autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
|
||||||
|
autocmd FileType python setlocal omnifunc=jedi#completions
|
||||||
|
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
|
||||||
|
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
|
||||||
|
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Programming {{
|
||||||
|
Plug 'majutsushi/tagbar' " {{
|
||||||
|
nnoremap <silent> <F8> :TagbarToggle<CR>
|
||||||
|
" Autofocus tagbar
|
||||||
|
let g:tagbar_autofocus = 1
|
||||||
|
" }}
|
||||||
|
Plug 'scrooloose/syntastic' " {{
|
||||||
|
let g:syntastic_html_tidy_ignore_errors = [
|
||||||
|
\ 'proprietary attribute "ng-show"',
|
||||||
|
\ 'proprietary attribute "ng-controller"',
|
||||||
|
\ 'proprietary attribute "ng-repeat"',
|
||||||
|
\ 'proprietary attribute "ng-app"',
|
||||||
|
\ 'proprietary attribute "ng-click"'
|
||||||
|
\ ]
|
||||||
|
let g:syntastic_python_checkers = ['flake8']
|
||||||
|
let g:syntastic_python_flake8_args='--max-line-length=80'
|
||||||
|
" let g:syntastic_python_checkers = ['pep8']
|
||||||
|
" " let g:syntastic_python_pep8_args='--ignore=E501'
|
||||||
|
" " let g:syntastic_python_checkers = ['jshint']
|
||||||
|
" " let g:syntastic_javascript_jshint_args='--ignore=E501'
|
||||||
|
"
|
||||||
|
" }}
|
||||||
|
Plug 'tomtom/tcomment_vim', { 'on': ['TComment', 'TCommentBlock'] } " {{
|
||||||
|
nnoremap // :TComment<CR>
|
||||||
|
vnoremap // :TCommentBlock<CR>
|
||||||
|
" }}
|
||||||
|
Plug 'benekastah/neomake'
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" GUI {{
|
||||||
|
Plug 'bling/vim-airline' " {{
|
||||||
|
" Use short-form mode text
|
||||||
|
let g:airline_mode_map = {
|
||||||
|
\ '__' : '-',
|
||||||
|
\ 'n' : 'N',
|
||||||
|
\ 'i' : 'I',
|
||||||
|
\ 'R' : 'R',
|
||||||
|
\ 'c' : 'C',
|
||||||
|
\ 'v' : 'V',
|
||||||
|
\ 'V' : 'V',
|
||||||
|
\ '' : 'V',
|
||||||
|
\ 's' : 'S',
|
||||||
|
\ 'S' : 'S',
|
||||||
|
\ '' : 'S',
|
||||||
|
\ }
|
||||||
|
let g:airline#extensions#whitespace#trailing_format = 'tw[%s]'
|
||||||
|
let g:airline#extensions#whitespace#mixed_indent_format = 'i[%s]'
|
||||||
|
let g:airline_left_sep=''
|
||||||
|
let g:airline_left_alt_sep=''
|
||||||
|
let g:airline_right_sep=''
|
||||||
|
let g:airline_right_alt_sep=''
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#left_sep = ' '
|
||||||
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
||||||
|
" }}
|
||||||
|
Plug 'gregsexton/MatchTag'
|
||||||
|
Plug 'rizzatti/dash.vim', { 'on': 'Dash'}
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Filetypes {{
|
||||||
|
Plug 'PreserveNoEOL' " {{
|
||||||
|
let g:PreserveNoEOL = 1
|
||||||
|
" }}
|
||||||
|
Plug 'ViViDboarder/vim-forcedotcom'
|
||||||
|
Plug 'avakhov/vim-yaml'
|
||||||
|
Plug 'dart-lang/dart-vim-plugin'
|
||||||
|
Plug 'fatih/vim-go'
|
||||||
|
Plug 'groovy.vim'
|
||||||
|
Plug 'hsanson/vim-android'
|
||||||
|
Plug 'pangloss/vim-javascript'
|
||||||
|
Plug 'pdurbin/vim-tsv'
|
||||||
|
Plug 'tfnico/vim-gradle'
|
||||||
|
" Python {{
|
||||||
|
Plug 'alfredodeza/coveragepy.vim'
|
||||||
|
Plug 'alfredodeza/pytest.vim'
|
||||||
|
Plug 'davidhalter/jedi-vim'
|
||||||
|
" {{
|
||||||
|
let g:jedi#completions_enabled = 0
|
||||||
|
let g:jedi#auto_vim_configuration = 0
|
||||||
|
" }}
|
||||||
|
Plug 'klen/python-mode'
|
||||||
|
" {{
|
||||||
|
let g:pymode_lint = 1
|
||||||
|
let g:pymode_lint_on_write = 0
|
||||||
|
let g:pymode_lint_checkers = ['flake8']
|
||||||
|
let g:pymode_rope = 0
|
||||||
|
let g:pymode_rope_completion = 0
|
||||||
|
let g:pymode_rope_complete_on_dot = 0
|
||||||
|
let g:pymode_breakpoint = 0
|
||||||
|
"}}
|
||||||
|
" }}
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Themes {{
|
||||||
|
Plug 'altercation/vim-colors-solarized'
|
||||||
|
Plug 'candy.vim'
|
||||||
|
Plug 'eclipse.vim'
|
||||||
|
Plug 'morhetz/gruvbox'
|
||||||
|
Plug 'nanotech/jellybeans.vim'
|
||||||
|
Plug 'nuvola.vim'
|
||||||
|
Plug 'summerfruit256.vim'
|
||||||
|
Plug 'therubymug/vim-pyte'
|
||||||
|
Plug 'vividchalk.vim'
|
||||||
|
Plug 'wombat256.vim'
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" System {{
|
||||||
|
Plug 'Shougo/vimproc.vim', { 'do': 'make' }
|
||||||
|
Plug 'tpope/vim-dispatch'
|
||||||
|
Plug 'tpope/vim-repeat'
|
||||||
|
" emacs bindinds in insert
|
||||||
|
Plug 'tpope/vim-rsi'
|
||||||
|
Plug 'ViViDboarder/QFixToggle'
|
||||||
|
" {{
|
||||||
|
" Toggle QuickFix window
|
||||||
|
nnoremap <silent> <F6> :QFix<CR>
|
||||||
|
" }}
|
||||||
|
" }}
|
0
vim/rc/plugins/ctrlp.rc.vim
Normal file
0
vim/rc/plugins/ctrlp.rc.vim
Normal file
73
vim/rc/ui.rc.vim
Normal file
73
vim/rc/ui.rc.vim
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
" Display filename at bottom of window
|
||||||
|
set ls=2
|
||||||
|
"enable line numbers
|
||||||
|
set nu
|
||||||
|
|
||||||
|
" Highlights the line the cursor is on
|
||||||
|
set cursorline
|
||||||
|
:hi CursorLine cterm=NONE ctermbg=darkred guibg=darkred guifg=white
|
||||||
|
|
||||||
|
" Syntax Hightlighting
|
||||||
|
syntax on
|
||||||
|
|
||||||
|
" Enable search highlighting
|
||||||
|
set hls
|
||||||
|
|
||||||
|
|
||||||
|
" Color Schemes {{
|
||||||
|
" Set theme based on $VIM_COLOR variable
|
||||||
|
try
|
||||||
|
if !empty($VIM_COLOR)
|
||||||
|
colorscheme $VIM_COLOR
|
||||||
|
else
|
||||||
|
if has("gui_running")
|
||||||
|
colorscheme wombat256mod
|
||||||
|
else
|
||||||
|
colorscheme vividchalk
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E185/
|
||||||
|
" Colorschemes not installed yet
|
||||||
|
" This happens when first installing bundles
|
||||||
|
colorscheme default
|
||||||
|
endtry
|
||||||
|
|
||||||
|
" Set Airline theme
|
||||||
|
if g:colors_name == 'github'
|
||||||
|
let g:airline_theme = 'solarized'
|
||||||
|
endif
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Set gui fonts {{
|
||||||
|
if has("gui_running")
|
||||||
|
if has("gui_win32")
|
||||||
|
set guifont=Consolas:h10:b
|
||||||
|
elseif has("gui_macvim")
|
||||||
|
try
|
||||||
|
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h11
|
||||||
|
catch
|
||||||
|
" Failed to set font
|
||||||
|
endtry
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
" }}
|
||||||
|
|
||||||
|
" Set xterm and screen/tmux's title {{
|
||||||
|
set notitle
|
||||||
|
set titlestring=vim\ %{expand(\"%t\")}
|
||||||
|
if &term =~ "^screen"
|
||||||
|
" pretend this is xterm. it probably is anyway, but if term is left as
|
||||||
|
" `screen`, vim doesn't understand ctrl-arrow.
|
||||||
|
if &term == "screen-256color"
|
||||||
|
set term=xterm-256color
|
||||||
|
else
|
||||||
|
set term=xterm
|
||||||
|
endif
|
||||||
|
|
||||||
|
" gotta set these *last*, since `set term` resets everything
|
||||||
|
set t_ts=k
|
||||||
|
set t_fs=\
|
||||||
|
set t_ut=
|
||||||
|
endif
|
||||||
|
set title
|
||||||
|
" }}
|
0
vim/tmp/.gitkeep
Normal file
0
vim/tmp/.gitkeep
Normal file
480
vimrc
480
vimrc
@ -1,452 +1,54 @@
|
|||||||
" Install Vundle Packages
|
" A lot of inspiration from Shougo
|
||||||
filetype off
|
|
||||||
|
|
||||||
set rtp+=~/.vim/bundle/vundle/
|
" Note: Skip initialization for vim-tiny or vim-small.
|
||||||
call vundle#rc()
|
if !1 | finish | endif
|
||||||
|
|
||||||
" let Vundle manage Vundle
|
if &compatible
|
||||||
" required!
|
set nocompatible
|
||||||
Plugin 'gmarik/vundle'
|
|
||||||
|
|
||||||
" Rest of my bundles
|
|
||||||
|
|
||||||
" -- File Nav --
|
|
||||||
"Plugin 'scrooloose/nerdtree' " File tree navigation
|
|
||||||
Plugin 'tpope/vim-vinegar' " Simple file navigation
|
|
||||||
Plugin 'a.vim' " Switch to alternate file
|
|
||||||
Plugin 'file-line' " Allow opening to a line from file name using :
|
|
||||||
Plugin 'tpope/vim-fugitive' " Git integration
|
|
||||||
Plugin 'christoomey/vim-tmux-navigator'
|
|
||||||
|
|
||||||
" -- Fuzzy Finders --
|
|
||||||
Plugin 'ctrlpvim/ctrlp.vim' " Quick find files in project
|
|
||||||
|
|
||||||
" -- Buffer Nav --
|
|
||||||
Plugin 'sandeepcr529/Buffet.vim' " Quick buffer switching
|
|
||||||
|
|
||||||
" -- Nav in file --
|
|
||||||
Plugin 'majutsushi/tagbar' " Ctags file parsing
|
|
||||||
Plugin 'scrooloose/syntastic' " Syntax checking
|
|
||||||
Plugin 'ViViDboarder/QFixToggle' " Easy Toggle of QuickFix window
|
|
||||||
if executable('ag')
|
|
||||||
Plugin 'rking/ag.vim' " Project searching
|
|
||||||
else
|
|
||||||
Plugin 'mileszs/ack.vim' " Project Searching
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" -- Text Manipulation --
|
function! s:smart_source_rc(name)
|
||||||
Plugin 'tomtom/tcomment_vim' " Easy comments
|
call s:source_rc(a:name . '.rc.vim')
|
||||||
Plugin 'tpope/vim-surround' " Surround for wrapping text
|
call s:source_rc(a:name . '.local.rc.vim')
|
||||||
|
endfunction
|
||||||
|
|
||||||
" -- GUI --
|
function! s:source_rc(path)
|
||||||
Plugin 'gregsexton/MatchTag'
|
let l:f_path = fnameescape(expand('~/.vim_sync/rc/' . a:path))
|
||||||
Plugin 'bling/vim-airline' " Custom Status Line
|
if filereadable(l:f_path)
|
||||||
"Powerline Config
|
execute 'source' . l:f_path
|
||||||
"If using a patched font: https://github.com/Lokaltog/vim-powerline/wiki/Patched-fonts
|
endif
|
||||||
"let g:airline_powerline_fonts = 1
|
endfunction
|
||||||
|
|
||||||
" -- System --
|
let s:is_windows = has('win16') || has('win32') || has('win64')
|
||||||
Plugin 'tpope/vim-dispatch' " Allow async make
|
let s:is_cygwin = has('win32unix')
|
||||||
Plugin 'tpope/vim-rsi' " emacs bindinds in insert
|
let s:is_sudo = $SUDO_USER !=# '' && $USER !=# $SUDO_USER
|
||||||
Plugin 'tpope/vim-repeat' " Repeat mapped commands with .
|
\ && $HOME !=# expand('~'.$USER)
|
||||||
" Needs to be compiled
|
\ && $HOME ==# expand('~'.$SUDO_USER)
|
||||||
Plugin 'Shougo/vimproc.vim' " Async for plugins
|
|
||||||
|
|
||||||
if has('lua')
|
function! IsWindows()
|
||||||
Plugin 'Shougo/neocomplete.vim' " Autocomplete
|
return s:is_windows
|
||||||
else
|
endfunction
|
||||||
Plugin 'Shougo/neocomplcache.vim' " Autocomplete
|
|
||||||
end
|
|
||||||
|
|
||||||
" -- Themes --
|
function! IsMac()
|
||||||
Plugin 'vividchalk.vim'
|
return !s:is_windows && !s:is_cygwin
|
||||||
Plugin 'wombat256.vim'
|
\ && (has('mac') || has('macunix') || has('gui_macvim') ||
|
||||||
Plugin 'nanotech/jellybeans.vim'
|
\ (!executable('xdg-open') &&
|
||||||
Plugin 'candy.vim'
|
\ system('uname') =~? '^darwin'))
|
||||||
Plugin 'therubymug/vim-pyte'
|
endfunction
|
||||||
Plugin 'eclipse.vim'
|
|
||||||
Plugin 'summerfruit256.vim'
|
|
||||||
Plugin 'nuvola.vim'
|
|
||||||
Plugin 'altercation/vim-colors-solarized'
|
|
||||||
Plugin 'morhetz/gruvbox'
|
|
||||||
"Plugin 'BusyBee.vim'
|
|
||||||
"Plugin 'github.vim'
|
|
||||||
|
|
||||||
" -- Filetypes --
|
" Auto install vim-plug
|
||||||
Plugin 'pdurbin/vim-tsv'
|
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||||
Plugin 'pangloss/vim-javascript'
|
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||||
Plugin 'fatih/vim-go'
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
Plugin 'PreserveNoEOL'
|
autocmd VimEnter * PlugInstall
|
||||||
Plugin 'hsanson/vim-android'
|
|
||||||
Plugin 'groovy.vim'
|
|
||||||
Plugin 'tfnico/vim-gradle'
|
|
||||||
Plugin 'dart-lang/dart-vim-plugin'
|
|
||||||
Plugin 'avakhov/vim-yaml'
|
|
||||||
"Plugin 'chrisbra/csv.vim'
|
|
||||||
" SFDC
|
|
||||||
Plugin 'ViViDboarder/vim-forcedotcom'
|
|
||||||
"Plugin 'ViViDboarder/force-vim'
|
|
||||||
"Plugin 'ViViDboarder/vim-abuse-the-force'
|
|
||||||
" Python
|
|
||||||
Plugin 'klen/python-mode'
|
|
||||||
Plugin 'davidhalter/jedi-vim'
|
|
||||||
Plugin 'alfredodeza/pytest.vim'
|
|
||||||
Plugin 'alfredodeza/coveragepy.vim'
|
|
||||||
|
|
||||||
" ***************************
|
|
||||||
" Built in settings
|
|
||||||
" ***************************
|
|
||||||
|
|
||||||
"Allows filetype detection
|
|
||||||
filetype on
|
|
||||||
|
|
||||||
" Set settings values
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
" Allow arrow keys
|
|
||||||
set nocompatible
|
|
||||||
|
|
||||||
" Use more convenient leader
|
|
||||||
let mapleader=","
|
|
||||||
|
|
||||||
" Enable mouse input
|
|
||||||
set mousehide
|
|
||||||
set mouse=a
|
|
||||||
|
|
||||||
" Tab functionality
|
|
||||||
set expandtab
|
|
||||||
set tabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
set softtabstop=4
|
|
||||||
set autoindent
|
|
||||||
" Ensure backspace actually works
|
|
||||||
set backspace=2
|
|
||||||
"
|
|
||||||
" allow for cursor beyond last character
|
|
||||||
set virtualedit=onemore
|
|
||||||
" lines to scroll when cursor leaves screen
|
|
||||||
set scrolljump=5
|
|
||||||
" minimum lines to keep above and below cursor
|
|
||||||
set scrolloff=3
|
|
||||||
|
|
||||||
" Display filename at bottom of window
|
|
||||||
set ls=2
|
|
||||||
|
|
||||||
" Set backup dirs
|
|
||||||
set backup
|
|
||||||
set backupdir=~/.vim/backup
|
|
||||||
set directory=~/.vim/tmp
|
|
||||||
|
|
||||||
"enable line numbers
|
|
||||||
set nu
|
|
||||||
|
|
||||||
" Highlights the line the cursor is on
|
|
||||||
set cursorline
|
|
||||||
:hi CursorLine cterm=NONE ctermbg=darkred guibg=darkred guifg=white
|
|
||||||
|
|
||||||
" Syntax Hightlighting
|
|
||||||
syntax on
|
|
||||||
|
|
||||||
" Enable search highlighting
|
|
||||||
set hls
|
|
||||||
|
|
||||||
" Change Working Directory to that of the current file
|
|
||||||
cmap cwd lcd %:p:h
|
|
||||||
cmap cd. lcd %:p:h
|
|
||||||
|
|
||||||
" ********************************
|
|
||||||
" GUI SETTINGS
|
|
||||||
" *****************************
|
|
||||||
|
|
||||||
" Set theme based on $VIM_COLOR variable
|
|
||||||
try
|
|
||||||
if !empty($VIM_COLOR)
|
|
||||||
colorscheme $VIM_COLOR
|
|
||||||
else
|
|
||||||
if has("gui_running")
|
|
||||||
colorscheme wombat256mod
|
|
||||||
else
|
|
||||||
colorscheme vividchalk
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
catch /^Vim\%((\a\+)\)\=:E185/
|
|
||||||
" Colorschemes not installed yet
|
|
||||||
" This happens when first installing bundles
|
|
||||||
colorscheme default
|
|
||||||
endtry
|
|
||||||
|
|
||||||
" Set Airline theme
|
|
||||||
if g:colors_name == 'github'
|
|
||||||
let g:airline_theme = 'solarized'
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Set gui fonts
|
call s:source_rc('init.rc.vim')
|
||||||
if has("gui_running")
|
|
||||||
if has("gui_win32")
|
|
||||||
set guifont=Consolas:h10:b
|
|
||||||
elseif has("gui_macvim")
|
|
||||||
try
|
|
||||||
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h11
|
|
||||||
catch
|
|
||||||
" Failed to set font
|
|
||||||
endtry
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Set xterm title, and inform vim of screen/tmux's syntax for doing the same
|
call plug#begin()
|
||||||
set titlestring=vim\ %{expand(\"%t\")}
|
call s:smart_source_rc('plugins')
|
||||||
if &term =~ "^screen"
|
call plug#end()
|
||||||
" pretend this is xterm. it probably is anyway, but if term is left as
|
|
||||||
" `screen`, vim doesn't understand ctrl-arrow.
|
|
||||||
if &term == "screen-256color"
|
|
||||||
set term=xterm-256color
|
|
||||||
else
|
|
||||||
set term=xterm
|
|
||||||
endif
|
|
||||||
|
|
||||||
" gotta set these *last*, since `set term` resets everything
|
call s:smart_source_rc('edit')
|
||||||
set t_ts=k
|
call s:smart_source_rc('keymap')
|
||||||
set t_fs=\
|
call s:smart_source_rc('ui')
|
||||||
set t_ut=
|
|
||||||
endif
|
|
||||||
set title
|
|
||||||
|
|
||||||
" ********************************
|
|
||||||
" SET HOTKEYS
|
|
||||||
" ********************************
|
|
||||||
|
|
||||||
" Remap jk to esc
|
|
||||||
inoremap jk <esc>
|
|
||||||
inoremap `` <esc>
|
|
||||||
vnoremap `` <esc>
|
|
||||||
|
|
||||||
" Bind Make to F5 like other IDEs
|
|
||||||
nnoremap <F5> :Make!<CR>
|
|
||||||
|
|
||||||
" Remap Ctrl+Space for auto Complete
|
|
||||||
inoremap <C-Space> <C-n>
|
|
||||||
inoremap <Nul> <C-n>
|
|
||||||
|
|
||||||
" Toggle highlighting with \hr (highlight row)
|
|
||||||
nnoremap <leader>hr :set cursorline!<CR>
|
|
||||||
|
|
||||||
" Toggle Line numbers with Ctrl+N double tap
|
|
||||||
nmap <C-N><C-N> :set invnumber<CR>
|
|
||||||
nmap <leader>ln :set invnumber<CR>
|
|
||||||
|
|
||||||
" Toggle line wrap with Ctrl+L double tap
|
|
||||||
nmap <C-L><C-L> :set wrap!<CR>
|
|
||||||
nmap <leader>lw :set wrap!<CR>
|
|
||||||
|
|
||||||
" Toggle White Space
|
|
||||||
nmap <leader>ws :set list!<CR>
|
|
||||||
|
|
||||||
" Map Shift+U to redo
|
|
||||||
nnoremap <S-u> <C-r>
|
|
||||||
|
|
||||||
" Stupid shift key fixes
|
|
||||||
cmap WQ<CR> wq<CR>
|
|
||||||
cmap Wq<CR> wq<CR>
|
|
||||||
cmap W<CR> w<CR>
|
|
||||||
cmap Q<CR> q<CR>
|
|
||||||
cmap Q!<CR> q!<CR>
|
|
||||||
" Stupid semicolon files
|
|
||||||
cnoremap w; w
|
|
||||||
cnoremap W; w
|
|
||||||
cnoremap q; q
|
|
||||||
cnoremap Q; q
|
|
||||||
" Avoid accidental Ex-mode
|
|
||||||
:map Q <Nop>
|
|
||||||
|
|
||||||
" Clearing highlighted search
|
|
||||||
nmap <silent> <leader>/ :set hlsearch! hlsearch?<CR>
|
|
||||||
noremap <C-h><C-s> :set hlsearch! hlsearch?<CR>
|
|
||||||
" Clear search
|
|
||||||
nmap <silent> <leader>cs :nohlsearch<CR>
|
|
||||||
|
|
||||||
" Code fold
|
|
||||||
nmap <leader>cf va{<ESC>zf%<ESC>:nohlsearch<CR>
|
|
||||||
|
|
||||||
" Paste over
|
|
||||||
vnoremap pp p
|
|
||||||
vnoremap po "_dP
|
|
||||||
|
|
||||||
" Buffer nav
|
|
||||||
nmap gb :bn<CR>
|
|
||||||
nmap gB :bp<CR>
|
|
||||||
|
|
||||||
set notitle
|
|
||||||
|
|
||||||
" Easy update tags
|
|
||||||
command TagsUpdate Dispatch ctags -R .
|
|
||||||
|
|
||||||
" Command to display TODO tags in project
|
|
||||||
command Todo Ag! TODO
|
|
||||||
|
|
||||||
au BufRead,BufNewFile *.md set syntax=markdown
|
|
||||||
|
|
||||||
" ********************************
|
|
||||||
" PLUGIN SETTINGS
|
|
||||||
" ********************************
|
|
||||||
|
|
||||||
" Airline config
|
|
||||||
" Use short-form mode text
|
|
||||||
let g:airline_mode_map = {
|
|
||||||
\ '__' : '-',
|
|
||||||
\ 'n' : 'N',
|
|
||||||
\ 'i' : 'I',
|
|
||||||
\ 'R' : 'R',
|
|
||||||
\ 'c' : 'C',
|
|
||||||
\ 'v' : 'V',
|
|
||||||
\ 'V' : 'V',
|
|
||||||
\ '' : 'V',
|
|
||||||
\ 's' : 'S',
|
|
||||||
\ 'S' : 'S',
|
|
||||||
\ '' : 'S',
|
|
||||||
\ }
|
|
||||||
let g:airline#extensions#whitespace#trailing_format = 'tw[%s]'
|
|
||||||
let g:airline#extensions#whitespace#mixed_indent_format = 'i[%s]'
|
|
||||||
let g:airline_left_sep=''
|
|
||||||
let g:airline_left_alt_sep=''
|
|
||||||
let g:airline_right_sep=''
|
|
||||||
let g:airline_right_alt_sep=''
|
|
||||||
let g:airline#extensions#tabline#enabled = 1
|
|
||||||
let g:airline#extensions#tabline#left_sep = ' '
|
|
||||||
let g:airline#extensions#tabline#left_alt_sep = '|'
|
|
||||||
|
|
||||||
" AbuseTheForce
|
|
||||||
" Set foreground if using tmux, otherwise background
|
|
||||||
if ! exists('g:abusetheforce_dispatch_background') && (exists("$TMUX") || ( has("gui_running") && has("gui_macvim") ) )
|
|
||||||
let g:abusetheforce_dispatch_background = 0
|
|
||||||
else
|
|
||||||
let g:abusetheforce_dispatch_background = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Buffet shortcut
|
|
||||||
nnoremap <silent> <F2> :Bufferlist<CR>
|
|
||||||
|
|
||||||
" NERDTree
|
|
||||||
" nnoremap <silent> <F4> :NERDTreeToggle<CR>
|
|
||||||
"nnoremap <leader>nn :NERDTreeToggle<CR>
|
|
||||||
"nnoremap <leader>nf :NERDTreeFind<CR>
|
|
||||||
|
|
||||||
" TComment
|
|
||||||
nnoremap // :TComment<CR>
|
|
||||||
vnoremap // :TCommentBlock<CR>
|
|
||||||
|
|
||||||
" PreserveNoEOL
|
|
||||||
let g:PreserveNoEOL = 1
|
|
||||||
|
|
||||||
" CTags List
|
|
||||||
nnoremap <silent> <F8> :TagbarToggle<CR>
|
|
||||||
" Autofocus tagbar
|
|
||||||
let g:tagbar_autofocus = 1
|
|
||||||
|
|
||||||
" CtrlP settings
|
|
||||||
" Ensure max height isn't too large. (for performance)
|
|
||||||
let g:ctrlp_max_height = 10
|
|
||||||
" Conditional Mappings
|
|
||||||
let g:ctrlp_map = '<C-t>'
|
|
||||||
" Allow ctrl p to open over the initial nerdtree window
|
|
||||||
let g:ctrlp_dont_split = 'netrw'
|
|
||||||
" Support tag jumping
|
|
||||||
let g:ctrlp_extensions = ['tag', 'buffertag']
|
|
||||||
" Support Apex language
|
|
||||||
let g:ctrlp_buftag_types = {
|
|
||||||
\ 'apex' : '--language-force=c#',
|
|
||||||
\ 'go' : {
|
|
||||||
\ 'bin' : 'gotags',
|
|
||||||
\ 'args' : '-sort -silent',
|
|
||||||
\}
|
|
||||||
\}
|
|
||||||
" Leader Commands
|
|
||||||
nnoremap <leader>b :CtrlPBuffer<CR>
|
|
||||||
nnoremap <leader>t :CtrlPBufTag<CR>
|
|
||||||
nnoremap <leader>r :CtrlPTag<CR>
|
|
||||||
nnoremap <leader>u :CtrlPCurFile<CR>
|
|
||||||
nnoremap <leader>m :CtrlPMRUFiles<CR>
|
|
||||||
|
|
||||||
" Special stuff for The Silver Searcher
|
|
||||||
if executable('ag')
|
|
||||||
" use ag
|
|
||||||
set grepprg=ag\ --nogroup\ --nocolor
|
|
||||||
" use ag for CtrlP
|
|
||||||
let g:ctrlp_user_command = 'ag %s -l --nocolor --nogroup -g ""'
|
|
||||||
" ag is fast enough we don't need cache
|
|
||||||
let g:ctrlp_use_caching = 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
" fugitive
|
|
||||||
" Add some shortcuts for git commands
|
|
||||||
nnoremap <leader>gb :Gblame<CR>
|
|
||||||
nnoremap <leader>gc :Gcommit<CR>
|
|
||||||
nnoremap <leader>gd :Gdiff<CR>
|
|
||||||
nnoremap <leader>gs :Gstatus<CR>
|
|
||||||
nnoremap <leader>gw :Gwrite<CR>
|
|
||||||
|
|
||||||
" Toggle QuickFix window
|
|
||||||
nnoremap <silent> <F6> :QFix<CR>
|
|
||||||
|
|
||||||
" neocomplete / neocomplcache
|
|
||||||
if has('lua')
|
|
||||||
let g:acp_enableAtStartup = 0
|
|
||||||
let g:neocomplete#enable_at_startup = 1
|
|
||||||
"let g:neocomplete#enable_smart_case = 1
|
|
||||||
let g:neocomlete#max_list=10
|
|
||||||
else
|
|
||||||
" NeoComplCache
|
|
||||||
let g:neocomplcache_enable_at_startup = 1
|
|
||||||
"let g:neocomplcache_enable_smart_case = 1
|
|
||||||
let g:neocomplcache_max_list = 10
|
|
||||||
"let g:neocomplcache_enable_camel_case_completion = 1
|
|
||||||
let g:neocomplcache_enable_fuzzy_completion = 1
|
|
||||||
if !exists('g:neocomplcache_force_omni_patterns')
|
|
||||||
let g:neocomplcache_force_omni_patterns = {}
|
|
||||||
endif
|
|
||||||
let g:neocomplcache_force_omni_patterns.python =
|
|
||||||
\ '\%([^. \t]\.\|^\s*@\|^\s*from\s.\+import \|^\s*from \|^\s*import \)\w*'
|
|
||||||
" alternative pattern: '\h\w*\|[^. \t]\.\w*'
|
|
||||||
endif
|
|
||||||
"
|
|
||||||
" Enable omni completion.
|
|
||||||
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
|
|
||||||
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
|
|
||||||
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
|
|
||||||
" Skip python because we have jedi-vim
|
|
||||||
"autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
|
|
||||||
autocmd FileType python setlocal omnifunc=jedi#completions
|
|
||||||
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
|
|
||||||
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
|
|
||||||
|
|
||||||
|
|
||||||
nmap <leader>a :Ag<Space>
|
|
||||||
nmap <leader>i* :Ag<Space>-i<Space>'\b<c-r><c-W>\b'<CR>
|
|
||||||
nmap <leader>* :Ag<Space>'\b<c-r><c-W>\b'<CR>
|
|
||||||
|
|
||||||
" Syntastic settings
|
|
||||||
let g:syntastic_html_tidy_ignore_errors = [
|
|
||||||
\ 'proprietary attribute "ng-show"',
|
|
||||||
\ 'proprietary attribute "ng-controller"',
|
|
||||||
\ 'proprietary attribute "ng-repeat"',
|
|
||||||
\ 'proprietary attribute "ng-app"',
|
|
||||||
\ 'proprietary attribute "ng-click"'
|
|
||||||
\ ]
|
|
||||||
let g:syntastic_python_checkers = ['flake8']
|
|
||||||
let g:syntastic_python_flake8_args='--max-line-length=80'
|
|
||||||
" let g:syntastic_python_checkers = ['pep8']
|
|
||||||
" let g:syntastic_python_pep8_args='--ignore=E501'
|
|
||||||
" let g:syntastic_python_checkers = ['jshint']
|
|
||||||
" let g:syntastic_javascript_jshint_args='--ignore=E501'
|
|
||||||
|
|
||||||
" Pymode
|
|
||||||
let g:pymode_lint = 1
|
|
||||||
let g:pymode_lint_on_write = 0
|
|
||||||
let g:pymode_lint_checkers = ['flake8']
|
|
||||||
let g:pymode_rope = 0
|
|
||||||
let g:pymode_rope_completion = 0
|
|
||||||
let g:pymode_rope_complete_on_dot = 0
|
|
||||||
let g:pymode_breakpoint = 0
|
|
||||||
|
|
||||||
" jedi-vim
|
|
||||||
let g:jedi#completions_enabled = 0
|
|
||||||
let g:jedi#auto_vim_configuration = 0
|
|
||||||
|
Loading…
Reference in New Issue
Block a user