Created
March 4, 2021 08:48
-
-
Save makeev/8d08c4e143455e166d8d1fba1765b5af to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set synmaxcol=2048 " убираем тормоза подсветки на больших файлах | |
set nofoldenable " не схлопываем код по умолчанию | |
set number " показывать номера строк | |
let g:ackprg = 'ag --nogroup --nocolor --column' " что-то для поиска :Ag | |
let g:ack_autoclose = 0 | |
" let g:ackpreview = 0 | |
set switchbuf=useopen " открывать превью поиска в том же буфере | |
set iskeyword+=- " treat dash separated words as a word text object | |
set mouse=a " Enable your mouse | |
set clipboard=unnamedplus "Copy paste between vim and everything else | |
" syntax для django шаблонов по умолчанию | |
au BufNewFile,BufRead *.html set filetype=htmldjango | |
" ремапим чтобы не конфликтовал с поиском | |
let g:comfortable_motion_no_default_key_mappings = 1 | |
nnoremap <silent> <C-j> :call comfortable_motion#flick(100)<CR> | |
nnoremap <silent> <C-k> :call comfortable_motion#flick(-100)<CR> | |
" биндим fuzzy find на ctrl+f | |
nnoremap <C-f> :FZF -m<cr> | |
" ,p чтобы показать польный путь до файла | |
nnoremap <leader>p :echo @%<cr> | |
" тут какие-то автозамены | |
imap ;lol пыщь-пыщь-ололо | |
imap ;ps <?=?><left><left> | |
imap ;php <?php ?><left><left> | |
imap ;fun function() {}<left><cr> | |
imap ;tag {%%}<left><left> | |
" выводим серую линию на 80 символах и серый фон после 120 | |
" лучше добавить в файл темы, чтобы не ломалось после ,z | |
highlight ColorColumn ctermbg=235 guibg=#2c2d27 | |
let &colorcolumn="80,".join(range(120,999),",") | |
" тут начинаются плагины, не забывать вызывать :PlugInstall после обновления | |
call plug#begin('~/.local/share/nvim/plugged') | |
Plug 'mg979/vim-visual-multi' | |
let g:VM_maps = {} | |
let g:VM_maps['Find Under'] = '<C-d>' " replace C-n | |
let g:VM_maps['Find Subword Under'] = '<C-d>' " replace visual C-n | |
let g:VM_mouse_mappings = 1 | |
" джедайский плагин для питона | |
Plug 'davidhalter/jedi-vim' | |
" let g:jedi#completions_command = "<C-n>" | |
" кажется это все не надо, т.к. заменяется deoplete | |
let g:jedi#popup_select_first = 1 | |
let g:jedi#show_call_signatures = "1" | |
let g:jedi#goto_definitions_command = "gd" | |
let g:pymode_rope = 0 " fast autocompletion | |
autocmd FileType python setlocal completeopt-=preview | |
" автоимпорт | |
Plug 'mgedmin/python-imports.vim' | |
map <a-cr> :ImportName<CR> | |
" автонастройка окружения из virtualenv | |
Plug 'jmcantrell/vim-virtualenv' | |
let g:virtualenv_auto_activate = 1 | |
" нормальный автокомплит | |
if has('nvim') | |
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } | |
else | |
Plug 'Shougo/deoplete.nvim' | |
Plug 'roxma/nvim-yarp' | |
Plug 'roxma/vim-hug-neovim-rpc' | |
endif | |
let g:deoplete#enable_at_startup = 1 | |
Plug 'deoplete-plugins/deoplete-jedi' | |
" отключаем джейдайский комплит, чтобы deoplete заработал | |
let g:jedi#completions_enabled = 0 | |
" поддержка файлов .editorconfig | |
Plug 'editorconfig/editorconfig-vim' | |
" список методов и функций на F8 | |
Plug 'majutsushi/tagbar' | |
nmap <F8> :TagbarToggle<CR> | |
" красивый статус бар | |
Plug 'vim-airline/vim-airline' | |
Plug 'vim-airline/vim-airline-themes' | |
let g:airline_theme='simple' | |
" :ImpSort сортирует питоновский импорт | |
Plug 'tweekmonster/impsort.vim' | |
" git настройка для NERDTree | |
Plug 'Xuyuanp/nerdtree-git-plugin' | |
Plug 'airblade/vim-gitgutter' | |
let g:gitgutter_enabled = 1 | |
set updatetime=100 | |
" пиздатый поиск по всему https://github.com/junegunn/fzf.vim#commands | |
Plug '/usr/local/opt/fzf' | |
Plug 'junegunn/fzf.vim' | |
" shift+s для surround выделенного в скобки/теги/кавычки | |
Plug 'tpope/vim-surround' | |
" nodejs | |
Plug 'mmalecki/vim-node.js' | |
Plug 'moll/vim-node' | |
" docstring в стиле sphinx | |
Plug 'sirver/ultisnips' | |
let g:ultisnips_python_style = 'sphinx' | |
let g:UltiSnipsExpandTrigger="<tab>" | |
let g:UltiSnipsJumpForwardTrigger="<c-j>" | |
let g:UltiSnipsJumpBackwardTrigger="<c-k>" | |
Plug 'heavenshell/vim-pydocstring' | |
" react tsx syntax | |
Plug 'leafgarland/typescript-vim' | |
Plug 'peitalin/vim-jsx-typescript' | |
" Django | |
Plug 'vim-scripts/django.vim' | |
" Stylus | |
Plug 'wavded/vim-stylus' | |
" Lorem | |
Plug 'vim-scripts/loremipsum' | |
" Autoclose html tag | |
Plug 'docunext/closetag.vim' | |
" Python autoimport | |
" Plug 'mgedmin/python-imports.vim' | |
" map <ALT+r> :ImportName<CR> | |
" react | |
Plug 'mxw/vim-jsx' | |
" json pretty | |
Plug 'alfredodeza/jacinto.vim' | |
Plug 'neomake/neomake' | |
" terraform | |
Plug 'hashivim/vim-terraform' | |
Plug 'vim-syntastic/syntastic' | |
Plug 'juliosueiras/vim-terraform-completion' | |
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 = 1 | |
let g:terraform_align=1 | |
let g:terraform_fmt_on_save=1 | |
let g:syntastic_terraform_tffilter_plan = 1 | |
let g:terraform_completion_keys = 1 | |
let g:terraform_registry_module_completion = 1 | |
call plug#end() | |
set completeopt+=noselect | |
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif | |
autocmd InsertLeave * if pumvisible() == 0|pclose|endif | |
" let g:deoplete#omni_patterns = {} | |
call deoplete#custom#option('omni_patterns', { | |
\ 'complete_method': 'omnifunc', | |
\ 'terraform': '[^ *\t"{=$]\w*', | |
\}) | |
call deoplete#initialize() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment