You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
5.3 KiB
VimL

set t_ut=''
let s:is_color = &t_Co >= 16
set hidden
set splitbelow
set splitright
set nowrap
set backspace=indent,eol,start
let s:is_nerd_font = $VIM_GLYPHS ==? 'nerd-font'
let &listchars = s:is_nerd_font ? "tab: ,precedes:\uf63c,extends:\uf63d" :
\ "tab: ,precedes:\u00ab,extends:\u00bb"
set list
let &fillchars = "vert:\u2502,fold: ,diff:\u00b7"
if s:is_color
autocmd ColorScheme * highlight error cterm=none ctermbg=darkred
\ ctermfg=lightgray
autocmd ColorScheme * highlight InvalidWhitespace ctermbg=black
autocmd ColorScheme * highlight Overlength ctermbg=black
autocmd ColorScheme * highlight Pmenu ctermbg=darkblue ctermfg=lightgray
autocmd ColorScheme * highlight PmenuSel ctermbg=lightgray ctermfg=darkblue
autocmd ColorScheme * highlight Search ctermbg=darkblue ctermfg=lightgray
autocmd ColorScheme * highlight SignColumn ctermbg=black ctermfg=darkblue
autocmd ColorScheme * highlight SpellBad ctermbg=darkmagenta
\ ctermfg=lightgray
autocmd ColorScheme * highlight SpellCap ctermbg=darkmagenta
\ ctermfg=lightgray
autocmd ColorScheme * highlight StatusLine cterm=bold ctermbg=black
\ ctermfg=lightgray
autocmd ColorScheme * highlight StatusLineNC cterm=none ctermbg=black
\ ctermfg=none
autocmd ColorScheme * highlight todo ctermbg=none ctermfg=darkblue
autocmd ColorScheme * highlight VertSplit cterm=none ctermfg=black
autocmd ColorScheme * highlight Visual cterm=none ctermbg=darkgray
colorscheme peachpuff
else
autocmd ColorScheme * highlight VertSplit term=none
colorscheme default
endif
function s:DefaultMatches()
call clearmatches()
if s:is_color && !&previewwindow && index(['netrw', 'qf'], &filetype) < 0
call matchadd('Overlength', '\%80v.\+', -1)
if &expandtab
call matchadd('InvalidWhitespace', '\t')
else
call matchadd('InvalidWhitespace', '^ \+')
endif
call matchadd('InvalidWhitespace', '\s\+$')
endif
endfunction
autocmd BufWinEnter,FileType,TabEnter,WinEnter * call s:DefaultMatches()
autocmd BufWinLeave,TabLeave * call clearmatches()
function s:TabIndent(...)
set noexpandtab
let space_count = a:0 >= 1 ? a:1 : 8
let &tabstop = space_count
let &shiftwidth = space_count
set softtabstop=0
call s:DefaultMatches()
endfunction
function s:SpacesIndent(...)
set expandtab
let space_count = a:0 >= 1 ? a:1 : 4
let &tabstop = space_count
let &shiftwidth = space_count
let &softtabstop = space_count
call s:DefaultMatches()
endfunction
command -nargs=? TabIndent :call s:TabIndent(<f-args>)
command -nargs=? SpacesIndent :call s:SpacesIndent(<f-args>)
call s:SpacesIndent()
if s:is_color
syntax on
endif
let airline_theme = s:is_color ? 'powerlineish' : 'monochrome'
let airline_detect_spelllang = 0
let airline#extensions#tabline#enabled = 1
let airline_symbols = {'modified': " \u2022", 'linenr': '', 'maxlinenr': ''}
if s:is_nerd_font
if s:is_color
let airline_powerline_fonts = 1
else
let airline_left_alt_sep = "\ue0b1"
let airline_right_alt_sep = "\ue0b3"
let airline#extensions#tabline#left_alt_sep = "\ue0b1"
let airline#extensions#tabline#right_alt_sep = "\ue0b3"
endif
let airline_section_z = "\uf13a %l/%L \uf138 %c"
let airline_symbols.crypt = "\uf09c"
let airline_symbols.paste = "\uf691"
let airline_symbols.spell = "\uf9c5"
let airline_symbols.branch = "\uf418"
let airline_symbols.notexists = " \ufc50"
let airline_symbols.readonly = "\uf023 "
let airline_symbols.whitespace = "\uf038"
let airline#extensions#tabline#overflow_marker = "\u2026"
let syntastic_error_symbol = "\ufc65 "
let syntastic_warning_symbol = "\uf525 "
let syntastic_style_error_symbol = "\ue245 "
let syntastic_style_warning_symbol = "\ue245 "
else
let airline_left_alt_sep = "\u2502"
let airline_right_alt_sep = "\u2502"
let airline#extensions#tabline#left_alt_sep = "\u2502"
let airline#extensions#tabline#right_alt_sep = "\u2502"
let airline_section_z = "\u25bc %l/%L \u25ba %c"
let airline_symbols.branch = ''
let airline_symbols.notexists = ''
let airline_symbols.readonly = 'ro'
let airline_symbols.whitespace = ''
let syntastic_error_symbol = "!\u25ba"
let syntastic_warning_symbol = "!\u25ba"
let syntastic_style_error_symbol = "s\u25ba"
let syntastic_style_warning_symbol = "s\u25ba"
endif
let airline#extensions#tabline#show_tabs = 0
let airline#extensions#tabline#show_tab_type = 0
let airline#extensions#tabline#buffer_nr_show = 1
let airline#extensions#tabline#buffer_nr_format = "%u "
let airline#extensions#tabline#formatter = 'unique_tail_improved'
let airline#extensions#tabline#tab_nr_type = 1
let airline#extensions#tabline#show_close_button = 0
let airline#extensions#wordcount#enabled = 0
let netrw_banner = 0
let ycm_autoclose_preview_window_after_insertion = 1
function s:SockHopMake(...)
let cmd = 'make "$@"'
if a:0
let cmd = cmd . ' ' . join(a:000)
endif
call system("sockhop .make.sock \'" . cmd . "\'")
endfunction
command -nargs=? SockHopMake :call s:SockHopMake(<f-args>)
nnoremap <silent> mc :SockHopMake clean<CR>
nnoremap <silent> md :SockHopMake debug<CR>
nnoremap <silent> mk :SockHopMake build<CR>
nnoremap <silent> mr :SockHopMake run<CR>
inoremap jj <Esc>