Split the plugins config separate files for each plugin

This commit is contained in:
Kevin MacMartin 2018-03-11 19:21:58 -04:00
parent b0c525d1a1
commit 032ad3197a
19 changed files with 466 additions and 534 deletions

View file

@ -31,24 +31,6 @@
" :ik | (C) -> add following character to keywords " :ik | (C) -> add following character to keywords
" :iK | (C) -> remove following character from keywords " :iK | (C) -> remove following character from keywords
" "
" Reference: (view plugin documentation for the full list of commands each offers)
" <Ctrl-y>, | (A) -> enter after emmet 'word' (ie: html:5)
" <Ctrl-_><Ctrl-_> | (A) -> comment selection/create an empty comment
" <Ctrl-_>b | (A) -> comment the current block(s)
" <Ctrl-_>r | (A) -> comment everything on the line to the right
" <Ctrl-_>p | (A) -> comment the current paragraph
"
" (surround)
" S" | (V) -> surround selection with quotes
" S<a href=""> | (V) -> surround <a href="">selection</a>
" ds" | (N) -> delete surrounding ""
" dst | (N) -> delete surrounding tag (ie: <strong></strong>)
" cs'" | (N) -> change surrounding '' to "" (any delimiters)
" cs"<q> | (N) -> change surrounding "" to the tag: <q></q>
" cst" | (N) -> change any surrounding tag to ""
" ysiw' | (N) -> surround the current word with ''
" yss' | (N) -> surround non-whitespace of current line with ''
"
" Mappings: " Mappings:
" (mouse) " (mouse)
" <Ctrl-ScrollUp> | (A) -> scroll right " <Ctrl-ScrollUp> | (A) -> scroll right

View file

