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