213 lines
6.5 KiB
VimL
213 lines
6.5 KiB
VimL
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Important:
|
|
" This requries that you install https://github.com/amix/vimrc !
|
|
"
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => Load pathogen paths
|
|
""""""""""""""""""""""""""""""
|
|
let s:vim_runtime = expand('<sfile>:p:h')."/.."
|
|
call pathogen#infect(s:vim_runtime.'/sources_forked/{}')
|
|
call pathogen#infect(s:vim_runtime.'/sources_non_forked/{}')
|
|
call pathogen#infect(s:vim_runtime.'/my_plugins/{}')
|
|
call pathogen#helptags()
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => bufExplorer plugin
|
|
""""""""""""""""""""""""""""""
|
|
let g:bufExplorerDefaultHelp=0
|
|
let g:bufExplorerShowRelativePath=1
|
|
let g:bufExplorerFindActive=1
|
|
let g:bufExplorerSortBy='name'
|
|
map <leader>o :BufExplorer<cr>
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => MRU plugin
|
|
""""""""""""""""""""""""""""""
|
|
let MRU_Max_Entries = 400
|
|
map <leader>f :MRU<CR>
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => YankStack
|
|
""""""""""""""""""""""""""""""
|
|
let g:yankstack_yank_keys = ['y', 'd']
|
|
|
|
nmap <c-p> <Plug>yankstack_substitute_older_paste
|
|
nmap <c-n> <Plug>yankstack_substitute_newer_paste
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => CTRL-P
|
|
""""""""""""""""""""""""""""""
|
|
let g:ctrlp_working_path_mode = 0
|
|
|
|
let g:ctrlp_map = '<c-f>'
|
|
map <leader>j :CtrlP<cr>
|
|
map <c-b> :CtrlPBuffer<cr>
|
|
|
|
let g:ctrlp_max_height = 20
|
|
let g:ctrlp_custom_ignore = 'node_modules\|^\.DS_Store\|^\.git\|^\.coffee'
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => ZenCoding
|
|
""""""""""""""""""""""""""""""
|
|
" Enable all functions in all modes
|
|
let g:user_zen_mode='a'
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => snipMate (beside <TAB> support <CTRL-j>)
|
|
""""""""""""""""""""""""""""""
|
|
ino <c-j> <c-r>=snipMate#TriggerSnippet()<cr>
|
|
snor <c-j> <esc>i<right><c-r>=snipMate#TriggerSnippet()<cr>
|
|
|
|
|
|
""""""""""""""""""""""""""""""
|
|
" => Vim grep
|
|
""""""""""""""""""""""""""""""
|
|
let Grep_Skip_Dirs = 'RCS CVS SCCS .svn generated'
|
|
set grepprg=/bin/grep\ -nH
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => EasyMotion
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
let g:EasyMotion_do_mapping = 0 " Disable default mappings
|
|
|
|
" Jump to anywhere you want with minimal keystrokes, with just one key binding.
|
|
" `s{char}{label}`
|
|
nmap s <Plug>(easymotion-overwin-f)
|
|
" or
|
|
" `s{char}{char}{label}`
|
|
" Need one more keystroke, but on average, it may be more comfortable.
|
|
nmap s <Plug>(easymotion-overwin-f2)
|
|
|
|
" Turn on case-insensitive feature
|
|
let g:EasyMotion_smartcase = 1
|
|
|
|
" JK motions: Line motions
|
|
map <Leader>j <Plug>(easymotion-j)
|
|
map <Leader>k <Plug>(easymotion-k)
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Nerd Tree
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:NERDTreeWinPos = "right"
|
|
let NERDTreeShowHidden=0
|
|
let NERDTreeIgnore = ['\.pyc$', '__pycache__']
|
|
let g:NERDTreeWinSize=35
|
|
|
|
" Open a NERDTree automatically when vim starts up if no files were specified
|
|
autocmd StdinReadPre * let s:std_in=1
|
|
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
|
|
|
|
" Open NERDTree automatically when vim starts up on opening a directory
|
|
autocmd StdinReadPre * let s:std_in=1
|
|
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif
|
|
|
|
" Shortcut to open NERDTree
|
|
map <C-t> :NERDTreeToggle<CR>
|
|
|
|
" Close vim if the only window left open is a NERDTree
|
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
|
|
|
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => vim-multiple-cursors
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:multi_cursor_use_default_mapping=0
|
|
|
|
" Default mapping
|
|
let g:multi_cursor_start_word_key = '<C-s>'
|
|
let g:multi_cursor_select_all_word_key = '<A-s>'
|
|
let g:multi_cursor_start_key = 'g<C-s>'
|
|
let g:multi_cursor_select_all_key = 'g<A-s>'
|
|
let g:multi_cursor_next_key = '<C-s>'
|
|
let g:multi_cursor_prev_key = '<C-p>'
|
|
let g:multi_cursor_skip_key = '<C-x>'
|
|
let g:multi_cursor_quit_key = '<Esc>'
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => surround.vim config
|
|
" Annotate strings with gettext
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
vmap Si S(i_<esc>f)
|
|
au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => lightline
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:lightline = {
|
|
\ 'colorscheme': 'wombat',
|
|
\ }
|
|
|
|
let g:lightline = {
|
|
\ 'colorscheme': 'wombat',
|
|
\ 'active': {
|
|
\ 'left': [ ['mode', 'paste'],
|
|
\ ['fugitive', 'readonly', 'filename', 'modified'] ],
|
|
\ 'right': [ [ 'lineinfo' ], ['percent'] ]
|
|
\ },
|
|
\ 'component': {
|
|
\ 'readonly': '%{&filetype=="help"?"":&readonly?"🔒":""}',
|
|
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
|
|
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}'
|
|
\ },
|
|
\ 'component_visible_condition': {
|
|
\ 'readonly': '(&filetype!="help"&& &readonly)',
|
|
\ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
|
|
\ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
|
|
\ },
|
|
\ 'separator': { 'left': ' ', 'right': ' ' },
|
|
\ 'subseparator': { 'left': ' ', 'right': ' ' }
|
|
\ }
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Vimroom
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:goyo_width=100
|
|
let g:goyo_margin_top = 2
|
|
let g:goyo_margin_bottom = 2
|
|
nnoremap <silent> <leader>z :Goyo<cr>
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Vim-go
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:go_fmt_command = "goimports"
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Syntastic (syntax checker)
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:ale_linters = {
|
|
\ 'javascript': ['jshint'],
|
|
\ 'python': ['flake8'],
|
|
\ 'go': ['go', 'golint', 'errcheck']
|
|
\}
|
|
|
|
nmap <silent> <leader>a <Plug>(ale_next_wrap)
|
|
|
|
" Disabling highlighting
|
|
let g:ale_set_highlights = 0
|
|
|
|
" Only run linting when saving the file
|
|
let g:ale_lint_on_text_changed = 'never'
|
|
let g:ale_lint_on_enter = 0
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Git gutter (Git diff)
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
let g:gitgutter_enabled=0
|
|
nnoremap <silent> <leader>d :GitGutterToggle<cr>
|