mirror of
https://github.com/prurigro/darkcloud-vimconfig.git
synced 2024-11-26 00:01:27 -05:00
a7e95b25ac
vimrc.user when it's created. a new user-based config file can be used to specify the location of the project folder without altering vimrc, if it's a symlink and bound to bump into conflicts as changes are made. The README was updated to reflect a few of the recent changes. The tagbar now outputs to the lightline statusline if there's anything to report. A new variable was added to choose whether to always start with the tagbar enabled if the format is compatible, or use the older behaviour, where it would only appear when triggered. The default is to enable it 24/7.
280 lines
9.3 KiB
VimL
280 lines
9.3 KiB
VimL
"=========================="
|
|
" "
|
|
" Plugins Configuration: "
|
|
" "
|
|
" Maintainer: Prurigro "
|
|
" License: MIT "
|
|
" "
|
|
"=========================="
|
|
|
|
"PATHOGEN BUNDLED EXTENSIONS PLUGIN: {{{
|
|
execute pathogen#infect('bundle/{}', 'bundle.user/{}')
|
|
"}}}
|
|
|
|
"BREEZE: {{{
|
|
let g:breeze_active_filetypes="*.html,*.htm,*.xhtml,*.xml,*.php,*.aspx"
|
|
let g:breeze_shade_color = "String"
|
|
"}}}
|
|
|
|
"EMMET: {{{
|
|
let g:user_emmet_install_global=0
|
|
let g:use_emmet_complete_tag=1
|
|
let g:user_emmet_mode='a'
|
|
|
|
autocmd FileType css,json,htm,html,php,aspx EmmetInstall
|
|
|
|
if filereadable("~/.vim/snippets.json")
|
|
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/snippets.json')), "\n"))
|
|
endif
|
|
"}}}
|
|
|
|
"GUNDO: {{{
|
|
let g:gundo_right=1
|
|
let g:gundo_width=35
|
|
let g:gundo_preview_height=10
|
|
|
|
autocmd FileType gundo setlocal nocursorcolumn
|
|
"}}}
|
|
|
|
"MARKDOWN VIM MODE: {{{
|
|
let g:vim_markdown_folding_disabled=0
|
|
let g:vim_markdown_initial_foldlevel=2
|
|
"}}}
|
|
|
|
"NEOCOMPLCACHE AUTOCOMPLETION PLUGIN: {{{
|
|
let g:neocomplcache_enable_at_startup=1
|
|
let g:neocomplcache_enable_smart_case=1
|
|
let g:neocomplcache_min_syntax_length=3
|
|
let g:neocomplcache_enable_insert_char_pre=1
|
|
let g:neocomplcache_enable_underbar_completion=1
|
|
let g:neocomplcache_wildcard_characters={'_': '-'}
|
|
|
|
if !exists('g:neocomplcache_omni_patterns')
|
|
let g:neocomplcache_omni_patterns = {}
|
|
endif
|
|
if !exists('g:neocomplcache_force_omni_patterns')
|
|
let g:neocomplcache_force_omni_patterns = {}
|
|
endif
|
|
|
|
let g:neocomplcache_omni_patterns.c='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?'
|
|
let g:neocomplcache_omni_patterns.cpp='[^.[:digit:] *\t]\%(\.\|->\)\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
|
|
let g:neocomplcache_omni_patterns.xml='<[^>]*'
|
|
let g:neocomplcache_omni_patterns.html='<[^>]*'
|
|
let g:neocomplcache_omni_patterns.xhtml='<[^>]*'
|
|
let g:neocomplcache_omni_patterns.markdown='<[^>]*'
|
|
let g:neocomplcache_omni_patterns.css='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
|
|
let g:neocomplcache_omni_patterns.less='^\s\+\w+\|\w+[):;]?\s\+\|[@!]'
|
|
let g:neocomplcache_omni_patterns.javascript='[^. \t]\.\%(\h\w*\)\?'
|
|
let g:neocomplcache_omni_patterns.python='[^. *\t]\.\h\w*\|\h\w*::'
|
|
let g:neocomplcache_omni_patterns.ruby='[^. *\t]\.\w*\|\h\w*::'
|
|
let g:neocomplcache_omni_patterns.php='[^. \t]->\%(\h\w*\)\?\|\h\w*::\%(\h\w*\)\?'
|
|
let g:neocomplcache_omni_patterns.actionscript='[^. \t][.:]\h\w*'
|
|
let g:neocomplcache_omni_patterns.python3='[^. *\t]\.\h\w*\|\h\w*::'
|
|
let g:neocomplcache_omni_patterns.go='\h\w*\%.'
|
|
let g:neocomplcache_omni_patterns.perl='\h\w*->\h\w*\|\h\w*::'
|
|
let g:neocomplcache_omni_patterns.java='\%(\h\w*\|)\)\.'
|
|
let g:neocomplcache_omni_patterns.objc='\h\w\+\|\h\w*\%(\.\|->\)\h\w*'
|
|
let g:neocomplcache_omni_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: {{{
|
|
"syntax checker autostart default: 1
|
|
if !exists("g:autostartchecker")
|
|
let g:autostartchecker=1
|
|
endif
|
|
|
|
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
|
|
|
|
let g:syntastic_always_populate_loc_list=1
|
|
let g:syntastic_auto_loc_list=1
|
|
let g:syntastic_loc_list_height=5
|
|
"}}}
|
|
|
|
"TAGBAR: {{{
|
|
"tagbar sidebar autostart default: 1
|
|
if !exists("g:autostarttagbar")
|
|
let g:autostarttagbar=1
|
|
endif
|
|
|
|
if (g:autostarttagbar == 1)
|
|
autocmd VimEnter * nested :call tagbar#autoopen(1)
|
|
endif
|
|
|
|
let g:tagbar_sort=0
|
|
let g:tagbar_singleclick=1
|
|
let g:tagbar_width=27
|
|
"}}}
|
|
|
|
"VIM FILER: {{{
|
|
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
|
|
|
|
"open automatically if vim was run without any files
|
|
autocmd VimEnter * if !argc() | VimFiler -quit -project | endif
|
|
|
|
"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() :
|
|
\ ('' != LLReadonly() ? LLReadonly() . ' ' : '') .
|
|
\ ('' != fname ? fname : '[No Name]') .
|
|
\ ('' != 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 : 'no ft') : ''
|
|
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 = 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 (defaults to off)
|
|
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
|
|
"}}}
|
|
|