first commit
This commit is contained in:
33
.gitmodules
vendored
Normal file
33
.gitmodules
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
[submodule "bundle/nerdtree"]
|
||||
path = bundle/nerdtree
|
||||
url = https://github.com/scrooloose/nerdtree.git
|
||||
[submodule "bundle/bufexplorer"]
|
||||
path = bundle/bufexplorer
|
||||
url = https://github.com/vim-scripts/bufexplorer.zip.git
|
||||
[submodule "bundle/syntastic"]
|
||||
path = bundle/syntastic
|
||||
url = https://github.com/vim-syntastic/syntastic.git
|
||||
[submodule "bundle/vim-go"]
|
||||
path = bundle/vim-go
|
||||
url = https://github.com/fatih/vim-go.git
|
||||
[submodule "bundle/supertab"]
|
||||
path = bundle/supertab
|
||||
url = https://github.com/ervandew/supertab.git
|
||||
[submodule "bundle/vim-fugitive"]
|
||||
path = bundle/vim-fugitive
|
||||
url = https://github.com/tpope/vim-fugitive.git
|
||||
[submodule "bundle/vim-gitgutter"]
|
||||
path = bundle/vim-gitgutter
|
||||
url = https://github.com/airblade/vim-gitgutter.git
|
||||
[submodule "bundle/auto-pairs"]
|
||||
path = bundle/auto-pairs
|
||||
url = https://github.com/jiangmiao/auto-pairs.git
|
||||
[submodule "bundle/vim-airline"]
|
||||
path = bundle/vim-airline
|
||||
url = https://github.com/vim-airline/vim-airline.git
|
||||
[submodule "bundle/ultisnips"]
|
||||
path = bundle/ultisnips
|
||||
url = https://github.com/SirVer/ultisnips.git
|
||||
[submodule "bundle/ctrlp.vim"]
|
||||
path = bundle/ctrlp.vim
|
||||
url = https://github.com/ctrlpvim/ctrlp.vim.git
|
||||
173
.vimrc
Normal file
173
.vimrc
Normal file
@@ -0,0 +1,173 @@
|
||||
|
||||
execute pathogen#infect()
|
||||
|
||||
syntax on
|
||||
set backup
|
||||
set backupdir=~/.vim/backup/
|
||||
set dir=~/.vim/tmp
|
||||
|
||||
set enc=utf-8
|
||||
set fenc=utf-8
|
||||
set termencoding=utf-8
|
||||
set nu
|
||||
set backspace=indent,eol,start "http://vimhelp.appspot.com/options.txt.html#%27backspace%27
|
||||
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set smartindent
|
||||
set smarttab
|
||||
set expandtab
|
||||
|
||||
set t_Co=256
|
||||
colorscheme wombat256mod
|
||||
"colorscheme foursee
|
||||
let mapleader = ","
|
||||
|
||||
filetype on
|
||||
filetype plugin on
|
||||
|
||||
map <C-n> :cnext<CR>
|
||||
map <C-m> :cprevious<CR>
|
||||
nnoremap <leader>a :cclose<CR>
|
||||
|
||||
" map splits
|
||||
nnoremap <C-J> <C-W><C-J>
|
||||
nnoremap <C-K> <C-W><C-K>
|
||||
nnoremap <C-L> <C-W><C-L>
|
||||
nnoremap <C-H> <C-W><C-H>
|
||||
"------------------------------------------------------------------------------
|
||||
" F4 - NERDTree
|
||||
"------------------------------------------------------------------------------
|
||||
let g:NERDTreeDirArrowExpandable = '~'
|
||||
let g:NERDTreeDirArrowCollapsible = '+'
|
||||
let g:NERDTreeMinimalUI = 1
|
||||
let g:NERDTreeAutoDeleteBuffer = 1
|
||||
let g:NERDTreeStatusLine = -1
|
||||
let NERDTreeIgnore=['\.pyc', '\.swp', '\.git$', '\.hg', '\.svn', '\.bzr']
|
||||
let NERDTreeShowHidden=1
|
||||
hi Normal ctermbg=233
|
||||
hi Directory cterm=bold ctermfg=blue
|
||||
nmap \e :NERDTreeToggle<CR>
|
||||
|
||||
" NERDTress File highlighting
|
||||
function! NERDTreeHighlightFile(extension, fg, bg)
|
||||
exec 'autocmd filetype nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg
|
||||
exec 'autocmd filetype nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
|
||||
endfunction
|
||||
|
||||
call NERDTreeHighlightFile('ini', '143', 'none')
|
||||
call NERDTreeHighlightFile('md', '184', 'none')
|
||||
call NERDTreeHighlightFile('yml', '208', 'none')
|
||||
call NERDTreeHighlightFile('log', '178', 'none')
|
||||
call NERDTreeHighlightFile('txt', '192', 'none')
|
||||
|
||||
call NERDTreeHighlightFile('png', '65', 'none')
|
||||
call NERDTreeHighlightFile('jpg', '66', 'none')
|
||||
call NERDTreeHighlightFile('ico', '73', 'none')
|
||||
|
||||
call NERDTreeHighlightFile('php', '250', 'none')
|
||||
call NERDTreeHighlightFile('js', '130', 'none')
|
||||
call NERDTreeHighlightFile('json', '166', 'none')
|
||||
call NERDTreeHighlightFile('html', '205', 'none')
|
||||
call NERDTreeHighlightFile('twig', '204', 'none')
|
||||
call NERDTreeHighlightFile('css', '210', 'none')
|
||||
call NERDTreeHighlightFile('scss', '210', 'none')
|
||||
call NERDTreeHighlightFile('xml', '170', 'none')
|
||||
|
||||
call NERDTreeHighlightFile('gitignore', '240', 'none')
|
||||
call NERDTreeHighlightFile('gitignore', '240', 'none')
|
||||
call NERDTreeHighlightFile('gitkeep', '240', 'none')
|
||||
call NERDTreeHighlightFile('htaccess', '240', 'none')
|
||||
call NERDTreeHighlightFile('lock', '245', 'none')
|
||||
|
||||
"let NERDTreeKeepTreeInNewTab=1
|
||||
|
||||
" show buffer list
|
||||
nmap \b <Esc>:BufExplorer<cr>
|
||||
|
||||
" Shift-Tab - next buffer
|
||||
nmap <S-Tab> :bn<cr>
|
||||
imap <S-Tab> <esc>:bn<cr>i
|
||||
vmap <S-Tab> <esc>:bn<cr>i
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" syntastic
|
||||
"------------------------------------------------------------------------------
|
||||
set statusline+=%#warningmsg#
|
||||
set statusline+=%{SyntasticStatuslineFlag()}
|
||||
set statusline+=%*
|
||||
|
||||
let g:syntastic_aggregate_errors = 1
|
||||
let g:syntastic_always_populate_loc_list = 1
|
||||
let g:syntastic_auto_loc_list = 1
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 0
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" SuperTab
|
||||
"------------------------------------------------------------------------------
|
||||
let g:SuperTabDefaultCompletionType = "context"
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" Vim-go
|
||||
"------------------------------------------------------------------------------
|
||||
let g:go_fmt_fail_silently = 1
|
||||
let g:go_fmt_command = "goimports" "Explicited the formater plugin (gofmt, goimports, goreturn...)
|
||||
let g:go_auto_type_info = 1
|
||||
|
||||
" Show a list of interfaces which is implemented by the type under your cursor
|
||||
au FileType go nmap <Leader>s <Plug>(go-implements)
|
||||
|
||||
" Show type info for the word under your cursor
|
||||
au FileType go nmap <Leader>i <Plug>(go-info)
|
||||
|
||||
" Open the relevant Godoc for the word under the cursor
|
||||
au FileType go nmap <Leader>gd <Plug>(go-doc)
|
||||
au FileType go nmap <Leader>gv <Plug>(go-doc-vertical)
|
||||
|
||||
" Open the Godoc in browser
|
||||
au FileType go nmap <Leader>gb <Plug>(go-doc-browser)
|
||||
|
||||
" Run/build/test/coverage
|
||||
au FileType go nmap <leader>r <Plug>(go-run)
|
||||
au FileType go nmap <leader>b <Plug>(go-build)
|
||||
au FileType go nmap <leader>t <Plug>(go-test)
|
||||
au FileType go nmap <leader>c <Plug>(go-coverage)
|
||||
|
||||
" By default syntax-highlighting for Functions, Methods and Structs is disabled.
|
||||
" Let's enable them!
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_methods = 1
|
||||
let g:go_highlight_structs = 1
|
||||
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
let g:tagbar_type_go = {
|
||||
\ 'ctagstype' : 'go',
|
||||
\ 'kinds' : [
|
||||
\ 'p:package',
|
||||
\ 'i:imports:1',
|
||||
\ 'c:constants',
|
||||
\ 'v:variables',
|
||||
\ 't:types',
|
||||
\ 'n:interfaces',
|
||||
\ 'w:fields',
|
||||
\ 'e:embedded',
|
||||
\ 'm:methods',
|
||||
\ 'r:constructor',
|
||||
\ 'f:functions'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 't' : 'ctype',
|
||||
\ 'n' : 'ntype'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'ctype' : 't',
|
||||
\ 'ntype' : 'n'
|
||||
\ },
|
||||
\ 'ctagsbin' : 'gotags',
|
||||
\ 'ctagsargs' : '-sort -silent'
|
||||
\ }
|
||||
|
||||
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 andrey
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
57
README.md
Normal file
57
README.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# dotvim
|
||||
|
||||
deprecated move to https://gitoa.ru/andrey1s/dotvim
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
git clone --recursive https://github.com/andrey1s/dotvim.git .vim
|
||||
ln -s .vim/.vimrc
|
||||
```
|
||||
|
||||
## Bundles
|
||||
|
||||
- [NERDTree][1]
|
||||
- [bufexplorer][2]
|
||||
- [syntastic][3]
|
||||
- [vim-go][4]
|
||||
- [supertab][5]
|
||||
- [fugitive][6]
|
||||
- [gitgutter][7]
|
||||
- [auto-pairs][8]
|
||||
- [vim-airline][9]
|
||||
- [ultisnips][10]
|
||||
- [CtrlP][11]
|
||||
|
||||
## Hotkeys
|
||||
|
||||
`\e` - NERDTree
|
||||
`\b` - Buffer list
|
||||
`<Shift-Tab>` - Next buffer
|
||||
|
||||
## More Link
|
||||
- https://vim-adventures.com
|
||||
- http://vimcolors.com
|
||||
- https://vimawesome.com
|
||||
- http://vimcasts.org
|
||||
|
||||
## More dotvim
|
||||
- https://github.com/qbbr/dotvim
|
||||
- https://github.com/kasyaar/vim_config
|
||||
- https://github.com/statico/dotfiles
|
||||
- https://github.com/farazdagi/vim-go-ide
|
||||
- https://github.com/ik5/dotvim
|
||||
|
||||
[1]: https://github.com/scrooloose/nerdtree "NERDTree"
|
||||
[2]: https://github.com/vim-scripts/bufexplorer.zip "bufexplorer"
|
||||
[3]: https://github.com/vim-syntastic/syntastic "Syntax checking hacks"
|
||||
[4]: https://github.com/fatih/vim-go "Go development plugin for Vim"
|
||||
[5]: https://github.com/ervandew/supertab "Perform all your vim insert mode completions with Tab"
|
||||
[6]: https://github.com/tpope/vim-fugitive "A Git wrapper so awesome"
|
||||
[7]: https://github.com/airblade/vim-gitgutter "shows a git diff in the gutter"
|
||||
[8]: https://github.com/jiangmiao/auto-pairs "insert or delete brackets, parens, quotes in pair"
|
||||
[9]: https://github.com/vim-airline/vim-airline "lean & mean status/tabline for vim that's light as air"
|
||||
[10]: https://github.com/sirver/ultisnips "The ultimate snippet solution"
|
||||
[11]: https://github.com/ctrlpvim/ctrlp.vim "Full path fuzzy file, buffer, mru, tag, ... finder for Vim."
|
||||
|
||||
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'\:'=':
|
||||
2
backup/.gitignore
vendored
Normal file
2
backup/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
83
colors/foursee.vim
Normal file
83
colors/foursee.vim
Normal file
@@ -0,0 +1,83 @@
|
||||
" Maintainer: Victor Farazdagi <simple.square@gmail.com>
|
||||
" Last Change: May 12, 2011
|
||||
" Base Theme: wombat
|
||||
|
||||
set background=dark
|
||||
|
||||
hi clear
|
||||
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let colors_name = "foursee"
|
||||
|
||||
|
||||
" Vim >= 7.0 specific colors
|
||||
if version >= 700
|
||||
hi CursorLine guibg=#2d2d2d
|
||||
hi CursorColumn guibg=#2d2d2d
|
||||
hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=bold
|
||||
hi Pmenu guifg=#f6f3e8 guibg=#444444
|
||||
hi PmenuSel guifg=#000000 guibg=#cae682
|
||||
hi ColorColumn guibg=#2d2d2d
|
||||
endif
|
||||
|
||||
" Tabs/ViewPorts
|
||||
hi TabLineSel guibg=#252525 guifg=#C8C77E gui=none
|
||||
hi TabLine guibg=#444444 guifg=#868686 gui=none
|
||||
hi TabLineFill guibg=#444444 guifg=#868686 gui=bold
|
||||
|
||||
" General colors
|
||||
hi Cursor guifg=NONE guibg=#656565 gui=none
|
||||
hi Normal guifg=#f6f3e8 guibg=#242424 gui=none
|
||||
hi NonText guifg=#808080 guibg=#303030 gui=none
|
||||
hi LineNr guifg=#857b6f guibg=#000000 gui=none
|
||||
hi SignColumn guifg=#857b6f guibg=#262526 gui=none
|
||||
hi StatusLine guifg=#f6f3e8 guibg=#444444 gui=italic
|
||||
hi StatusLineNC guifg=#857b6f guibg=#444444 gui=none
|
||||
hi VertSplit guifg=#444444 guibg=#444444 gui=none
|
||||
hi Folded guifg=#99968b guibg=#242424 gui=italic gui=none
|
||||
hi Title guifg=#f6f3e8 guibg=NONE gui=bold
|
||||
hi Visual guifg=#f6f3e8 guibg=#444444 gui=none
|
||||
hi SpecialKey guifg=#808080 guibg=#343434 gui=none
|
||||
hi Search guifg=#8ac6f2 guibg=#444444
|
||||
hi IncSearch guibg=#444444 guifg=#8ac6f2
|
||||
|
||||
" Syntax highlighting
|
||||
hi Comment guifg=#99968b gui=italic
|
||||
hi Todo guifg=#f4a460 guibg=NONE gui=italic
|
||||
hi Constant guifg=#e5786d gui=none
|
||||
hi String guifg=#95e454 gui=italic
|
||||
hi Identifier guifg=#cae682 gui=none
|
||||
hi Function guifg=#cae682 gui=none
|
||||
hi Type guifg=#cae682 gui=none
|
||||
hi Statement guifg=#8ac6f2 gui=none
|
||||
hi Keyword guifg=#8ac6f2 gui=none
|
||||
hi PreProc guifg=#e5786d gui=none
|
||||
hi Number guifg=#e5786d gui=none
|
||||
hi Special guifg=#e7f6da gui=none
|
||||
|
||||
" Diff highlighting
|
||||
hi DiffDelete guibg=#444444 guifg=#99968b
|
||||
hi DiffAdd guibg=#2A5447
|
||||
hi DiffChange guibg=#53868B
|
||||
hi DiffText guibg=#990909 gui=none
|
||||
|
||||
" Git Syntax Highlighting
|
||||
hi gitcommitSummary guifg=#8ac6f2 gui=none
|
||||
hi gitcommitOnBranch guifg=#99968b gui=italic
|
||||
hi gitcommitBranch guifg=#FFCC66 gui=none
|
||||
|
||||
hi gitcommitHeader guifg=#C4C4C4 gui=none
|
||||
|
||||
hi gitcommitDiscardedType guifg=#99968b gui=none
|
||||
hi gitcommitSelectedType guifg=#99968b gui=none
|
||||
hi gitcommitUnmergedType guifg=#99968b gui=none
|
||||
|
||||
hi gitcommitUntrackedFile guifg=#FF6347 gui=none
|
||||
hi gitcommitSelectedFile guifg=#CCFF66 gui=none
|
||||
hi gitcommitUnmergedFile guifg=#FF6666 gui=none
|
||||
hi gitcommitDiscardedFile guifg=#FF6347 gui=none
|
||||
|
||||
|
||||
96
colors/wombat256mod.vim
Normal file
96
colors/wombat256mod.vim
Normal file
@@ -0,0 +1,96 @@
|
||||
" Vim color file
|
||||
" Original Maintainer: Lars H. Nielsen (dengmao@gmail.com)
|
||||
" Last Change: 2010-07-23
|
||||
"
|
||||
" Modified version of wombat for 256-color terminals by
|
||||
" David Liang (bmdavll@gmail.com)
|
||||
" based on version by
|
||||
" Danila Bespalov (danila.bespalov@gmail.com)
|
||||
|
||||
set background=dark
|
||||
|
||||
if version > 580
|
||||
hi clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
endif
|
||||
|
||||
let colors_name = "wombat256mod"
|
||||
|
||||
|
||||
" General colors
|
||||
hi Normal ctermfg=252 ctermbg=234 cterm=none guifg=#e3e0d7 guibg=#242424 gui=none
|
||||
hi Cursor ctermfg=234 ctermbg=228 cterm=none guifg=#242424 guibg=#eae788 gui=none
|
||||
hi Visual ctermfg=251 ctermbg=239 cterm=none guifg=#c3c6ca guibg=#554d4b gui=none
|
||||
hi VisualNOS ctermfg=251 ctermbg=236 cterm=none guifg=#c3c6ca guibg=#303030 gui=none
|
||||
hi Search ctermfg=177 ctermbg=241 cterm=none guifg=#d787ff guibg=#636066 gui=none
|
||||
hi Folded ctermfg=103 ctermbg=237 cterm=none guifg=#a0a8b0 guibg=#3a4046 gui=none
|
||||
hi Title ctermfg=230 cterm=bold guifg=#ffffd7 gui=bold
|
||||
hi StatusLine ctermfg=230 ctermbg=238 cterm=none guifg=#ffffd7 guibg=#444444 gui=italic
|
||||
hi VertSplit ctermfg=238 ctermbg=238 cterm=none guifg=#444444 guibg=#444444 gui=none
|
||||
hi StatusLineNC ctermfg=241 ctermbg=238 cterm=none guifg=#857b6f guibg=#444444 gui=none
|
||||
hi LineNr ctermfg=241 ctermbg=232 cterm=none guifg=#857b6f guibg=#080808 gui=none
|
||||
hi SpecialKey ctermfg=241 ctermbg=235 cterm=none guifg=#626262 guibg=#2b2b2b gui=none
|
||||
hi WarningMsg ctermfg=203 guifg=#ff5f55
|
||||
hi ErrorMsg ctermfg=196 ctermbg=236 cterm=bold guifg=#ff2026 guibg=#3a3a3a gui=bold
|
||||
|
||||
" Vim >= 7.0 specific colors
|
||||
if version >= 700
|
||||
hi CursorLine ctermbg=236 cterm=none guibg=#32322f
|
||||
hi MatchParen ctermfg=228 ctermbg=101 cterm=bold guifg=#eae788 guibg=#857b6f gui=bold
|
||||
hi Pmenu ctermfg=230 ctermbg=238 guifg=#ffffd7 guibg=#444444
|
||||
hi PmenuSel ctermfg=232 ctermbg=192 guifg=#080808 guibg=#cae982
|
||||
endif
|
||||
|
||||
" Diff highlighting
|
||||
hi DiffAdd ctermbg=17 guibg=#2a0d6a
|
||||
hi DiffDelete ctermfg=234 ctermbg=60 cterm=none guifg=#242424 guibg=#3e3969 gui=none
|
||||
hi DiffText ctermbg=53 cterm=none guibg=#73186e gui=none
|
||||
hi DiffChange ctermbg=237 guibg=#382a37
|
||||
|
||||
"hi CursorIM
|
||||
"hi Directory
|
||||
"hi IncSearch
|
||||
"hi Menu
|
||||
"hi ModeMsg
|
||||
"hi MoreMsg
|
||||
"hi PmenuSbar
|
||||
"hi PmenuThumb
|
||||
"hi Question
|
||||
"hi Scrollbar
|
||||
"hi SignColumn
|
||||
"hi SpellBad
|
||||
"hi SpellCap
|
||||
"hi SpellLocal
|
||||
"hi SpellRare
|
||||
"hi TabLine
|
||||
"hi TabLineFill
|
||||
"hi TabLineSel
|
||||
"hi Tooltip
|
||||
"hi User1
|
||||
"hi User9
|
||||
"hi WildMenu
|
||||
|
||||
|
||||
" Syntax highlighting
|
||||
hi Keyword ctermfg=111 cterm=none guifg=#88b8f6 gui=none
|
||||
hi Statement ctermfg=111 cterm=none guifg=#88b8f6 gui=none
|
||||
hi Constant ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||
hi Number ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||
hi PreProc ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||
hi Function ctermfg=192 cterm=none guifg=#cae982 gui=none
|
||||
hi Identifier ctermfg=192 cterm=none guifg=#cae982 gui=none
|
||||
hi Type ctermfg=186 cterm=none guifg=#d4d987 gui=none
|
||||
hi Special ctermfg=229 cterm=none guifg=#eadead gui=none
|
||||
hi String ctermfg=113 cterm=none guifg=#95e454 gui=italic
|
||||
hi Comment ctermfg=246 cterm=none guifg=#9c998e gui=italic
|
||||
hi Todo ctermfg=101 cterm=none guifg=#857b6f gui=italic
|
||||
|
||||
|
||||
" Links
|
||||
hi! link FoldColumn Folded
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link NonText LineNr
|
||||
|
||||
" vim:set ts=4 sw=4 noet:
|
||||
214
keymap.ru.md
Normal file
214
keymap.ru.md
Normal file
@@ -0,0 +1,214 @@
|
||||
Файл настройки: ~/.vimrc
|
||||
Можно редактировать файлы через сеть, например
|
||||
:e <scp|ftp|ftps>://user@host/path/to/the/file.txt
|
||||
:Ex или :e ./ - файловый менеджер
|
||||
|
||||
## Основы
|
||||
```
|
||||
hjkl перемещение в разные стороны
|
||||
i режим вставки
|
||||
I добавление в начало строки
|
||||
a режим добавления
|
||||
A добавление в конец строки
|
||||
o добавить строку сразу за текущей
|
||||
O добавить строку перед текущей
|
||||
R писать поверх имеющегося текста
|
||||
u, :u[ndo] отмена предыдущего действия (undo)
|
||||
CTR-R, :red[o] отмена отмены предыдущего действия (redo)
|
||||
dd вырезать (удалить) строку
|
||||
cc удалить и начать редактирование
|
||||
yy копировать строку
|
||||
p вставить из буфера обмена
|
||||
<n>d удалить n+1 строку
|
||||
<n>y скопировать n+1 строку
|
||||
ESC перейти в режим просмотра
|
||||
DEL удалить следующий символ
|
||||
:<n> перейти на строку #n
|
||||
% перейти к парной скобке
|
||||
:e **/filename.c редактировать файл (с поиском по имени)
|
||||
:w [fname] записать изменения
|
||||
:wa сохранить изменения во всех файлах
|
||||
:q выйти из редактора
|
||||
:q! выйти из редактора, не сохраняя изменения
|
||||
:color <name> выбор цветовой схемы. цветвые схемы:
|
||||
/usr/local/share/vim/vim72/colors/*.vim
|
||||
:pwd текущий каталог
|
||||
:cd [path] перейти в другой каталог
|
||||
:!команда выполнить команду - man, git, и так далее
|
||||
стрелочками веерх и вниз можно автодополнять
|
||||
команды и искать по истории
|
||||
CTR+p или CTR+n автоматическое дополнение текста
|
||||
(в режиме редактирования)
|
||||
CTR+r,=,<expr> вставить выражение, например 5 * 2 - 3
|
||||
(в режиме редактирования)
|
||||
CTR+u, CTR+d Page Up / Page Down
|
||||
CTR+y, CTR+e Перемотка вверх/вниз без движения курсора
|
||||
```
|
||||
|
||||
## Подсветка синтаксиса
|
||||
```
|
||||
:syntax on включить подсветку
|
||||
:syntax off выключить подсветку (по умолчанию)
|
||||
```
|
||||
## Перенос строк
|
||||
```
|
||||
:set wrap разрешить word wrap (по умолчанию)
|
||||
:set nowrap запретить word wrap
|
||||
```
|
||||
## Печать
|
||||
```
|
||||
:ha[rdcopy] распечатать документ
|
||||
:set printoptions=duplex:off отключить двустороннюю печать
|
||||
```
|
||||
|
||||
## Сворачивание
|
||||
```
|
||||
zc свернуть блок
|
||||
zo развернуть блок
|
||||
zM закрыть все блоки
|
||||
zR открыть все блоки
|
||||
za инвертирование
|
||||
zf см :set foldmethod=manual
|
||||
:set foldenable включить свoрачивание
|
||||
:set foldmethod=syntax сворачивание на основе синтаксиса
|
||||
:set foldmethod=indent сворачивание на основе отступов
|
||||
:set foldmethod=manual выделяем участок с помощью v и говорим zf
|
||||
:set foldmethod=marker сворачивание на основе маркеров в тексте
|
||||
:set foldmarker=bigin,end задаем маркеры начала и конца блока
|
||||
```
|
||||
## Маркеры
|
||||
```
|
||||
ma установить локальный маркер a
|
||||
mB установить глобальный маркер B
|
||||
`c перейти к локальному маркеру c
|
||||
`0 вернуться на позицию, на которой закончили
|
||||
работу при закрытии vim
|
||||
:marks просмотр маркеров
|
||||
set viminfo='1000,f1 маркеры пишутся в ~/.viminfo, восстанавливаясь
|
||||
при следующем запуске vim. маркер " хранит
|
||||
последнюю позицию курсора в файле
|
||||
```
|
||||
## Сессии
|
||||
```
|
||||
mksession file.session сохранить текущую сессию
|
||||
source file.session восстановить ранее сохраненную сессию
|
||||
```
|
||||
## Макросы
|
||||
```
|
||||
qa записать макрос с именем a
|
||||
q в режиме записи макроса: закончить запись
|
||||
@a выполнить макрос с именем a
|
||||
@@ повторить последний макрос
|
||||
```
|
||||
|
||||
## Регистры
|
||||
```
|
||||
"ayy скопировать строку в регистр a
|
||||
"bdd вырезать строку и поместить в регистр b
|
||||
"С2d вырезать три строки и дописать в конец
|
||||
регистра C
|
||||
:reg [name1][name2][...] просмотреть содержимое регистров
|
||||
```
|
||||
|
||||
## Выделение
|
||||
```
|
||||
v + hjkl выделение текста
|
||||
SHIFT + v выделить строку
|
||||
CTR + v выделение прямоугольника
|
||||
p вставить
|
||||
y копировать
|
||||
d удалить
|
||||
gu к нижнему регистру
|
||||
gU к верхнему регистру
|
||||
```
|
||||
## Отступы
|
||||
```
|
||||
[#]> сдвинуть выделенное вправо
|
||||
[#]< сдвинуть выделенное влево
|
||||
[#]>> сдвинуть строку вправо
|
||||
[#]<< сдвинуть строку влево
|
||||
set tabstop=# для табуляции используется # пробелов
|
||||
set shiftwidth=# в командах отступа используется # пробелов
|
||||
set [no]expandtab заменять ли табуляцию на соответствующее
|
||||
число пробелов
|
||||
```
|
||||
## Поиск и замена в файле
|
||||
```
|
||||
/Выражение поиск выражения в файле
|
||||
\cВыражение поиск без учета регистра
|
||||
n следующее совпадение
|
||||
N предыдущее совпадение
|
||||
:%s/foo/bar/gi замена строк, см http://eax.me/regular-expr/
|
||||
```
|
||||
## Поиск по всему проекту
|
||||
```
|
||||
:vimgrep /EXPR/ **/ .c поиск по регулярному выражению
|
||||
:copen показать все найденные места
|
||||
:close скрыть все найденные места
|
||||
:cn переход к следующему результату
|
||||
:cp переход к предыдущему результату
|
||||
```
|
||||
## Нумерация строк
|
||||
```
|
||||
:set number включить нумерацию строк
|
||||
:set nonumber отключить нумерацию строк
|
||||
```
|
||||
## Работа с вкладками (a.k.a табами)
|
||||
```
|
||||
:tabnew [fname] создать таб
|
||||
:tabs вывести список табов
|
||||
:tabn следующий таб
|
||||
:tabp предыдущий таб
|
||||
<n>gt перейти на таб #n
|
||||
gt следующий таб
|
||||
gT предыдущий таб
|
||||
:tabm +1 переместить таб вперед на одну позицию
|
||||
:tabm -1 переместить таб назад на одну позицию
|
||||
:tabm 2 переместить таб на заданную позицию
|
||||
(нумерация начинается с нуля)
|
||||
```
|
||||
## Работа с окнами
|
||||
```
|
||||
:split горизонтальное разбиение
|
||||
:vsplit вертикальное разбиение
|
||||
Ctr+W, затем
|
||||
с закрыть окно
|
||||
+- изменение высоты текущего окна
|
||||
<> изменение ширины текущего окна
|
||||
= установить равный размер окон
|
||||
hjkl или стрелочки перемещение между окнами
|
||||
```
|
||||
## Проверка орфографии
|
||||
```
|
||||
mkdir -p ~/.vim/spell
|
||||
cd ~/.vim/spell
|
||||
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug
|
||||
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl
|
||||
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug
|
||||
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl
|
||||
|
||||
:set spell spelllang=ru,en включить проверку орфографии
|
||||
:set nospell выключить проверку орфографии
|
||||
]s следующее слово с ошибкой
|
||||
[s предыдущее слово с ошибкой
|
||||
z= замена слова на альтернативу из списка
|
||||
zg good word
|
||||
zw wrong word
|
||||
zG ignore word
|
||||
```
|
||||
## Работа с кодировкой
|
||||
```
|
||||
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке
|
||||
w ++enc=<имя кодировки> Сохранить файл в новой кодировке
|
||||
set fileencodings=utf-8,koi8-r Список автоматически определяемых
|
||||
кодировок в порядке убывания
|
||||
приоритета
|
||||
```
|
||||
## Другое
|
||||
```
|
||||
:set [no]wildmenu При авто-дополнении в командной строке над
|
||||
ней выводятся возможные варианты
|
||||
:set list Отображать табуляцию и переводы строк
|
||||
q: История команд
|
||||
. Повторение последней команды
|
||||
```
|
||||
2
tmp/.gitignore
vendored
Normal file
2
tmp/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
Reference in New Issue
Block a user