Начало
This commit is contained in:
commit
89b2b0c0a1
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.netrwhist
|
||||
plugged
|
264
autoload/pathogen.vim
Normal file
264
autoload/pathogen.vim
Normal file
@ -0,0 +1,264 @@
|
||||
" pathogen.vim - path option manipulation
|
||||
" Maintainer: Tim Pope <http://tpo.pe/>
|
||||
" Version: 2.4
|
||||
|
||||
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
|
||||
"
|
||||
" For management of individually installed plugins in ~/.vim/bundle (or
|
||||
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
|
||||
" .vimrc is the only other setup necessary.
|
||||
"
|
||||
" The API is documented inline below.
|
||||
|
||||
if exists("g:loaded_pathogen") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_pathogen = 1
|
||||
|
||||
" Point of entry for basic default usage. Give a relative path to invoke
|
||||
" pathogen#interpose() or an absolute path to invoke pathogen#surround().
|
||||
" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all
|
||||
" subdirectories inside "bundle" inside all directories in the runtime path.
|
||||
" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}"
|
||||
" on versions of Vim without native package support.
|
||||
function! pathogen#infect(...) abort
|
||||
if a:0
|
||||
let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")')
|
||||
else
|
||||
let paths = ['bundle/{}', 'pack/{}/start/{}']
|
||||
endif
|
||||
if has('packages')
|
||||
call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"')
|
||||
endif
|
||||
let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$'
|
||||
for path in filter(copy(paths), 'v:val =~# static')
|
||||
call pathogen#surround(path)
|
||||
endfor
|
||||
for path in filter(copy(paths), 'v:val !~# static')
|
||||
if path =~# '^\%([$~\\/]\|\w:[\\/]\)'
|
||||
call pathogen#surround(path)
|
||||
else
|
||||
call pathogen#interpose(path)
|
||||
endif
|
||||
endfor
|
||||
call pathogen#cycle_filetype()
|
||||
if pathogen#is_disabled($MYVIMRC)
|
||||
return 'finish'
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
" Split a path into a list.
|
||||
function! pathogen#split(path) abort
|
||||
if type(a:path) == type([]) | return a:path | endif
|
||||
if empty(a:path) | return [] | endif
|
||||
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
|
||||
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
|
||||
endfunction
|
||||
|
||||
" Convert a list to a path.
|
||||
function! pathogen#join(...) abort
|
||||
if type(a:1) == type(1) && a:1
|
||||
let i = 1
|
||||
let space = ' '
|
||||
else
|
||||
let i = 0
|
||||
let space = ''
|
||||
endif
|
||||
let path = ""
|
||||
while i < a:0
|
||||
if type(a:000[i]) == type([])
|
||||
let list = a:000[i]
|
||||
let j = 0
|
||||
while j < len(list)
|
||||
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
|
||||
let path .= ',' . escaped
|
||||
let j += 1
|
||||
endwhile
|
||||
else
|
||||
let path .= "," . a:000[i]
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
return substitute(path,'^,','','')
|
||||
endfunction
|
||||
|
||||
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
|
||||
function! pathogen#legacyjoin(...) abort
|
||||
return call('pathogen#join',[1] + a:000)
|
||||
endfunction
|
||||
|
||||
" Turn filetype detection off and back on again if it was already enabled.
|
||||
function! pathogen#cycle_filetype() abort
|
||||
if exists('g:did_load_filetypes')
|
||||
filetype off
|
||||
filetype on
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Check if a bundle is disabled. A bundle is considered disabled if its
|
||||
" basename or full name is included in the list g:pathogen_blacklist or the
|
||||
" comma delimited environment variable $VIMBLACKLIST.
|
||||
function! pathogen#is_disabled(path) abort
|
||||
if a:path =~# '\~$'
|
||||
return 1
|
||||
endif
|
||||
let sep = pathogen#slash()
|
||||
let blacklist = get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) + pathogen#split($VIMBLACKLIST)
|
||||
if !empty(blacklist)
|
||||
call map(blacklist, 'substitute(v:val, "[\\/]$", "", "")')
|
||||
endif
|
||||
return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1
|
||||
endfunction
|
||||
|
||||
" Prepend the given directory to the runtime path and append its corresponding
|
||||
" after directory. Curly braces are expanded with pathogen#expand().
|
||||
function! pathogen#surround(path) abort
|
||||
let sep = pathogen#slash()
|
||||
let rtp = pathogen#split(&rtp)
|
||||
let path = fnamemodify(a:path, ':s?[\\/]\=$??')
|
||||
let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)')
|
||||
let after = filter(reverse(pathogen#expand(path, sep.'after')), '!pathogen#is_disabled(v:val[0:-7])')
|
||||
call filter(rtp, 'index(before + after, v:val) == -1')
|
||||
let &rtp = pathogen#join(before, rtp, after)
|
||||
return &rtp
|
||||
endfunction
|
||||
|
||||
" For each directory in the runtime path, add a second entry with the given
|
||||
" argument appended. Curly braces are expanded with pathogen#expand().
|
||||
function! pathogen#interpose(name) abort
|
||||
let sep = pathogen#slash()
|
||||
let name = a:name
|
||||
if has_key(s:done_bundles, name)
|
||||
return ""
|
||||
endif
|
||||
let s:done_bundles[name] = 1
|
||||
let list = []
|
||||
for dir in pathogen#split(&rtp)
|
||||
if dir =~# '\<after$'
|
||||
let list += reverse(filter(pathogen#expand(dir[0:-6].name, sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir]
|
||||
else
|
||||
let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)')
|
||||
endif
|
||||
endfor
|
||||
let &rtp = pathogen#join(pathogen#uniq(list))
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
let s:done_bundles = {}
|
||||
|
||||
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
|
||||
function! pathogen#helptags() abort
|
||||
let sep = pathogen#slash()
|
||||
for glob in pathogen#split(&rtp)
|
||||
for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep')
|
||||
if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags'))
|
||||
silent! execute 'helptags' pathogen#fnameescape(dir)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
command! -bar Helptags :call pathogen#helptags()
|
||||
|
||||
" Execute the given command. This is basically a backdoor for --remote-expr.
|
||||
function! pathogen#execute(...) abort
|
||||
for command in a:000
|
||||
execute command
|
||||
endfor
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
" Section: Unofficial
|
||||
|
||||
function! pathogen#is_absolute(path) abort
|
||||
return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]')
|
||||
endfunction
|
||||
|
||||
" Given a string, returns all possible permutations of comma delimited braced
|
||||
" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields
|
||||
" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard
|
||||
" and globbed. Actual globs are preserved.
|
||||
function! pathogen#expand(pattern, ...) abort
|
||||
let after = a:0 ? a:1 : ''
|
||||
let pattern = substitute(a:pattern, '^[~$][^\/]*', '\=expand(submatch(0))', '')
|
||||
if pattern =~# '{[^{}]\+}'
|
||||
let [pre, pat, post] = split(substitute(pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1)
|
||||
let found = map(split(pat, ',', 1), 'pre.v:val.post')
|
||||
let results = []
|
||||
for pattern in found
|
||||
call extend(results, pathogen#expand(pattern))
|
||||
endfor
|
||||
elseif pattern =~# '{}'
|
||||
let pat = matchstr(pattern, '^.*{}[^*]*\%($\|[\\/]\)')
|
||||
let post = pattern[strlen(pat) : -1]
|
||||
let results = map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post')
|
||||
else
|
||||
let results = [pattern]
|
||||
endif
|
||||
let vf = pathogen#slash() . 'vimfiles'
|
||||
call map(results, 'v:val =~# "\\*" ? v:val.after : isdirectory(v:val.vf.after) ? v:val.vf.after : isdirectory(v:val.after) ? v:val.after : ""')
|
||||
return filter(results, '!empty(v:val)')
|
||||
endfunction
|
||||
|
||||
" \ on Windows unless shellslash is set, / everywhere else.
|
||||
function! pathogen#slash() abort
|
||||
return !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||
endfunction
|
||||
|
||||
function! pathogen#separator() abort
|
||||
return pathogen#slash()
|
||||
endfunction
|
||||
|
||||
" Convenience wrapper around glob() which returns a list.
|
||||
function! pathogen#glob(pattern) abort
|
||||
let files = split(glob(a:pattern),"\n")
|
||||
return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")')
|
||||
endfunction
|
||||
|
||||
" Like pathogen#glob(), only limit the results to directories.
|
||||
function! pathogen#glob_directories(pattern) abort
|
||||
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
|
||||
endfunction
|
||||
|
||||
" Remove duplicates from a list.
|
||||
function! pathogen#uniq(list) abort
|
||||
let i = 0
|
||||
let seen = {}
|
||||
while i < len(a:list)
|
||||
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
|
||||
call remove(a:list,i)
|
||||
elseif a:list[i] ==# ''
|
||||
let i += 1
|
||||
let empty = 1
|
||||
else
|
||||
let seen[a:list[i]] = 1
|
||||
let i += 1
|
||||
endif
|
||||
endwhile
|
||||
return a:list
|
||||
endfunction
|
||||
|
||||
" Backport of fnameescape().
|
||||
function! pathogen#fnameescape(string) abort
|
||||
if exists('*fnameescape')
|
||||
return fnameescape(a:string)
|
||||
elseif a:string ==# '-'
|
||||
return '\-'
|
||||
else
|
||||
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Like findfile(), but hardcoded to use the runtimepath.
|
||||
function! pathogen#runtime_findfile(file,count) abort
|
||||
let rtp = pathogen#join(1,pathogen#split(&rtp))
|
||||
let file = findfile(a:file,rtp,a:count)
|
||||
if file ==# ''
|
||||
return ''
|
||||
else
|
||||
return fnamemodify(file,':p')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':
|
2526
autoload/plug.vim
Normal file
2526
autoload/plug.vim
Normal file
File diff suppressed because it is too large
Load Diff
283
colors/kolor.vim
Normal file
283
colors/kolor.vim
Normal file
@ -0,0 +1,283 @@
|
||||
"
|
||||
"
|
||||
"
|
||||
"
|
||||
" dP dP
|
||||
" 88 88
|
||||
" 88 .dP .d8888b. 88 .d8888b. 88d888b.
|
||||
" 88888" 88' `88 88 88' `88 88' `88
|
||||
" 88 `8b. 88. .88 88 88. .88 88
|
||||
" dP `YP `88888P' dP `88888P' dP
|
||||
"
|
||||
"
|
||||
" ...when you need pro colors!
|
||||
"
|
||||
"
|
||||
"
|
||||
"
|
||||
" Name: kolor
|
||||
" Author: Alessandro Di Martino <aledimax@gmail.com>
|
||||
" Version: 1.4.2
|
||||
" URL: https://github.com/zeis/vim-kolor
|
||||
" License: MIT
|
||||
"
|
||||
" --------------------------------------------------------------------------
|
||||
" DESCRIPTION
|
||||
" --------------------------------------------------------------------------
|
||||
" Colorful Vim color scheme with 256 color terminal support.
|
||||
" Designed for optimal visibility and comfort.
|
||||
"
|
||||
" --------------------------------------------------------------------------
|
||||
" INSTALLATION
|
||||
" --------------------------------------------------------------------------
|
||||
" Copy kolor.vim to ~/.vim/colors (on Win <your-vim-dir>\vimfiles\colors).
|
||||
" Then add the line "colorscheme kolor" in your vimrc file, and restart Vim.
|
||||
"
|
||||
" --------------------------------------------------------------------------
|
||||
" OPTIONS
|
||||
" --------------------------------------------------------------------------
|
||||
" Options must be set before the line "colorscheme kolor" in your vimrc.
|
||||
"
|
||||
" Enable italic. Default: 1
|
||||
" let g:kolor_italic=1
|
||||
"
|
||||
" Enable bold. Default: 1
|
||||
" let g:kolor_bold=1
|
||||
"
|
||||
" Enable underline. Default: 0
|
||||
" let g:kolor_underlined=0
|
||||
"
|
||||
" Gray 'MatchParen' color. Default: 0
|
||||
" let g:kolor_alternative_matchparen=0
|
||||
"
|
||||
" White foreground 'MatchParen' color that might work better with some terminals. Default: 0
|
||||
" let g:kolor_inverted_matchparen=0
|
||||
"
|
||||
" --------------------------------------------------------------------------
|
||||
" DONATIONS
|
||||
" --------------------------------------------------------------------------
|
||||
" This color scheme is dedicated to the the Ugandan children (How about
|
||||
" donating to them? see Vim's website).
|
||||
|
||||
|
||||
highlight clear
|
||||
set background=dark
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
let g:colors_name="kolor"
|
||||
|
||||
|
||||
if !exists("g:kolor_bold")
|
||||
let g:kolor_bold=1
|
||||
endif
|
||||
if !exists("g:kolor_italic")
|
||||
let g:kolor_italic=1
|
||||
endif
|
||||
if !exists("g:kolor_underlined")
|
||||
let g:kolor_underlined=0
|
||||
endif
|
||||
if !exists("g:kolor_alternative_matchparen")
|
||||
let g:kolor_alternative_matchparen=0
|
||||
endif
|
||||
if !exists("g:kolor_inverted_matchparen")
|
||||
let g:kolor_inverted_matchparen=0
|
||||
endif
|
||||
|
||||
highlight Normal guifg=#c6c6c6 guibg=#2e2d2b gui=none
|
||||
highlight SpecialKey guifg=#7eaefd guibg=NONE gui=none
|
||||
highlight NonText guifg=#7eaefd guibg=#2e2d2b gui=none
|
||||
highlight Directory guifg=#e6987a guibg=NONE gui=none
|
||||
highlight IncSearch guifg=#000000 guibg=#ff5fd7 gui=none
|
||||
highlight LineNr guifg=#808080 guibg=#242322 gui=none
|
||||
highlight StatusLine guifg=#000000 guibg=#9e9e9e gui=none
|
||||
highlight StatusLineNC guifg=#b2b2b2 guibg=#4a4a4a gui=none
|
||||
highlight VertSplit guifg=#4a4a4a guibg=#4a4a4a gui=none
|
||||
highlight Visual guifg=#e2e2e2 guibg=#5c5c5c gui=none
|
||||
highlight VisualNOS guifg=#e2e2e2 guibg=NONE gui=underline
|
||||
highlight WildMenu guifg=#000000 guibg=#75d7d8 gui=none
|
||||
highlight Folded guifg=#8787af guibg=#242322 gui=none
|
||||
highlight FoldColumn guifg=#8787af guibg=#242322 gui=none
|
||||
highlight DiffAdd guifg=NONE guibg=#005154 gui=none
|
||||
highlight DiffChange guifg=NONE guibg=#4f3598 gui=none
|
||||
highlight DiffDelete guifg=#d96e8a guibg=#72323f gui=none
|
||||
highlight DiffText guifg=#000000 guibg=#75d7d8 gui=none
|
||||
highlight SignColumn guifg=#808080 guibg=#2e2d2b gui=none
|
||||
highlight Conceal guifg=#c6c6c6 guibg=NONE gui=none
|
||||
highlight SpellBad guifg=NONE guibg=NONE gui=undercurl guisp=#d96e8a
|
||||
highlight SpellCap guifg=NONE guibg=NONE gui=undercurl guisp=#75d7d8
|
||||
highlight SpellRare guifg=NONE guibg=NONE gui=undercurl guisp=#8cd991
|
||||
highlight SpellLocal guifg=NONE guibg=NONE gui=undercurl guisp=#dbc570
|
||||
highlight Pmenu guifg=#c6c6c6 guibg=#242322 gui=none
|
||||
highlight PmenuSel guifg=#000000 guibg=#7eaefd gui=none
|
||||
highlight PmenuSbar guifg=#ff5fd7 guibg=#262626 gui=none
|
||||
highlight PmenuSbar guifg=#ff5fd7 guibg=#2e2d2b gui=none
|
||||
highlight PmenuThumb guifg=#2e2d2b guibg=#ff5fd7 gui=none
|
||||
highlight TabLine guifg=#808080 guibg=#242322 gui=none
|
||||
highlight TablineSel guifg=#000000 guibg=#9e9e9e gui=none
|
||||
highlight TablineFill guifg=#808080 guibg=#242322 gui=none
|
||||
highlight CursorColumn guifg=NONE guibg=#383734 gui=none
|
||||
highlight CursorLine guifg=NONE guibg=#383734 gui=none
|
||||
highlight ColorColumn guifg=NONE guibg=#383734 gui=none
|
||||
highlight Cursor guifg=#000000 guibg=#e2e2e2 gui=none
|
||||
highlight lCursor guifg=#000000 guibg=#e2e2e2 gui=none
|
||||
highlight Special guifg=#ce6bd0 guibg=NONE gui=none
|
||||
highlight Identifier guifg=#75d7d8 guibg=NONE gui=none
|
||||
highlight PreProc guifg=#dbc570 guibg=NONE gui=none
|
||||
highlight Number guifg=#dbc570 guibg=NONE gui=none
|
||||
highlight Function guifg=#88da77 guibg=NONE gui=none
|
||||
highlight htmlEndTag guifg=#88da77 guibg=NONE gui=none
|
||||
highlight xmlEndTag guifg=#88da77 guibg=NONE gui=none
|
||||
if g:kolor_bold==0
|
||||
highlight ErrorMsg guifg=#d96e8a guibg=NONE gui=none
|
||||
highlight Search guifg=#ff8901 guibg=NONE gui=none
|
||||
highlight MoreMsg guifg=#8cd991 guibg=NONE gui=none
|
||||
highlight ModeMsg guifg=#e2e2e2 guibg=NONE gui=none
|
||||
highlight CursorLineNr guifg=#e2e2e2 guibg=#383734 gui=none
|
||||
highlight Question guifg=#75d7d8 guibg=NONE gui=none
|
||||
highlight WarningMsg guifg=#ff5fd7 guibg=NONE gui=none
|
||||
highlight Statement guifg=#d96e8a guibg=NONE gui=none
|
||||
highlight Type guifg=#a080ea guibg=NONE gui=none
|
||||
highlight Error guifg=#d96e8a guibg=NONE gui=none
|
||||
highlight Todo guifg=#75d7d8 guibg=NONE gui=none
|
||||
highlight Keyword guifg=#d96e8a guibg=NONE gui=none
|
||||
highlight Title guifg=#a080ea guibg=NONE gui=none
|
||||
if g:kolor_alternative_matchparen==0 && g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen guifg=#2e2c29 guibg=#ff5fd7 gui=none
|
||||
elseif g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen guifg=#2e2c29 guibg=#9e9e9e gui=none
|
||||
else
|
||||
highlight MatchParen guifg=#ffffff guibg=#ff0087 gui=none
|
||||
endif
|
||||
else
|
||||
highlight ErrorMsg guifg=#d96e8a guibg=NONE gui=bold
|
||||
highlight Search guifg=#ff8901 guibg=NONE gui=bold
|
||||
highlight MoreMsg guifg=#8cd991 guibg=NONE gui=bold
|
||||
highlight ModeMsg guifg=#e2e2e2 guibg=NONE gui=bold
|
||||
highlight CursorLineNr guifg=#e2e2e2 guibg=#383734 gui=bold
|
||||
highlight Question guifg=#75d7d8 guibg=NONE gui=bold
|
||||
highlight WarningMsg guifg=#ff5fd7 guibg=NONE gui=bold
|
||||
highlight Statement guifg=#d96e8a guibg=NONE gui=bold
|
||||
highlight Type guifg=#a080ea guibg=NONE gui=bold
|
||||
highlight Error guifg=#d96e8a guibg=NONE gui=bold
|
||||
highlight Todo guifg=#75d7d8 guibg=NONE gui=bold
|
||||
highlight Keyword guifg=#d96e8a guibg=NONE gui=bold
|
||||
highlight Title guifg=#a080ea guibg=NONE gui=bold
|
||||
if g:kolor_alternative_matchparen==0 && g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen guifg=#2e2c29 guibg=#ff5fd7 gui=bold
|
||||
elseif g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen guifg=#2e2c29 guibg=#9e9e9e gui=bold
|
||||
else
|
||||
highlight MatchParen guifg=#ffffff guibg=#ff0087 gui=bold
|
||||
endif
|
||||
endif
|
||||
if g:kolor_italic==0
|
||||
highlight Comment guifg=#808080 guibg=NONE gui=none
|
||||
highlight Constant guifg=#e6987a guibg=NONE gui=none
|
||||
highlight String guifg=#ad8788 guibg=NONE gui=none
|
||||
else
|
||||
highlight Comment guifg=#808080 guibg=NONE gui=italic
|
||||
highlight Constant guifg=#e6987a guibg=NONE gui=italic
|
||||
highlight String guifg=#ad8788 guibg=NONE gui=italic
|
||||
endif
|
||||
if g:kolor_underlined==0
|
||||
highlight Underlined guifg=#7eaefd guibg=NONE gui=none
|
||||
else
|
||||
highlight Underlined guifg=#7eaefd guibg=NONE gui=underline
|
||||
endif
|
||||
|
||||
if &t_Co > 255
|
||||
highlight Normal ctermfg=251 ctermbg=235 cterm=none
|
||||
highlight SpecialKey ctermfg=111 ctermbg=none cterm=none
|
||||
highlight NonText ctermfg=111 ctermbg=235 cterm=none
|
||||
highlight Directory ctermfg=180 ctermbg=none cterm=none
|
||||
highlight IncSearch ctermfg=0 ctermbg=206 cterm=none
|
||||
highlight LineNr ctermfg=244 ctermbg=234 cterm=none
|
||||
highlight StatusLine ctermfg=0 ctermbg=247 cterm=none
|
||||
highlight StatusLineNC ctermfg=247 ctermbg=238 cterm=none
|
||||
highlight VertSplit ctermfg=238 ctermbg=238 cterm=none
|
||||
highlight Visual ctermfg=254 ctermbg=240 cterm=none
|
||||
highlight VisualNOS ctermfg=254 ctermbg=none cterm=underline
|
||||
highlight WildMenu ctermfg=0 ctermbg=80 cterm=none
|
||||
highlight Folded ctermfg=103 ctermbg=234 cterm=none
|
||||
highlight FoldColumn ctermfg=103 ctermbg=234 cterm=none
|
||||
highlight DiffAdd ctermfg=none ctermbg=23 cterm=none
|
||||
highlight DiffChange ctermfg=none ctermbg=56 cterm=none
|
||||
highlight DiffDelete ctermfg=168 ctermbg=96 cterm=none
|
||||
highlight DiffText ctermfg=0 ctermbg=80 cterm=none
|
||||
highlight SignColumn ctermfg=244 ctermbg=235 cterm=none
|
||||
highlight Conceal ctermfg=251 ctermbg=none cterm=none
|
||||
highlight SpellBad ctermfg=168 ctermbg=none cterm=underline
|
||||
highlight SpellCap ctermfg=80 ctermbg=none cterm=underline
|
||||
highlight SpellRare ctermfg=121 ctermbg=none cterm=underline
|
||||
highlight SpellLocal ctermfg=186 ctermbg=none cterm=underline
|
||||
highlight Pmenu ctermfg=251 ctermbg=234 cterm=none
|
||||
highlight PmenuSel ctermfg=0 ctermbg=111 cterm=none
|
||||
highlight PmenuSbar ctermfg=206 ctermbg=235 cterm=none
|
||||
highlight PmenuThumb ctermfg=235 ctermbg=206 cterm=none
|
||||
highlight TabLine ctermfg=244 ctermbg=234 cterm=none
|
||||
highlight TablineSel ctermfg=0 ctermbg=247 cterm=none
|
||||
highlight TablineFill ctermfg=244 ctermbg=234 cterm=none
|
||||
highlight CursorColumn ctermfg=none ctermbg=236 cterm=none
|
||||
highlight CursorLine ctermfg=none ctermbg=236 cterm=none
|
||||
highlight ColorColumn ctermfg=none ctermbg=236 cterm=none
|
||||
highlight Cursor ctermfg=0 ctermbg=254 cterm=none
|
||||
highlight Comment ctermfg=244 ctermbg=none cterm=none
|
||||
highlight Constant ctermfg=180 ctermbg=none cterm=none
|
||||
highlight Special ctermfg=176 ctermbg=none cterm=none
|
||||
highlight Identifier ctermfg=80 ctermbg=none cterm=none
|
||||
highlight PreProc ctermfg=186 ctermbg=none cterm=none
|
||||
highlight String ctermfg=138 ctermbg=none cterm=none
|
||||
highlight Number ctermfg=186 ctermbg=none cterm=none
|
||||
highlight Function ctermfg=114 ctermbg=none cterm=none
|
||||
highlight htmlEndTag ctermfg=114 ctermbg=none cterm=none
|
||||
highlight xmlEndTag ctermfg=114 ctermbg=none cterm=none
|
||||
if g:kolor_bold==0
|
||||
highlight ErrorMsg ctermfg=168 ctermbg=none cterm=none
|
||||
highlight Search ctermfg=208 ctermbg=none cterm=none
|
||||
highlight MoreMsg ctermfg=121 ctermbg=none cterm=none
|
||||
highlight ModeMsg ctermfg=254 ctermbg=none cterm=none
|
||||
highlight CursorLineNr ctermfg=254 ctermbg=236 cterm=none
|
||||
highlight Question ctermfg=80 ctermbg=none cterm=none
|
||||
highlight WarningMsg ctermfg=206 ctermbg=none cterm=none
|
||||
highlight Statement ctermfg=168 ctermbg=none cterm=none
|
||||
highlight Type ctermfg=141 ctermbg=none cterm=none
|
||||
highlight Error ctermfg=168 ctermbg=none cterm=none
|
||||
highlight Todo ctermfg=80 ctermbg=none cterm=none
|
||||
highlight Keyword ctermfg=168 ctermbg=none cterm=none
|
||||
highlight Title ctermfg=141 ctermbg=none cterm=none
|
||||
if g:kolor_alternative_matchparen==0 && g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen ctermfg=235 ctermbg=206 cterm=none
|
||||
elseif g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen ctermfg=235 ctermbg=247 cterm=none
|
||||
else
|
||||
highlight MatchParen ctermfg=255 ctermbg=198 cterm=none
|
||||
endif
|
||||
else
|
||||
highlight ErrorMsg ctermfg=168 ctermbg=none cterm=bold
|
||||
highlight Search ctermfg=208 ctermbg=none cterm=bold
|
||||
highlight MoreMsg ctermfg=121 ctermbg=none cterm=bold
|
||||
highlight ModeMsg ctermfg=254 ctermbg=none cterm=bold
|
||||
highlight CursorLineNr ctermfg=254 ctermbg=236 cterm=bold
|
||||
highlight Question ctermfg=80 ctermbg=none cterm=bold
|
||||
highlight WarningMsg ctermfg=206 ctermbg=none cterm=bold
|
||||
highlight Statement ctermfg=168 ctermbg=none cterm=bold
|
||||
highlight Type ctermfg=141 ctermbg=none cterm=bold
|
||||
highlight Error ctermfg=168 ctermbg=none cterm=bold
|
||||
highlight Todo ctermfg=80 ctermbg=none cterm=bold
|
||||
highlight Keyword ctermfg=168 ctermbg=none cterm=bold
|
||||
highlight Title ctermfg=141 ctermbg=none cterm=bold
|
||||
if g:kolor_alternative_matchparen==0 && g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen ctermfg=235 ctermbg=206 cterm=bold
|
||||
elseif g:kolor_inverted_matchparen==0
|
||||
highlight MatchParen ctermfg=235 ctermbg=247 cterm=bold
|
||||
else
|
||||
highlight MatchParen ctermfg=255 ctermbg=198 cterm=bold
|
||||
endif
|
||||
endif
|
||||
if g:kolor_underlined==0
|
||||
highlight Underlined ctermfg=111 ctermbg=none cterm=none
|
||||
else
|
||||
highlight Underlined ctermfg=111 ctermbg=none cterm=underline
|
||||
endif
|
||||
end
|
BIN
spell/en.utf-8.spl
Normal file
BIN
spell/en.utf-8.spl
Normal file
Binary file not shown.
BIN
spell/en.utf-8.sug
Normal file
BIN
spell/en.utf-8.sug
Normal file
Binary file not shown.
BIN
spell/ru.utf-8.spl
Normal file
BIN
spell/ru.utf-8.spl
Normal file
Binary file not shown.
BIN
spell/ru.utf-8.sug
Normal file
BIN
spell/ru.utf-8.sug
Normal file
Binary file not shown.
594
vimrc
Normal file
594
vimrc
Normal file
@ -0,0 +1,594 @@
|
||||
" vim: fdm=marker
|
||||
|
||||
"{{{ Клавиши Leader и LocalLeader
|
||||
let mapleader="\<Space>"
|
||||
let maplocalleader=","
|
||||
|
||||
" Таймауты для ввода комбинаций, использующих клавиши Leader и LocalLeader
|
||||
set timeout timeoutlen=5000 ttimeoutlen=100
|
||||
"}}}
|
||||
|
||||
" https://github.com/tpope/vim-pathogen
|
||||
call pathogen#infect()
|
||||
|
||||
|
||||
" https://github.com/junegunn/vim-plug
|
||||
" Менеджер плагинов "
|
||||
call plug#begin('~/.vim/plugged')
|
||||
|
||||
" https://github.com/lyokha/vim-xkbswitch
|
||||
" Автоматическое переключение раскладки клавиатуры в режиме вставки "
|
||||
Plug 'lyokha/vim-xkbswitch'
|
||||
|
||||
" https://github.com/itchyny/lightline.vim
|
||||
" Настраиваемая строка состояния "
|
||||
" https://github.com/taohexxx/lightline-buffer
|
||||
" Строка с названиями буферов "
|
||||
Plug 'itchyny/lightline.vim' | Plug 'taohexxx/lightline-buffer'
|
||||
|
||||
" https://github.com/oblitum/rainbow
|
||||
" Разноцветные скобки "
|
||||
Plug 'oblitum/rainbow'
|
||||
|
||||
" https://github.com/ntpeters/vim-better-whitespace
|
||||
" Подсветка лишних пробельных символов "
|
||||
Plug 'ntpeters/vim-better-whitespace'
|
||||
|
||||
" https://github.com/wincent/terminus
|
||||
" Улучшенная поддержка терминала "
|
||||
Plug 'wincent/terminus'
|
||||
|
||||
" https://www.vim.org/scripts/script.php?script_id=231
|
||||
" Tab для логической разметки, Space для выравнивания "
|
||||
Plug 'dpc/vim-smarttabs'
|
||||
|
||||
" https://github.com/ctrlpvim/ctrlp.vim
|
||||
" Поиск файлов и буферов "
|
||||
Plug 'ctrlpvim/ctrlp.vim'
|
||||
|
||||
" https://github.com/easymotion/vim-easymotion
|
||||
" Быстрая навигация "
|
||||
Plug 'easymotion/vim-easymotion'
|
||||
|
||||
" https://github.com/haya14busa/incsearch.vim
|
||||
" Поиск "
|
||||
Plug 'haya14busa/incsearch.vim' | Plug 'haya14busa/incsearch-easymotion.vim'
|
||||
|
||||
" https://github.com/moll/vim-bbye
|
||||
" Удаление буферов с сохранением расположения окон "
|
||||
Plug 'moll/vim-bbye'
|
||||
|
||||
" https://github.com/sstallion/vim-wildignore
|
||||
" Чтение масок файлов из файлов wildignore и suffixes "
|
||||
Plug 'sstallion/vim-wildignore'
|
||||
|
||||
" https://github.com/tpope/vim-fugitive
|
||||
" Git "
|
||||
" Plug 'tpope/vim-fugitive'
|
||||
|
||||
" https://github.com/airblade/vim-gitgutter
|
||||
" Отличия от Git в левой колонке "
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
|
||||
" https://github.com/neomake/neomake
|
||||
" Проверка синтаксиса в фоновом режиме "
|
||||
Plug 'neomake/neomake'
|
||||
|
||||
" https://github.com/stephpy/vim-yaml
|
||||
" YAML "
|
||||
Plug 'stephpy/vim-yaml'
|
||||
|
||||
" https://github.com/plasticboy/vim-markdown
|
||||
" Markdown "
|
||||
Plug 'plasticboy/vim-markdown'
|
||||
|
||||
" https://github.com/SirVer/ultisnips
|
||||
" Вставка фрагментов кода "
|
||||
Plug 'sirver/ultisnips'
|
||||
|
||||
" https://github.com/honza/vim-snippets
|
||||
" Библиотека фрагментов кода "
|
||||
Plug 'honza/vim-snippets'
|
||||
|
||||
" https://github.com/aklt/plantuml-syntax
|
||||
" Plantuml "
|
||||
Plug 'aklt/plantuml-syntax'
|
||||
|
||||
" https://github.com/dhruvasagar/vim-table-mode
|
||||
" Создание таблиц "
|
||||
Plug 'dhruvasagar/vim-table-mode'
|
||||
|
||||
" https://github.com/junegunn/vim-easy-align
|
||||
" Выравнивание строк "
|
||||
Plug 'junegunn/vim-easy-align'
|
||||
|
||||
" Перечисление плагинов заканчивается здесь "
|
||||
call plug#end()
|
||||
|
||||
|
||||
"{{{ Базовые настройки
|
||||
" Включена подсветка синтаксиса "
|
||||
syntax on
|
||||
filetype plugin indent on
|
||||
|
||||
" Отключен режим совместимости "
|
||||
set nocompatible
|
||||
|
||||
" Проверка изменения файла другой программой "
|
||||
set autoread
|
||||
|
||||
" Автоматическая запись перед make, внешними командами и т.п. "
|
||||
set autowrite
|
||||
|
||||
" Показывать парные скобки "
|
||||
set showmatch
|
||||
|
||||
" Размер табуляции "
|
||||
set tabstop=4
|
||||
|
||||
" Размер сдвига при нажатии на клавиши << и >> "
|
||||
set shiftwidth=4
|
||||
|
||||
" Количество пробелов, на которое будет заменена табуляция "
|
||||
set softtabstop=4
|
||||
|
||||
" Не заменять <TAB> на пробелы "
|
||||
set noexpandtab
|
||||
|
||||
" Визуальный перенос строк "
|
||||
set wrap
|
||||
|
||||
" Визуальный перенос строк по словам, а не по буквам "
|
||||
set linebreak
|
||||
|
||||
" Визуальный перенос строки с учётом отступов "
|
||||
set breakindent
|
||||
|
||||
" Подсветка выражения, которое ищется в тексте "
|
||||
set hlsearch
|
||||
|
||||
" Переход на найденный текст в процессе набора строки "
|
||||
set incsearch
|
||||
|
||||
" Не останавливать поиск при достижении конца файла "
|
||||
set wrapscan
|
||||
|
||||
" Игнорировать регистр букв при поиске, если в шаблоне нет заглавных букв "
|
||||
set smartcase
|
||||
|
||||
" Копирует отступ от предыдущей строки "
|
||||
set autoindent
|
||||
|
||||
" Автоматическая расстановка отступов "
|
||||
set smartindent
|
||||
|
||||
" Кодировка внутри Vim "
|
||||
set encoding=utf-8
|
||||
|
||||
" Кодировка терминала "
|
||||
set termencoding=utf-8
|
||||
|
||||
" Кодировка для сохраняемого файла "
|
||||
set fileencoding=utf-8
|
||||
|
||||
" Список предполагаемых кодировок в порядке предпочтения "
|
||||
set fileencodings=utf8,koi8r,cp1251,cp866,latin1,ucs-2le
|
||||
|
||||
" Включаем мышку даже в текстовом режиме "
|
||||
" (без этого символы табуляции раскладываются в кучу пробелов) "
|
||||
set mouse=a
|
||||
|
||||
" Модель поведения правой кнопки мыши "
|
||||
set mousemodel=popup
|
||||
|
||||
" Тип переноса строк "
|
||||
set fileformat=unix
|
||||
|
||||
" В графическом режиме: убрать меню "
|
||||
set guioptions-=m
|
||||
|
||||
" В графическом режиме: убрать панель инструментов "
|
||||
set guioptions-=T
|
||||
|
||||
" В графическом режиме: убрать прокрутку справа "
|
||||
set guioptions-=r
|
||||
|
||||
" В графическом режиме: убрать прокрутку слева "
|
||||
set guioptions-=L
|
||||
|
||||
" В графическом режиме: отключить графические вкладки "
|
||||
set guioptions-=e
|
||||
|
||||
" Шрифт в графическом режиме "
|
||||
set guifont=PragmataPro\ 10
|
||||
|
||||
" Количество отображаемых строк над/под курсором "
|
||||
set scrolloff=6
|
||||
|
||||
" Количество отображаемых колонок слева/справа от курсора "
|
||||
set sidescrolloff=5
|
||||
|
||||
" Нумерация строк включена "
|
||||
set number
|
||||
|
||||
" Нумерация строк абсолютная "
|
||||
set nornu
|
||||
|
||||
" Использовать меню в статусной строке "
|
||||
set wildmenu
|
||||
|
||||
" Клавиша для переключения между пунктами меню "
|
||||
set wildcharm=<Tab>
|
||||
|
||||
" Всегда отображать статусную строку для каждого окна "
|
||||
set laststatus=2
|
||||
|
||||
" Отображение набираемой в данный момент команды в правом нижнем углу экрана "
|
||||
set showcmd
|
||||
|
||||
" Пробельные символы "
|
||||
set listchars=tab:>·,trail:~,extends:>,precedes:<,space:␣
|
||||
|
||||
" Включение отображения пробельных символов "
|
||||
set list
|
||||
|
||||
" Копирование выравнивания от предыдущей строки "
|
||||
set copyindent
|
||||
"}}}
|
||||
|
||||
"{{{ Раскладки клавиатуры
|
||||
let g:XkbSwitchEnabled = 1
|
||||
let g:XkbSwitchNLayout = 'us'
|
||||
let g:XkbSwitchIMappings = ['ru']
|
||||
let g:XkbSwitchIMappingsTr = {
|
||||
\ 'ru':
|
||||
\ {'<': 'qwertyuiop[]asdfghjkl;''zxcvbnm,.`/'.
|
||||
\ 'QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~@#$^&|',
|
||||
\ '>': 'йцукенгшщзхъфывапролджэячсмитьбюё.'.
|
||||
\ 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё"№;:?/'}
|
||||
\ }
|
||||
let g:XkbSwitchSkipIMappings = {
|
||||
\ 'c' : ['.', '>', ':', '{<CR>', '/*', '/*<CR>'],
|
||||
\ 'cpp' : ['.', '>', ':', '{<CR>', '/*', '/*<CR>'],
|
||||
\ 'markdown' : ['[', ']', '{', '}', "'", '"', '`', '~']
|
||||
\ }
|
||||
"}}}
|
||||
|
||||
"{{{ Цветовая схема kolor https://github.com/zeis/vim-kolor/
|
||||
" Enable italic. Default: 1
|
||||
let g:kolor_italic=0
|
||||
|
||||
" Enable bold. Default: 1
|
||||
let g:kolor_bold=1
|
||||
|
||||
" Enable underline. Default: 0
|
||||
let g:kolor_underlined=0
|
||||
|
||||
" Gray 'MatchParen' color. Default: 0
|
||||
let g:kolor_alternative_matchparen=0
|
||||
|
||||
" White foreground 'MatchParen' color that might work better with some terminals. Default: 0
|
||||
let g:kolor_inverted_matchparen=0
|
||||
|
||||
colorscheme kolor
|
||||
|
||||
highlight SpecialKey guifg=#585858 guibg=NONE gui=none
|
||||
highlight NonText guifg=#585858 guibg=#2e2d2b gui=none
|
||||
|
||||
if &t_Co > 255
|
||||
highlight SpecialKey ctermfg=240 ctermbg=none cterm=none
|
||||
highlight NonText ctermfg=240 ctermbg=235 cterm=none
|
||||
endif
|
||||
|
||||
" Разноцветные скобки для определённых типов файлов
|
||||
autocmd FileType bash,python,vim,html,c,cpp,objc,objcpp call rainbow#load()
|
||||
"}}}
|
||||
|
||||
"{{{ Подсветка лишних пробельных символов
|
||||
let g:better_whitespace_enabled=1
|
||||
let g:strip_whitelines_at_eof=1
|
||||
let g:strip_whitespace_on_save=0
|
||||
autocmd FileType javascript,c,cpp,java,html,ruby,vim,python EnableStripWhitespaceOnSave
|
||||
"}}}
|
||||
|
||||
"{{{1 Статусная строка
|
||||
" Всегда отображать статусную строку для каждого окна "
|
||||
set laststatus=2
|
||||
|
||||
" Всегда отображать перечень буферов "
|
||||
set showtabline=2
|
||||
" \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ],
|
||||
" \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}',
|
||||
" \ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())',
|
||||
|
||||
" Lightline
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
\ 'left': [ [ 'filetype' ],
|
||||
\ [ 'mode', 'paste' ],
|
||||
\ [ 'readonly', 'filename', 'modified' ] ],
|
||||
\ 'right': [ [ 'character', 'lineinfo', 'percent' ], [ 'fileformat', 'fileencoding' ], [ 'neomake_errors', 'neomake_warnings' ] ]
|
||||
\ },
|
||||
\ 'tabline': {
|
||||
\ 'left': [ [ 'bufferinfo' ],
|
||||
\ [ 'separator' ],
|
||||
\ [ 'bufferbefore', 'buffercurrent', 'bufferafter' ], ],
|
||||
\ 'right': [ [ 'close' ], ],
|
||||
\ 'separator': { 'left': '|', 'right': '|' },
|
||||
\ },
|
||||
\ 'component': {
|
||||
\ 'readonly': '%{&filetype=="help"?"":&readonly?"⭤":""}',
|
||||
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
|
||||
\ 'character': '%04B',
|
||||
\ 'separator': '|',
|
||||
\ },
|
||||
\ 'component_function': {
|
||||
\ 'mode': 'LightlineMode',
|
||||
\ 'bufferinfo': 'lightline#buffer#bufferinfo',
|
||||
\ },
|
||||
\ 'component_visible_condition': {
|
||||
\ 'readonly': '(&filetype!="help"&& &readonly)',
|
||||
\ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
|
||||
\ 'neomake_errors': '(exists(":Neomake") && ((get(neomake#statusline#QflistCounts(), "E", 0) + get(neomake#statusline#LoclistCounts(), "E", 0)) > 0)',
|
||||
\ 'neomake_warnings': '(exists(":Neomake") && ((get(neomake#statusline#QflistCounts(), "W", 0) + get(neomake#statusline#LoclistCounts(), "W", 0)) > 0)',
|
||||
\ 'character': '1'
|
||||
\ },
|
||||
\ 'component_expand': {
|
||||
\ 'buffercurrent': 'lightline#buffer#buffercurrent',
|
||||
\ 'bufferbefore': 'lightline#buffer#bufferbefore',
|
||||
\ 'bufferafter': 'lightline#buffer#bufferafter',
|
||||
\ 'neomake_errors': 'LightLineNeomakeErrors',
|
||||
\ 'neomake_warnings': 'LightLineNeomakeWarnings',
|
||||
\ },
|
||||
\ 'component_type': {
|
||||
\ 'buffercurrent': 'tabsel',
|
||||
\ 'bufferbefore': 'raw',
|
||||
\ 'bufferafter': 'raw',
|
||||
\ },
|
||||
\ 'separator': { 'left': '', 'right': '' },
|
||||
\ 'subseparator': { 'left': '|', 'right': '|' },
|
||||
\ 'tabline_separator': { 'left': '', 'right': '' },
|
||||
\ 'tabline_subseparator': { 'left': '|', 'right': '|' },
|
||||
\ }
|
||||
|
||||
|
||||
function! LightlineMode()
|
||||
return expand('%:t') ==# '__Tagbar__' ? 'Tagbar':
|
||||
\ expand('%:t') ==# 'ControlP' ? 'CtrlP' :
|
||||
\ &filetype ==# 'unite' ? 'Unite' :
|
||||
\ &filetype ==# 'vimfiler' ? 'VimFiler' :
|
||||
\ &filetype ==# 'vimshell' ? 'VimShell' :
|
||||
\ winwidth(0) > 60 ? lightline#mode()[0:2] : ''
|
||||
endfunction
|
||||
|
||||
function! LightLineNeomakeErrors()
|
||||
if !exists(":Neomake") || ((get(neomake#statusline#QflistCounts(), "E", 0) + get(neomake#statusline#LoclistCounts(), "E", 0)) == 0)
|
||||
return ''
|
||||
endif
|
||||
return 'E:'.(get(neomake#statusline#LoclistCounts(), 'E', 0) + get(neomake#statusline#QflistCounts(), 'E', 0))
|
||||
endfunction
|
||||
|
||||
function! LightLineNeomakeWarnings()
|
||||
if !exists(":Neomake") || ((get(neomake#statusline#QflistCounts(), "W", 0) + get(neomake#statusline#LoclistCounts(), "W", 0)) == 0)
|
||||
return ''
|
||||
endif
|
||||
return 'W:'.(get(neomake#statusline#LoclistCounts(), 'W', 0) + get(neomake#statusline#QflistCounts(), 'W', 0))
|
||||
endfunction
|
||||
"1}}}
|
||||
|
||||
"{{{ Настройка CtrlP
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/](\.(git|hg|svn)|\_site)$',
|
||||
\ 'file': '\v\.(exe|so|dll|class|png|jpg|jpeg)$',
|
||||
\ 'link': 'some_bad_symbolic_links',
|
||||
\ }
|
||||
let g:ctrlp_follow_symlinks = 1
|
||||
|
||||
if executable('ag')
|
||||
" Use ag over grep
|
||||
set grepprg=ag\ --nogroup\ --nocolor
|
||||
|
||||
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
|
||||
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
|
||||
|
||||
" ag is fast enough that CtrlP doesn't need to cache
|
||||
let g:ctrlp_use_caching = 0
|
||||
endif
|
||||
|
||||
" Use a leader instead of the actual named binding
|
||||
nmap <leader>p :CtrlP<cr>
|
||||
|
||||
" Easy bindings for its various modes
|
||||
nmap <leader>bb :CtrlPBuffer<cr>
|
||||
nmap <leader>bm :CtrlPMixed<cr>
|
||||
nmap <leader>bs :CtrlPMRU<cr>"
|
||||
"1}}}
|
||||
|
||||
"{{{1 Перемещение по буферам
|
||||
nmap <Leader>bc :Bdelete<CR>
|
||||
nmap <Leader>bn :bnext!<CR>
|
||||
nmap <Leader>bp :bprev!<CR>
|
||||
" map <Leader>b<c> to navigate through tabs
|
||||
for c in range('1', '9')
|
||||
exec "nmap <Leader>b".c." :b!".c."<CR>"
|
||||
endfor
|
||||
"1}}}
|
||||
|
||||
" Переход к последней позиции при открытии файла "
|
||||
if has("autocmd")
|
||||
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
|
||||
endif
|
||||
|
||||
" Открыть файл настроек "
|
||||
nmap <silent> <leader>vie :e $MYVIMRC<CR>
|
||||
|
||||
" Перезагрузить файл настроек "
|
||||
nmap <silent> <leader>vis :so $MYVIMRC<CR>
|
||||
|
||||
augroup reload_vimrc
|
||||
autocmd!
|
||||
autocmd BufWritePost $MYVIMRC nested source $MYVIMRC
|
||||
augroup END
|
||||
|
||||
"{{{ Neomake
|
||||
" Запускать после записи или чтения файла
|
||||
call neomake#configure#automake('rw', 1000)
|
||||
|
||||
function! LocationNext()
|
||||
try
|
||||
lnext
|
||||
catch
|
||||
try | lfirst | catch | endtry
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
" <leader>e для перехода к следующей ошибке или предупреждению "
|
||||
nnoremap <leader>ee :call LocationNext()<cr>
|
||||
|
||||
let g:neomake_make_maker = {
|
||||
\ 'exe': 'make',
|
||||
\ 'args': ['-j', 'auto'],
|
||||
\ 'errorformat': '%f:%l:%c: %m',
|
||||
\ }
|
||||
"}}}
|
||||
|
||||
" Отмена автоматического комментирования кода при вставке из буфера "
|
||||
autocmd FileType * setlocal formatoptions-=cro
|
||||
|
||||
" Запрет TAB для markdown "
|
||||
autocmd FileType markdown set expandtab
|
||||
|
||||
autocmd FileType cmake setlocal ts=2 sts=2 sw=2 et
|
||||
|
||||
"{{{ Проверка орфографии для русского и английского
|
||||
setlocal spell spelllang=ru,en
|
||||
set spellsuggest=9
|
||||
|
||||
function! ChangeSpellLang()
|
||||
if &spelllang == "ru,en"
|
||||
setlocal spell spelllang=en
|
||||
echo "spelllang: en"
|
||||
elseif &spelllang == "en"
|
||||
setlocal spell spelllang=ru
|
||||
echo "spelllang: ru"
|
||||
elseif &spelllang == "ru"
|
||||
setlocal nospell spelllang=
|
||||
echo "spelllang: off"
|
||||
else
|
||||
setlocal spell spelllang=ru,en
|
||||
echo "spelllang: ru,en"
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Выбор набора языков для проверки орфографии "
|
||||
map <C-F7> :call ChangeSpellLang()<CR>
|
||||
imap <C-F7> <Esc>:call ChangeSpellLang()<CR>
|
||||
|
||||
" Выбор альтернатив для исправления "
|
||||
imap <F7> <C-X>s
|
||||
map <F7> z=
|
||||
"}}}
|
||||
|
||||
"{{{ Переключение варианта нумерации строк
|
||||
function! ChangeNumbering()
|
||||
if &number
|
||||
if &rnu
|
||||
set nornu
|
||||
else
|
||||
set nonumber
|
||||
endif
|
||||
else
|
||||
set number
|
||||
set rnu
|
||||
endif
|
||||
endfunc
|
||||
|
||||
map <LocalLeader># <Esc>:call ChangeNumbering()<CR>
|
||||
"}}}
|
||||
|
||||
"{{{ Меню для выбора кодировки файла
|
||||
menu Encoding.Open\ as\ KOI8-R :e ++enc=koi8-r<CR>
|
||||
menu Encoding.Open\ as\ CP1251 :e ++enc=cp1251<CR>
|
||||
menu Encoding.Open\ as\ CP866 :e ++enc=cp866<CR>
|
||||
menu Encoding.Open\ as\ LATIN1 :e ++enc=latin1<CR>
|
||||
menu Encoding.Open\ as\ UCS-2LE :e ++enc=ucs-2le<CR>
|
||||
menu Encoding.Open\ as\ UTF-8 :e ++enc=utf-8<CR>
|
||||
menu Encoding.Convert\ to\ UTF-8 :set fenc=utf-8<CR>
|
||||
|
||||
map <F12> :emenu Encoding.<Tab>
|
||||
"}}}
|
||||
|
||||
"{{{ Easymotion
|
||||
" Не включать команды по умолчанию "
|
||||
let g:EasyMotion_do_mapping = 0
|
||||
|
||||
" Умный регистр "
|
||||
let g:EasyMotion_smartcase = 1
|
||||
|
||||
" <Leader>ec{char} для перехода к {char} "
|
||||
map <Leader>ec <Plug>(easymotion-bd-f)
|
||||
nmap <Leader>ec <Plug>(easymotion-overwin-f)
|
||||
|
||||
" s{char}{char} для перехода к {char}{char} "
|
||||
nmap s <Plug>(easymotion-overwin-f2)
|
||||
|
||||
" Переход к строке "
|
||||
map <Leader>eg <Plug>(easymotion-bd-jk)
|
||||
nmap <Leader>eg <Plug>(easymotion-overwin-line)
|
||||
|
||||
" Переход к слову "
|
||||
map <Leader>ew <Plug>(easymotion-bd-w)
|
||||
nmap <Leader>ew <Plug>(easymotion-overwin-w)
|
||||
|
||||
" Навигация по строкам "
|
||||
map <Leader>el <Plug>(easymotion-lineforward)
|
||||
map <Leader>ej <Plug>(easymotion-j)
|
||||
map <Leader>ek <Plug>(easymotion-k)
|
||||
map <Leader>eh <Plug>(easymotion-linebackward)
|
||||
|
||||
" Повторить последний переход
|
||||
map <Leader>er <Plug>(easymotion-repeat)
|
||||
|
||||
" Замена стандартного поиска по тексту
|
||||
" map / <Plug>(easymotion-sn)
|
||||
" omap / <Plug>(easymotion-tn)
|
||||
|
||||
" These `n` & `N` mappings are options. You do not have to map `n` & `N` to EasyMotion.
|
||||
" Without these mappings, `n` & `N` works fine. (These mappings just provide
|
||||
" different highlight method and have some other features )
|
||||
" map n <Plug>(easymotion-next)
|
||||
" map N <Plug>(easymotion-prev)
|
||||
"}}}
|
||||
|
||||
"{{{ Incsearch
|
||||
map / <Plug>(incsearch-forward)
|
||||
map ? <Plug>(incsearch-backward)
|
||||
map g/ <Plug>(incsearch-stay)
|
||||
|
||||
map z/ <Plug>(incsearch-easymotion-/)
|
||||
map z? <Plug>(incsearch-easymotion-?)
|
||||
map zg/ <Plug>(incsearch-easymotion-stay)
|
||||
"}}}
|
||||
|
||||
"{{{ UltiSnips
|
||||
let g:UltiSnipsExpandTrigger="<tab>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<c-b>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
|
||||
let g:UltiSnipsEditSplit="vertical"
|
||||
"}}}
|
||||
|
||||
"{{{ Table Mode
|
||||
let g:table_mode_corner='|'
|
||||
let g:table_mode_corner_corner='+'
|
||||
let g:table_mode_header_fillchar='='
|
||||
"}}}
|
||||
|
||||
"{{{ Easy align
|
||||
" Start interactive EasyAlign in visual mode (e.g. vipga)
|
||||
xmap ga <Plug>(EasyAlign)
|
||||
|
||||
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
|
||||
nmap ga <Plug>(EasyAlign)
|
||||
"}}}
|
||||
|
9
wildignore
Normal file
9
wildignore
Normal file
@ -0,0 +1,9 @@
|
||||
*.aux,*.out,*.toc
|
||||
*.jpg,*.bmp,*.gif,*.png,*.webp
|
||||
*.mp3,*.ogg,*.opus
|
||||
*.avi,*.mkv
|
||||
*.luac
|
||||
*.o,*.obj,*.exe,*.dll,*.manifest
|
||||
*.pyc
|
||||
*.spl
|
||||
*.sw?
|
Loading…
x
Reference in New Issue
Block a user