@ -8,14 +8,6 @@
" License: MIT " " License: MIT "
" " " "
"============================================================" "============================================================"
"
" Acknowledgements:
"
" The Tabular TableFormat() function is taken from the
" vim-markdown project by plasticboy, which can be found
" at https://github.com/plasticboy/vim-markdown and is
" licensed with the MIT license.
"
"use utf-8 encoding to load the script as it contains utf-8 characters "use utf-8 encoding to load the script as it contains utf-8 characters
scriptencoding utf-8 scriptencoding utf-8
@ -34,502 +26,4 @@ scriptencoding utf-8
set tags=./.tags;,~/.vim/tags set tags=./.tags;,~/.vim/tags
"}}} "}}}
"AUTOFORMAT: {{{ runtime! config/plugins/*
"use tidy for html instead of html-beautify
let g:formatprg_html = "tidy"
let g:formatprg_args_expr_html = '"-q --show-errors 0 --show-warnings 0 --force-output --indent auto --indent-spaces ".&shiftwidth." --vertical-space yes --tidy-mark no -ashtml -wrap ".&textwidth'
"}}
"BOOKMARKS: {{{
let g:bookmark_sign = '★'
let g:bookmark_annotation_sign = '📌'
"}}}
"EASYTAGS: {{{
let g:easytags_suppress_ctags_warning=1
if filereadable(glob("~/.vim/tags"))|let g:easytags_file='~/.vim/tags'|endif
if isdirectory(glob("~/.vim/tags_by_filetype"))|let g:easytags_by_filetype='~/.vim/tags_by_filetype'|endif
"prevent automatically generating the tagfile and syntax highlighting tags (default: 0)
if !exists("g:disableautotags")
let g:disableautotags=0
endif
if (g:disableautotags == 1)
let g:easytags_auto_update=0
let g:easytags_auto_highlight=0
else
let g:easytags_auto_update=1
let g:easytags_auto_highlight=1
endif
"}}}
"EMMET: {{{
let g:use_emmet_complete_tag=1
let g:user_emmet_mode='a'
if filereadable("~/.vim/snippets.json")
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/snippets.json')), "\n"))
endif
"}}}
"GOYO: {{{
autocmd VimEnter,Filetype *
\ let g:goyo_width = &textwidth |
\ if (g:goyo_width == 0) |
\ let g:goyo_width = max(map(getline(1,'$'), 'len(v:val)')) |
\ if (g:goyo_width < 80) |
\ let g:goyo_width = 80 |
\ endif |
\ endif
"}}}
"GUNDO: {{{
let g:gundo_right=0
let g:gundo_width=35
let g:gundo_preview_height=10
autocmd FileType gundo setlocal nocursorcolumn
"}}}
"INCSEARCH: {{{
"use incsearch in place of the default search
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
"n and N behavioru is consistant
let g:incsearch#consistent_n_direction=1
"}}}
"JSON: {{{
let g:vim_json_warnings=0
let g:vim_json_syntax_conceal=0
"}}}
"MATCHTAGALWAYS: {{{
let g:mta_filetypes = {
\ 'aspnet':1,
\ 'html':1,
\ 'xhtml':1,
\ 'php':1,
\ 'xml':1,
\ 'jinja':1,
\ 'vue':1,
\ 'vue.html.javascript.css':1
\ }
"}}}
"NEOCOMPLETE AUTOCOMPLETION PLUGIN: {{{
let g:neocomplete#enable_at_startup=1
let g:neocomplete#enable_smart_case=1
let g:neocomplete#sources#syntax#min_keyword_length=3
if !exists('g:neocomplete#sources#omni#input_patterns')
let g:neocomplete#sources#omni#input_patterns = {}
endif
let g:neocomplete#sources#omni#input_patterns.c='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.cpp='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.xml='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.html='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.xhtml='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.markdown='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.css='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
let g:neocomplete#sources#omni#input_patterns.less='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
let g:neocomplete#sources#omni#input_patterns.javascript='[^. \t]\.\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.json='[^. \t]\.\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.python='[^. *\t]\.\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.ruby='[^. *\t]\.\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.php='[^. \t]->\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.actionscript='[^. \t][.:]\h\w*'
let g:neocomplete#sources#omni#input_patterns.python3='[^. *\t]\.\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.go='\h\w*\%.'
let g:neocomplete#sources#omni#input_patterns.perl='\h\w*->\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.java='\%(\h\w*\|)\)\.'
let g:neocomplete#sources#omni#input_patterns.objc='\h\w\+\|\h\w*\%(\.\|->\)\h\w*'
let g:neocomplete#sources#omni#input_patterns.objj='[\[ \.]\w\+$\|:\w*$'
"}}}
"SIGNIFY: {{{
let g:signify_sign_add='+'
let g:signify_sign_change='!'
let g:signify_sign_delete='-'
let g:signify_sign_delete_first_line='~'
"}}}
"SYNTASTIC: {{{
"autostart syntax checking when vim opens to a compatible filetype (default: 0)
if !exists("g:autostartchecker")
let g:autostartchecker=0
endif
if &diff
let g:autostartchecker=0
else
if (g:autostartchecker == 1)
let g:syntastic_mode_map={
\ 'mode':'active',
\ 'active_filetypes':[],
\ 'passive_filetypes':[]
\ }
let g:syntastic_check_on_open=1
else
let g:syntastic_mode_map={
\ 'mode':'passive',
\ 'active_filetypes':[],
\ 'passive_filetypes':[]
\ }
let g:syntastic_check_on_open=0
endif
"configure warnings/errors that should be silenced by module
let g:syntastic_less_lessc_quiet_messages={
\ 'regex':[
\ 'NameError:.* is undefined',
\ 'FileError:.*'
\ ]}
let g:syntastic_scss_sass_quiet_messages={
\ 'regex':[
\ 'File to import not found or unreadable.*'
\ ]}
let g:syntastic_java_javac_quiet_messages={
\ 'regex':[
\ 'cannot find symbol.*',
\ 'method does not override or implement a method from a supertype.*',
\ 'package [^\ ]* does not exist.*'
\ ]}
let g:syntastic_javascript_eslint_quiet_messages={
\ 'regex':[
\ '.* is defined but never used',
\ "'[^']*' is not defined",
\ 'Missing "use strict" statement',
\ 'Unexpected [^ ]* statement.*'
\ ]}
let g:syntastic_javascript_jshint_quiet_messages={
\ 'regex':[
\ 'Expected an assignment or function call and instead saw an expression.'
\ ]}
let g:syntastic_javascript_standard_quiet_messages={
\ 'regex':[
\ '.* is defined but never used',
\ "'[^']*' is not defined"
\ ]}
let g:syntastic_markdown_mdl_quiet_messages={
\ 'regex':[
\ '.*MD013.*',
\ '.*MD002.*',
\ '.*MD029.*'
\ ]}
let g:syntastic_python_flake8_quiet_messages={
\ 'regex':[
\ '.*\[W293\]',
\ '.*\[E501\]'
\ ]}
let g:syntastic_php_phpmd_quiet_messages={
\ 'regex':[
\ 'Avoid using short method names like.*',
\ 'Avoid variables with short names like.*',
\ 'The method.*has [0-9][0-9]* lines of code.*',
\ 'The method.*has a Cyclomatic Complexity.*',
\ 'The method.*has an NPath complexity.*',
\ 'The function.*has a Cyclomatic Complexity.*',
\ 'The function.*has an NPath complexity.*',
\ 'The function.*Avoid really long methods\.',
\ 'The class.*has an overall complexity.*',
\ 'The class.*has.*public methods.*',
\ 'The class.*lines of code'
\ ]}
let g:syntastic_sh_bashate_quiet_messages={
\ 'regex':[
\ 'Indent not multiple of 4'
\ ]}
let g:syntastic_sh_shellcheck_quiet_messages={
\ 'regex':[
\ '.*\[SC1001\]',
\ '.*\[SC2015\]',
\ '.*\[SC2016\]',
\ '.*\[SC2029\]',
\ '.*\[SC2034\]',
\ '.*\[SC2148\]',
\ '.*\[SC2181\]',
\ '.*follow non-constant source',
\ 'Not following:'
\ ]}
autocmd BufNewFile,BufRead PKGBUILD,bash.bashrc,.bashrc let g:syntastic_quiet_messages={"level":"warnings"}
let g:syntastic_check_on_wq=0
let g:syntastic_always_populate_loc_list=1
let g:syntastic_auto_loc_list=1
let g:syntastic_loc_list_height=5
endif
"function to enable syntastic and set check_on_open on
function s:SyntasticToggleOn()
let g:syntastic_check_on_open=1
if (g:syntastic_mode_map.mode == "passive")
SyntasticToggleMode
endif
endfunction
command! -buffer SyntasticToggleOn call s:SyntasticToggleOn()
"function to disable syntastic and set check_on_open off
function s:SyntasticToggleOff()
let g:syntastic_check_on_open=0
if (g:syntastic_mode_map.mode == "active")
SyntasticToggleMode
endif
endfunction
command! -buffer SyntasticToggleOff call s:SyntasticToggleOff()
"function to toggle syntastic and check_on_open on and off together
function s:SyntasticToggleAll()
if (g:syntastic_check_on_open == 1)
call s:SyntasticToggleOff()
else
call s:SyntasticToggleOn()
endif
endfunction
command! -buffer SyntasticToggleAll call s:SyntasticToggleAll()
"}}}
"TABULAR: {{{
"format markdown tables
function! s:TableFormat()
let l:pos = getpos('.')
normal! {
call search('|')
normal! j
s/[^|]//g
Tabularize /|
s/ /-/g
call setpos('.', l:pos)
endfunction
command! -buffer TableFormat call s:TableFormat()
"}}}
"TAGBAR: {{{
"autostart tagbar when vim opens to a compatible filetype (default: 0)
if !exists("g:autostarttagbar")
let g:autostarttagbar=0
endif
if !&diff
if (g:autostarttagbar == 1)
autocmd VimEnter * nested :call tagbar#autoopen(1)
endif
endif
let g:tagbar_sort=0
let g:tagbar_compact=1
let g:tagbar_singleclick=1
let g:tagbar_width=35
let g:tagbar_autofocus=1
autocmd FileType tagbar setlocal nocursorcolumn
"}}}
"TCOMMAND: {{{
let g:tcommand#include_history=0
"}}}
"TCOMMENT: {{{
let g:tcomment#rstrip_on_uncomment=2 "remove right-hand whitespace from all lines on uncomment
"}}}
"VIM FILER: {{{
"autostart filer when vim opens to an empty buffer (default: 1)
if !exists("g:autostartfiler")|let g:autostartfiler=1|endif
if (g:autostartfiler == 1)
autocmd VimEnter * if !argc() | VimFiler -quit -project | endif
endif
let g:vimfiler_as_default_explorer=1
let g:vimfiler_safe_mode_by_default=0
let g:vimfiler_enable_auto_cd=1
let g:vimfiler_tree_indentation=2
let g:vimfiler_explorer_columns='type:time'
let g:vimfiler_tree_closed_icon='▸' "['▶', '▼'], ['▸', '▾'], ['▷', '◢']
let g:vimfiler_tree_opened_icon='▾'
let g:vimfiler_file_icon='-'
let g:vimfiler_marked_file_icon='+'
"edit files by double clicking them, and justify the cursor on the left
autocmd FileType vimfiler setlocal nonumber nocursorcolumn
"load the list of file extensions and handlers if it exists
if filereadable(glob("~/.vim/filetypes.vim"))
source ~/.vim/filetypes.vim
endif
"}}}
"LIGHTLINE: {{{
let g:unite_force_overwrite_statusline = 0
let g:vimfiler_force_overwrite_statusline = 0
function! LLModified()
return &ft =~ 'help' ? '' : &modified ? '*' : &modifiable ? '' : '-'
endfunction
function! LLReadonly()
return &ft !~? 'help' && &readonly ? '[RO]' : ''
endfunction
function! LLFilename()
let fname = expand('%:t')
return
\ fname == '__Tagbar__' ? g:lightline.fname :
\ fname =~ '__Gundo' ? '' :
\ &ft == 'vimfiler' ? vimfiler#get_status_string() :
\ &ft == 'unite' ? unite#get_status_string() :
\ &ft == 'qf' ? '[Error/Location List]' :
\ &ft == 'extradite' ? '[Commit History]' :
\ ('' != LLReadonly() ? LLReadonly() . ' ' : '') .
\ ('' != fname ? fname : '[NEW]') .
\ ('' != LLModified() ? ' ' . LLModified() : '')
endfunction
function! LLFugitive()
try
if expand('%:t') !~? 'Tagbar\|Gundo' && &ft !~? 'vimfiler' && exists('*fugitive#head')
let mark = '' " edit here for cool mark
let _ = fugitive#head()
return strlen(_) ? mark._ : ''
endif
catch
endtry
return ''
endfunction
function! LLFileformat()
return winwidth(0) > 70 ? &fileformat : ''
endfunction
function! LLFiletype()
return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype : 'none') : ''
endfunction
function! LLFileencoding()
return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc : &enc) : ''
endfunction
function! LLMode()
let fname = expand('%:t')
return fname == '__Tagbar__' ? 'Tagbar' :
\ fname == '__Gundo__' ? 'Gundo' :
\ fname == '__Gundo_Preview__' ? 'Gundo Preview' :
\ &ft == 'unite' ? 'Unite' :
\ &ft == 'vimfiler' ? 'VimFiler' :
\ winwidth(0) > 60 ? lightline#mode() : ''
endfunction
let g:tagbar_status_func = 'TagbarStatusFunc'
function! TagbarStatusFunc(current, sort, fname, ...) abort
let g:lightline.fname = 'tags' "a:fname
return lightline#statusline(0)
endfunction
augroup AutoSyntastic
autocmd!
autocmd BufWritePost * call s:syntastic()
augroup END
function! s:syntastic()
SyntasticCheck
call lightline#update()
endfunction
"status bar config with and without powerline fonts (default: 0)
if !exists("g:powerlinefonts")
let g:powerlinefonts=0
endif
if (g:powerlinefonts == 1)
let g:lightline = {
\ 'colorscheme': 'darkcloud',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], [ 'tagbar' ] ],
\ 'right': [ [ 'syntastic', 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ]
\ },
\ 'component_function': {
\ 'fugitive': 'LLFugitive',
\ 'filename': 'LLFilename',
\ 'fileformat': 'LLFileformat',
\ 'filetype': 'LLFiletype',
\ 'fileencoding': 'LLFileencoding',
\ 'mode': 'LLMode',
\ },
\ 'component_expand': {
\ 'syntastic': 'SyntasticStatuslineFlag',
\ },
\ 'component_type': {
\ 'syntastic': 'error',
\ },
\ 'separator': {'left': '', 'right': ''},
\ 'subseparator': {'left': '', 'right': ''},
\ 'component': {
\ 'tagbar': '%{tagbar#currenttag("[%s]", "", "f")}',
\ },
\ }
else
let g:lightline = {
\ 'colorscheme': 'darkcloud',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], [ 'tagbar' ] ],
\ 'right': [ [ 'syntastic', 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ]
\ },
\ 'component_function': {
\ 'fugitive': 'LLFugitive',
\ 'filename': 'LLFilename',
\ 'fileformat': 'LLFileformat',
\ 'filetype': 'LLFiletype',
\ 'fileencoding': 'LLFileencoding',
\ 'mode': 'LLMode',
\ },
\ 'component_expand': {
\ 'syntastic': 'SyntasticStatuslineFlag',
\ },
\ 'component_type': {
\ 'syntastic': 'error',
\ },
\ 'separator': {'left': '', 'right': ''},
\ 'subseparator': {'left': '|', 'right': '|'},
\ 'component': {
\ 'tagbar': '%{tagbar#currenttag("[%s]", "", "f")}',
\ }
\ }
endif
"ligtline theme {{{
let s:base0 = '#262626'
let s:base1 = '#303030'
let s:base2 = '#767676'
let s:base3 = '#949494'
let s:base4 = '#b2b2b2'
let s:base5 = '#c6c6c6'
let s:base6 = '#eaeaea'
let s:rcol = '#d75f5f'
let s:ycol = '#ffd787'
let s:bcol = '#87d7ff'
let s:p = {'normal':{},'inactive':{},'insert':{},'replace':{},'visual':{},'tabline':{}}
let s:p.normal.left = [[ s:bcol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.normal.right = [[ s:base4,s:base1 ],[ s:base6,s:base0 ]]
let s:p.inactive.left = [[ s:base6,s:base0 ],[ s:base4,s:base1 ]]
let s:p.inactive.right = [[ s:base4,s:base1 ],[ s:base6,s:base0 ]]
let s:p.insert.left = [[ s:rcol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.replace.left = [[ s:base1,s:rcol ],[ s:base6,s:base0 ]]
let s:p.visual.left = [[ s:ycol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.normal.middle = [[ s:base4,s:base1 ]]
let s:p.inactive.abmiddle = [[ s:base3,s:base1 ]]
let s:p.tabline.left = [[ s:base5,s:base0 ]]
let s:p.tabline.tabsel = [[ s:base5,s:base1 ]]
let s:p.tabline.middle = [[ s:base0,s:base4 ]]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [[ s:rcol,s:base1 ]]
let s:p.normal.warning = [[ s:ycol,s:base1 ]]
let g:lightline#colorscheme#darkcloud#palette = lightline#colorscheme#fill(s:p)
"}}}
"}}}

View file

@ -0,0 +1,10 @@
let g:mta_filetypes = {
\ 'aspnet':1,
\ 'html':1,
\ 'xhtml':1,
\ 'php':1,
\ 'xml':1,
\ 'jinja':1,
\ 'vue':1,
\ 'vue.javascript':1
\ }

View file

@ -0,0 +1,6 @@
let g:use_emmet_complete_tag=1
let g:user_emmet_mode='a'
if filereadable("~/.vim/snippets.json")
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/snippets.json')), "\n"))
endif

View file

@ -0,0 +1,8 @@
autocmd VimEnter,Filetype *
\ let g:goyo_width = &textwidth |
\ if (g:goyo_width == 0) |
\ let g:goyo_width = max(map(getline(1,'$'), 'len(v:val)')) |
\ if (g:goyo_width < 80) |
\ let g:goyo_width = 80 |
\ endif |
\ endif

View file

@ -0,0 +1,5 @@
let g:gundo_right=0
let g:gundo_width=35
let g:gundo_preview_height=10
autocmd FileType gundo setlocal nocursorcolumn

View file

@ -0,0 +1,7 @@
"use incsearch in place of the default search
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
"n and N behavioru is consistant
let g:incsearch#consistent_n_direction=1

View file

@ -0,0 +1,175 @@
let g:unite_force_overwrite_statusline = 0
let g:vimfiler_force_overwrite_statusline = 0
function! LLModified()
return &ft =~ 'help' ? '' : &modified ? '*' : &modifiable ? '' : '-'
endfunction
function! LLReadonly()
return &ft !~? 'help' && &readonly ? '[RO]' : ''
endfunction
function! LLFilename()
let fname = expand('%:t')
return
\ fname == '__Tagbar__' ? g:lightline.fname :
\ fname =~ '__Gundo' ? '' :
\ &ft == 'vimfiler' ? vimfiler#get_status_string() :
\ &ft == 'unite' ? unite#get_status_string() :
\ &ft == 'qf' ? '[Error/Location List]' :
\ &ft == 'extradite' ? '[Commit History]' :
\ ('' != LLReadonly() ? LLReadonly() . ' ' : '') .
\ ('' != fname ? fname : '[NEW]') .
\ ('' != LLModified() ? ' ' . LLModified() : '')
endfunction
function! LLFugitive()
try
if expand('%:t') !~? 'Tagbar\|Gundo' && &ft !~? 'vimfiler' && exists('*fugitive#head')
let mark = '' " edit here for cool mark
let _ = fugitive#head()
return strlen(_) ? mark._ : ''
endif
catch
endtry
return ''
endfunction
function! LLFileformat()
return winwidth(0) > 70 ? &fileformat : ''
endfunction
function! LLFiletype()
return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype : 'none') : ''
endfunction
function! LLFileencoding()
return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc : &enc) : ''
endfunction
function! LLMode()
let fname = expand('%:t')
return fname == '__Tagbar__' ? 'Tagbar' :
\ fname == '__Gundo__' ? 'Gundo' :
\ fname == '__Gundo_Preview__' ? 'Gundo Preview' :
\ &ft == 'unite' ? 'Unite' :
\ &ft == 'vimfiler' ? 'VimFiler' :
\ winwidth(0) > 60 ? lightline#mode() : ''
endfunction
let g:tagbar_status_func = 'TagbarStatusFunc'
function! TagbarStatusFunc(current, sort, fname, ...) abort
let g:lightline.fname = 'tags' "a:fname
return lightline#statusline(0)
endfunction
augroup AutoSyntastic
autocmd!
autocmd BufWritePost * call s:syntastic()
augroup END
function! s:syntastic()
SyntasticCheck
call lightline#update()
endfunction
"status bar config with and without powerline fonts (default: 0)
if !exists("g:powerlinefonts")
let g:powerlinefonts=0
endif
if (g:powerlinefonts == 1)
let g:lightline = {
\ 'colorscheme': 'darkcloud',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], [ 'tagbar' ] ],
\ 'right': [ [ 'syntastic', 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ]
\ },
\ 'component_function': {
\ 'fugitive': 'LLFugitive',
\ 'filename': 'LLFilename',
\ 'fileformat': 'LLFileformat',
\ 'filetype': 'LLFiletype',
\ 'fileencoding': 'LLFileencoding',
\ 'mode': 'LLMode',
\ },
\ 'component_expand': {
\ 'syntastic': 'SyntasticStatuslineFlag',
\ },
\ 'component_type': {
\ 'syntastic': 'error',
\ },
\ 'separator': {'left': '', 'right': ''},
\ 'subseparator': {'left': '', 'right': ''},
\ 'component': {
\ 'tagbar': '%{tagbar#currenttag("[%s]", "", "f")}',
\ },
\ }
else
let g:lightline = {
\ 'colorscheme': 'darkcloud',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], [ 'tagbar' ] ],
\ 'right': [ [ 'syntastic', 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ]
\ },
\ 'component_function': {
\ 'fugitive': 'LLFugitive',
\ 'filename': 'LLFilename',
\ 'fileformat': 'LLFileformat',
\ 'filetype': 'LLFiletype',
\ 'fileencoding': 'LLFileencoding',
\ 'mode': 'LLMode',
\ },
\ 'component_expand': {
\ 'syntastic': 'SyntasticStatuslineFlag',
\ },
\ 'component_type': {
\ 'syntastic': 'error',
\ },
\ 'separator': {'left': '', 'right': ''},
\ 'subseparator': {'left': '|', 'right': '|'},
\ 'component': {
\ 'tagbar': '%{tagbar#currenttag("[%s]", "", "f")}',
\ }
\ }
endif
"ligtline theme {{{
let s:base0 = '#262626'
let s:base1 = '#303030'
let s:base2 = '#767676'
let s:base3 = '#949494'
let s:base4 = '#b2b2b2'
let s:base5 = '#c6c6c6'
let s:base6 = '#eaeaea'
let s:rcol = '#d75f5f'
let s:ycol = '#ffd787'
let s:bcol = '#87d7ff'
let s:p = {'normal':{},'inactive':{},'insert':{},'replace':{},'visual':{},'tabline':{}}
let s:p.normal.left = [[ s:bcol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.normal.right = [[ s:base4,s:base1 ],[ s:base6,s:base0 ]]
let s:p.inactive.left = [[ s:base6,s:base0 ],[ s:base4,s:base1 ]]
let s:p.inactive.right = [[ s:base4,s:base1 ],[ s:base6,s:base0 ]]
let s:p.insert.left = [[ s:rcol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.replace.left = [[ s:base1,s:rcol ],[ s:base6,s:base0 ]]
let s:p.visual.left = [[ s:ycol,s:base1 ],[ s:base6,s:base0 ]]
let s:p.normal.middle = [[ s:base4,s:base1 ]]
let s:p.inactive.abmiddle = [[ s:base3,s:base1 ]]
let s:p.tabline.left = [[ s:base5,s:base0 ]]
let s:p.tabline.tabsel = [[ s:base5,s:base1 ]]
let s:p.tabline.middle = [[ s:base0,s:base4 ]]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [[ s:rcol,s:base1 ]]
let s:p.normal.warning = [[ s:ycol,s:base1 ]]
let g:lightline#colorscheme#darkcloud#palette = lightline#colorscheme#fill(s:p)
"}}}

View file

@ -0,0 +1,28 @@
let g:neocomplete#enable_at_startup=1
let g:neocomplete#enable_smart_case=1
let g:neocomplete#sources#syntax#min_keyword_length=3
if !exists('g:neocomplete#sources#omni#input_patterns')
let g:neocomplete#sources#omni#input_patterns = {}
endif
let g:neocomplete#sources#omni#input_patterns.c='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.cpp='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.xml='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.html='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.xhtml='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.markdown='<[^>]*'
let g:neocomplete#sources#omni#input_patterns.css='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
let g:neocomplete#sources#omni#input_patterns.less='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
let g:neocomplete#sources#omni#input_patterns.javascript='[^. \t]\.\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.json='[^. \t]\.\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.python='[^. *\t]\.\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.ruby='[^. *\t]\.\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.php='[^. \t]->\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
let g:neocomplete#sources#omni#input_patterns.actionscript='[^. \t][.:]\h\w*'
let g:neocomplete#sources#omni#input_patterns.python3='[^. *\t]\.\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.go='\h\w*\%.'
let g:neocomplete#sources#omni#input_patterns.perl='\h\w*->\h\w*\|\h\w*::'
let g:neocomplete#sources#omni#input_patterns.java='\%(\h\w*\|)\)\.'
let g:neocomplete#sources#omni#input_patterns.objc='\h\w\+\|\h\w*\%(\.\|->\)\h\w*'
let g:neocomplete#sources#omni#input_patterns.objj='[\[ \.]\w\+$\|:\w*$'

View file

@ -0,0 +1,137 @@
"autostart syntax checking when vim opens to a compatible filetype (default: 0)
if !exists("g:autostartchecker")
let g:autostartchecker=0
endif
if &diff
let g:autostartchecker=0
else
if (g:autostartchecker == 1)
let g:syntastic_mode_map={
\ 'mode':'active',
\ 'active_filetypes':[],
\ 'passive_filetypes':[]
\ }
let g:syntastic_check_on_open=1
else
let g:syntastic_mode_map={
\ 'mode':'passive',
\ 'active_filetypes':[],
\ 'passive_filetypes':[]
\ }
let g:syntastic_check_on_open=0
endif
"configure warnings/errors that should be silenced by module
let g:syntastic_less_lessc_quiet_messages={
\ 'regex':[
\ 'NameError:.* is undefined',
\ 'FileError:.*'
\ ]}
let g:syntastic_scss_sass_quiet_messages={
\ 'regex':[
\ 'File to import not found or unreadable.*'
\ ]}
let g:syntastic_java_javac_quiet_messages={
\ 'regex':[
\ 'cannot find symbol.*',
\ 'method does not override or implement a method from a supertype.*',
\ 'package [^\ ]* does not exist.*'
\ ]}
let g:syntastic_javascript_eslint_quiet_messages={
\ 'regex':[
\ '.* is defined but never used',
\ "'[^']*' is not defined",
\ 'Missing "use strict" statement',
\ 'Unexpected [^ ]* statement.*'
\ ]}
let g:syntastic_javascript_jshint_quiet_messages={
\ 'regex':[
\ 'Expected an assignment or function call and instead saw an expression.'
\ ]}
let g:syntastic_javascript_standard_quiet_messages={
\ 'regex':[
\ '.* is defined but never used',
\ "'[^']*' is not defined"
\ ]}
let g:syntastic_markdown_mdl_quiet_messages={
\ 'regex':[
\ '.*MD013.*',
\ '.*MD002.*',
\ '.*MD029.*'
\ ]}
let g:syntastic_python_flake8_quiet_messages={
\ 'regex':[
\ '.*\[W293\]',
\ '.*\[E501\]'
\ ]}
let g:syntastic_php_phpmd_quiet_messages={
\ 'regex':[
\ 'Avoid using short method names like.*',
\ 'Avoid variables with short names like.*',
\ 'The method.*has [0-9][0-9]* lines of code.*',
\ 'The method.*has a Cyclomatic Complexity.*',
\ 'The method.*has an NPath complexity.*',
\ 'The function.*has a Cyclomatic Complexity.*',
\ 'The function.*has an NPath complexity.*',
\ 'The function.*Avoid really long methods\.',
\ 'The class.*has an overall complexity.*',
\ 'The class.*has.*public methods.*',
\ 'The class.*lines of code'
\ ]}
let g:syntastic_sh_bashate_quiet_messages={
\ 'regex':[
\ 'Indent not multiple of 4'
\ ]}
let g:syntastic_sh_shellcheck_quiet_messages={
\ 'regex':[
\ '.*\[SC1001\]',
\ '.*\[SC2015\]',
\ '.*\[SC2016\]',
\ '.*\[SC2029\]',
\ '.*\[SC2034\]',
\ '.*\[SC2148\]',
\ '.*\[SC2181\]',
\ '.*follow non-constant source',
\ 'Not following:'
\ ]}
autocmd BufNewFile,BufRead PKGBUILD,bash.bashrc,.bashrc let g:syntastic_quiet_messages={"level":"warnings"}
let g:syntastic_check_on_wq=0
let g:syntastic_always_populate_loc_list=1
let g:syntastic_auto_loc_list=1
let g:syntastic_loc_list_height=5
endif
"function to enable syntastic and set check_on_open on
function s:SyntasticToggleOn()
let g:syntastic_check_on_open=1
if (g:syntastic_mode_map.mode == "passive")
SyntasticToggleMode
endif
endfunction
command! -buffer SyntasticToggleOn call s:SyntasticToggleOn()
"function to disable syntastic and set check_on_open off
function s:SyntasticToggleOff()
let g:syntastic_check_on_open=0
if (g:syntastic_mode_map.mode == "active")
SyntasticToggleMode
endif
endfunction
command! -buffer SyntasticToggleOff call s:SyntasticToggleOff()
"function to toggle syntastic and check_on_open on and off together
function s:SyntasticToggleAll()
if (g:syntastic_check_on_open == 1)
call s:SyntasticToggleOff()
else
call s:SyntasticToggleOn()
endif
endfunction
command! -buffer SyntasticToggleAll call s:SyntasticToggleAll()

View file

@ -0,0 +1,16 @@
" This Tabular TableFormat() function is taken from the
" vim-markdown project by plasticboy, which can be found
" at https://github.com/plasticboy/vim-markdown and is
" licensed with the MIT license.
function! s:TableFormat()
let l:pos = getpos('.')
normal! {
call search('|')
normal! j
s/[^|]//g
Tabularize /|
s/ /-/g
call setpos('.', l:pos)
endfunction
command! -buffer TableFormat call s:TableFormat()

View file

@ -0,0 +1,16 @@
"autostart tagbar when vim opens to a compatible filetype (default: 0)
if !exists("g:autostarttagbar")
let g:autostarttagbar=0
endif
if !&diff && (g:autostarttagbar == 1)
autocmd VimEnter * nested :call tagbar#autoopen(1)
endif
let g:tagbar_sort=0
let g:tagbar_compact=1
let g:tagbar_singleclick=1
let g:tagbar_width=35
let g:tagbar_autofocus=1
autocmd FileType tagbar setlocal nocursorcolumn

View file

@ -0,0 +1 @@
let g:tcommand#include_history=0

View file

@ -0,0 +1 @@
let g:tcomment#rstrip_on_uncomment=2 "remove right-hand whitespace from all lines on uncomment

View file

@ -0,0 +1,2 @@
let g:bookmark_sign = '★'
let g:bookmark_annotation_sign = '📌'

View file

@ -0,0 +1,22 @@
let g:easytags_suppress_ctags_warning=1
if filereadable(glob("~/.vim/tags"))
let g:easytags_file='~/.vim/tags'
endif
if isdirectory(glob("~/.vim/tags_by_filetype"))
let g:easytags_by_filetype='~/.vim/tags_by_filetype'
endif
"prevent automatically generating the tagfile and syntax highlighting tags (default: 0)
if !exists("g:disableautotags")
let g:disableautotags=0
endif
if (g:disableautotags == 1)
let g:easytags_auto_update=0
let g:easytags_auto_highlight=0
else
let g:easytags_auto_update=1
let g:easytags_auto_highlight=1
endif

View file

@ -0,0 +1,4 @@
let g:signify_sign_add='+'
let g:signify_sign_change='!'
let g:signify_sign_delete='-'
let g:signify_sign_delete_first_line='~'

View file

@ -0,0 +1,27 @@
"autostart filer when vim opens to an empty buffer (default: 1)
if !exists("g:autostartfiler")
let g:autostartfiler=1
endif
if (g:autostartfiler == 1)
autocmd VimEnter * if !argc() | VimFiler -quit -project | endif
endif
let g:vimfiler_as_default_explorer=1
let g:vimfiler_safe_mode_by_default=0
let g:vimfiler_enable_auto_cd=1
let g:vimfiler_tree_indentation=2
let g:vimfiler_explorer_columns='type:time'
let g:vimfiler_tree_closed_icon='▸' "['▶', '▼'], ['▸', '▾'], ['▷', '◢']
let g:vimfiler_tree_opened_icon='▾'
let g:vimfiler_file_icon='-'
let g:vimfiler_marked_file_icon='+'
"edit files by double clicking them, and justify the cursor on the left
autocmd FileType vimfiler setlocal nonumber nocursorcolumn
"load the list of file extensions and handlers if it exists
if filereadable(glob("~/.vim/filetypes.vim"))
source ~/.vim/filetypes.vim
endif

9
vimrc
View file

@ -38,15 +38,6 @@
"Init Plugin Loader: "Init Plugin Loader:
let pathogen_disabled=[] let pathogen_disabled=[]
" disable incompatible plugins
if has('nvim')
call add(pathogen_disabled, 'vim-fixkey')
endif
if has('nvim') || !has('lua')
call add(pathogen_disabled, 'neocomplete.vim')
endif
if !has('python') if !has('python')
call add(pathogen_disabled, 'gundo.vim') call add(pathogen_disabled, 'gundo.vim')
call add(pathogen_disabled, 'MatchTagAlways') call add(pathogen_disabled, 'MatchTagAlways')