
12 changed files with 450 additions and 152 deletions
@ -0,0 +1,27 @@
|
||||
let g:ale_disable_lsp = 1 |
||||
|
||||
"let b:ale_fixers = {'python': ['flake8']} |
||||
|
||||
let g:ale_lint_on_text_changed = 1 |
||||
let g:ale_lint_on_insert_leave = 1 |
||||
let g:ale_lint_on_enter = 1 |
||||
|
||||
" Enable completion where available. |
||||
" This setting must be set before ALE is loaded. |
||||
" |
||||
" You should not turn this setting on if you wish to use ALE as a completion |
||||
" source for other completion plugins, like Deoplete. |
||||
let g:ale_completion_enabled = 0 |
||||
|
||||
let g:ale_lint_on_text_changed = 'always' |
||||
let g:ale_fix_on_save = 0 |
||||
let g:ale_linters = { |
||||
\ 'python': ['flake8', 'bandit'] |
||||
\ } |
||||
let g:ale_fixers = { |
||||
\ 'python': ['autopep8', 'black'], |
||||
\ '*': [] |
||||
\ } |
||||
let g:airline#extensions#ale#enabled = 1 |
||||
|
||||
"let g:ale_echo_msg_format = '[%linter%] %code%: %s' |
@ -0,0 +1,151 @@
|
||||
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable |
||||
" delays and poor user experience. |
||||
set updatetime=300 |
||||
|
||||
" Don't pass messages to |ins-completion-menu|. |
||||
set shortmess+=c |
||||
|
||||
" Always show the signcolumn, otherwise it would shift the text each time |
||||
" diagnostics appear/become resolved. |
||||
if has("nvim-0.5.0") || has("patch-8.1.1564") |
||||
" Recently vim can merge signcolumn and number column into one |
||||
set signcolumn=number |
||||
else |
||||
set signcolumn=yes |
||||
endif |
||||
|
||||
" Use tab for trigger completion with characters ahead and navigate. |
||||
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by |
||||
" other plugin before putting this into your config. |
||||
inoremap <silent><expr> <TAB> |
||||
\ pumvisible() ? "\<C-n>" : |
||||
\ <SID>check_back_space() ? "\<TAB>" : |
||||
\ coc#refresh() |
||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" |
||||
|
||||
function! s:check_back_space() abort |
||||
let col = col('.') - 1 |
||||
return !col || getline('.')[col - 1] =~# '\s' |
||||
endfunction |
||||
|
||||
" Use <c-space> to trigger completion. |
||||
if has('nvim') |
||||
inoremap <silent><expr> <c-space> coc#refresh() |
||||
else |
||||
inoremap <silent><expr> <c-@> coc#refresh() |
||||
endif |
||||
|
||||
" Make <CR> auto-select the first completion item and notify coc.nvim to |
||||
" format on enter, <cr> could be remapped by other vim plugin |
||||
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() |
||||
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" |
||||
|
||||
" Use `[g` and `]g` to navigate diagnostics |
||||
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. |
||||
nmap <silent> [g <Plug>(coc-diagnostic-prev) |
||||
nmap <silent> ]g <Plug>(coc-diagnostic-next) |
||||
|
||||
" GoTo code navigation. |
||||
nmap <silent> gd <Plug>(coc-definition) |
||||
nmap <silent> gy <Plug>(coc-type-definition) |
||||
nmap <silent> gi <Plug>(coc-implementation) |
||||
nmap <silent> gr <Plug>(coc-references) |
||||
|
||||
" Use K to show documentation in preview window. |
||||
nnoremap <silent> K :call <SID>show_documentation()<CR> |
||||
|
||||
function! s:show_documentation() |
||||
if (index(['vim','help'], &filetype) >= 0) |
||||
execute 'h '.expand('<cword>') |
||||
elseif (coc#rpc#ready()) |
||||
call CocActionAsync('doHover') |
||||
else |
||||
execute '!' . &keywordprg . " " . expand('<cword>') |
||||
endif |
||||
endfunction |
||||
|
||||
" Highlight the symbol and its references when holding the cursor. |
||||
autocmd CursorHold * silent call CocActionAsync('highlight') |
||||
|
||||
" Symbol renaming. |
||||
nmap <leader>rn <Plug>(coc-rename) |
||||
|
||||
" Formatting selected code. |
||||
xmap <leader>f <Plug>(coc-format-selected) |
||||
nmap <leader>f <Plug>(coc-format-selected) |
||||
|
||||
augroup mygroup |
||||
autocmd! |
||||
" Setup formatexpr specified filetype(s). |
||||
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') |
||||
" Update signature help on jump placeholder. |
||||
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') |
||||
augroup end |
||||
|
||||
" Applying codeAction to the selected region. |
||||
" Example: `<leader>aap` for current paragraph |
||||
xmap <leader>a <Plug>(coc-codeaction-selected) |
||||
nmap <leader>a <Plug>(coc-codeaction-selected) |
||||
|
||||
" Remap keys for applying codeAction to the current buffer. |
||||
nmap <leader>ac <Plug>(coc-codeaction) |
||||
" Apply AutoFix to problem on the current line. |
||||
nmap <leader>qf <Plug>(coc-fix-current) |
||||
|
||||
" Map function and class text objects |
||||
" NOTE: Requires 'textDocument.documentSymbol' support from the language server. |
||||
xmap if <Plug>(coc-funcobj-i) |
||||
omap if <Plug>(coc-funcobj-i) |
||||
xmap af <Plug>(coc-funcobj-a) |
||||
omap af <Plug>(coc-funcobj-a) |
||||
xmap ic <Plug>(coc-classobj-i) |
||||
omap ic <Plug>(coc-classobj-i) |
||||
xmap ac <Plug>(coc-classobj-a) |
||||
omap ac <Plug>(coc-classobj-a) |
||||
|
||||
" Remap <C-f> and <C-b> for scroll float windows/popups. |
||||
if has('nvim-0.4.0') || has('patch-8.2.0750') |
||||
nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" |
||||
nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" |
||||
inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" |
||||
inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" |
||||
vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" |
||||
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" |
||||
endif |
||||
|
||||
" Use CTRL-S for selections ranges. |
||||
" Requires 'textDocument/selectionRange' support of language server. |
||||
" nmap <silent> <C-s> <Plug>(coc-range-select) |
||||
" xmap <silent> <C-s> <Plug>(coc-range-select) |
||||
|
||||
" Add `:Format` command to format current buffer. |
||||
command! -nargs=0 Format :call CocAction('format') |
||||
|
||||
" Add `:Fold` command to fold current buffer. |
||||
command! -nargs=? Fold :call CocAction('fold', <f-args>) |
||||
|
||||
" Add `:OR` command for organize imports of the current buffer. |
||||
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') |
||||
|
||||
" Add (Neo)Vim's native statusline support. |
||||
" NOTE: Please see `:h coc-status` for integrations with external plugins that |
||||
" provide custom statusline: lightline.vim, vim-airline. |
||||
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} |
||||
|
||||
" Mappings for CoCList |
||||
" Show all diagnostics. |
||||
nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> |
||||
" Manage extensions. |
||||
nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> |
||||
" Show commands. |
||||
nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> |
||||
" Find symbol of current document. |
||||
nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> |
||||
" Search workspace symbols. |
||||
nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> |
||||
" Do default action for next item. |
||||
nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> |
||||
" Do default action for previous item. |
||||
nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> |
||||
" Resume latest coc list. |
||||
nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> |
@ -0,0 +1,6 @@
|
||||
let g:deoplete#enable_at_startup = 1 |
||||
|
||||
" deoplete tab-complete |
||||
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>" |
||||
" tern |
||||
autocmd FileType javascript nnoremap <silent> <buffer> gb :TernDef<CR> |
@ -0,0 +1,10 @@
|
||||
let g:webdevicons_enable_ctrlp = 1 |
||||
let g:webdevicons_enable_airline_statusline = 1 |
||||
let g:webdevicons_enable_airline_tabline = 1 |
||||
let g:webdevicons_enable_nerdtree = 1 |
||||
let g:WebDevIconsUnicodeGlyphDoubleWidth = 1 |
||||
let g:webdevicons_conceal_nerdtree_brackets = 1 |
||||
let g:WebDevIconsNerdTreeAfterGlyphPadding = ' ' |
||||
let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1 |
||||
let g:WebDevIconsTabAirLineAfterGlyphPadding = ' ' |
||||
let g:WebDevIconsTabAirLineBeforeGlyphPadding = ' ' |
@ -0,0 +1,88 @@
|
||||
" Disable listing ignored files/directories |
||||
let g:fern_git_status#disable_ignored = 1 |
||||
|
||||
" Disable listing untracked files |
||||
let g:fern_git_status#disable_untracked = 1 |
||||
|
||||
" Disable listing status of submodules |
||||
let g:fern_git_status#disable_submodules = 1 |
||||
|
||||
" Disable listing status of directories |
||||
let g:fern_git_status#disable_directories = 1 |
||||
|
||||
|
||||
|
||||
let g:fern#renderer = "DroidSansMono_Nerd_Font" |
||||
|
||||
|
||||
augroup my-glyph-palette |
||||
autocmd! * |
||||
autocmd FileType fern call glyph_palette#apply() |
||||
autocmd FileType nerdtree,startify call glyph_palette#apply() |
||||
augroup END |
||||
|
||||
|
||||
function! s:init_fern() abort |
||||
" Use 'select' instead of 'edit' for default 'open' action |
||||
nmap <buffer> <Plug>(fern-action-open) <Plug>(fern-action-open:select) |
||||
endfunction |
||||
|
||||
augroup fern-custom |
||||
autocmd! * |
||||
autocmd FileType fern call s:init_fern() |
||||
augroup END |
||||
|
||||
|
||||
function! s:init_fern() abort |
||||
" Define NERDTree like mappings |
||||
nmap <buffer> o <Plug>(fern-action-open:edit) |
||||
nmap <buffer> go <Plug>(fern-action-open:edit)<C-w>p |
||||
nmap <buffer> t <Plug>(fern-action-open:tabedit) |
||||
nmap <buffer> T <Plug>(fern-action-open:tabedit)gT |
||||
nmap <buffer> i <Plug>(fern-action-open:split) |
||||
nmap <buffer> gi <Plug>(fern-action-open:split)<C-w>p |
||||
nmap <buffer> s <Plug>(fern-action-open:vsplit) |
||||
nmap <buffer> gs <Plug>(fern-action-open:vsplit)<C-w>p |
||||
nmap <buffer> ma <Plug>(fern-action-new-path) |
||||
nmap <buffer> P gg |
||||
|
||||
nmap <buffer> C <Plug>(fern-action-enter) |
||||
nmap <buffer> u <Plug>(fern-action-leave) |
||||
nmap <buffer> r <Plug>(fern-action-reload) |
||||
nmap <buffer> R gg<Plug>(fern-action-reload)<C-o> |
||||
nmap <buffer> cd <Plug>(fern-action-cd) |
||||
nmap <buffer> CD gg<Plug>(fern-action-cd)<C-o> |
||||
|
||||
nmap <buffer> I <Plug>(fern-action-hide-toggle) |
||||
|
||||
nmap <buffer> q :<C-u>quit<CR> |
||||
endfunction |
||||
|
||||
function! s:init_fern() abort |
||||
nmap <buffer><expr> |
||||
\ <Plug>(fern-my-expand-or-collapse) |
||||
\ fern#smart#leaf( |
||||
\ "\<Plug>(fern-action-collapse)", |
||||
\ "\<Plug>(fern-action-expand)", |
||||
\ "\<Plug>(fern-action-collapse)", |
||||
\ ) |
||||
|
||||
nmap <buffer><nowait> l <Plug>(fern-my-expand-or-collapse) |
||||
endfunction |
||||
|
||||
function! s:init_fern() abort |
||||
nmap <buffer><expr> |
||||
\ <Plug>(fern-my-expand-or-enter) |
||||
\ fern#smart#drawer( |
||||
\ "\<Plug>(fern-open-or-expand)", |
||||
\ "\<Plug>(fern-open-or-enter)", |
||||
\ ) |
||||
nmap <buffer><expr> |
||||
\ <Plug>(fern-my-collapse-or-leave) |
||||
\ fern#smart#drawer( |
||||
\ "\<Plug>(fern-action-collapse)", |
||||
\ "\<Plug>(fern-action-leave)", |
||||
\ ) |
||||
nmap <buffer><nowait> l <Plug>(fern-my-expand-or-enter) |
||||
nmap <buffer><nowait> h <Plug>(fern-my-collapse-or-leave) |
||||
endfunction |
@ -0,0 +1,9 @@
|
||||
highlight GitGutterAdd guifg=#009900 ctermfg=Green |
||||
highlight GitGutterChange guifg=#bbbb00 ctermfg=Yellow |
||||
highlight GitGutterDelete guifg=#ff2222 ctermfg=Red |
||||
let g:gitgutter_enabled = 1 |
||||
let g:gitgutter_map_keys = 0 |
||||
set updatetime=100 |
||||
"let g:gitgutter_highlight_lines = 1 |
||||
"let g:gitgutter_highlight_linenrs = 1 |
||||
"let g:gitgutter_log=1 |
@ -0,0 +1,47 @@
|
||||
nnoremap k gk |
||||
nnoremap j gj |
||||
|
||||
nnoremap <Down> gj |
||||
nnoremap <Up> gk |
||||
|
||||
|
||||
vmap k gk |
||||
vmap j gj |
||||
|
||||
vmap <Down> gj |
||||
vmap <Up> gk |
||||
vmap <Right> l |
||||
vmap <Left> h |
||||
|
||||
inoremap <Up> <C-o>gk |
||||
inoremap <Down> <C-o>gj |
||||
|
||||
nnoremap / /\c |
||||
nnoremap ? ?\c |
||||
|
||||
nnoremap o o<ESC>i |
||||
|
||||
|
||||
|
||||
|
||||
"inoremap <C-v> "+p |
||||
vnoremap <C-C> "+y |
||||
vnoremap <C-d> d |
||||
|
||||
vnoremap <C-C> "+y |
||||
vnoremap <C-Insert> "+y |
||||
|
||||
noremap <C-A> <C-C>ggvG$ |
||||
inoremap <C-A> <C-C>ggvG$ |
||||
cnoremap <C-A> <C-C>ggvG$ |
||||
onoremap <C-A> <C-C>ggvG$ |
||||
snoremap <C-A> <C-C>ggvG$ |
||||
xnoremap <C-A> <C-C>ggvG$ |
||||
|
||||
nnoremap d "_d |
||||
vnoremap d "_d |
||||
nnoremap <BS> "_d<Esc> |
||||
vnoremap <BS> "_d<Esc> |
||||
|
||||
nnoremap <Del> "_d<Esc> |
||||
vnoremap <Del> "_d<Esc> |
@ -0,0 +1,10 @@
|
||||
" Exit Vim if NERDTree is the only window left. |
||||
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | |
||||
\ quit | endif |
||||
|
||||
let g:NERDTreeDirArrowExpandable = '►' |
||||
let g:NERDTreeDirArrowCollapsible = '▼' |
||||
let NERDTreeShowLineNumbers=1 |
||||
let NERDTreeShowHidden=1 |
||||
let g:NERDTreeWinSize=38 |
||||
let NERDTreeQuitOnOpen = 1 |
@ -0,0 +1,11 @@
|
||||
" Test netrw |
||||
|
||||
let g:netrw_liststyle = 3 |
||||
let g:netrw_banner = 0 |
||||
let g:netrw_browse_split = 4 |
||||
let g:netrw_altv = 1 |
||||
let g:netrw_winsize = 25 |
||||
"augroup ProjectDrawer |
||||
" autocmd! |
||||
" autocmd VimEnter * :Vexplore |
||||
"augroup END |
@ -0,0 +1,53 @@
|
||||
"let data_dir = has('nvim') ? stdpath('data') . '/site' : '/Program Files/Vim/vim82' |
||||
"if empty(glob(data_dir . '/autoload/plug.vim')) |
||||
" silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' |
||||
" autocmd VimEnter * PlugInstall --sync | source $MYVIMRC |
||||
"endif |
||||
|
||||
" Specify a directory for plugins |
||||
" - For Neovim: stdpath('data') . '/plugged' |
||||
" - Avoid using standard Vim directory names like 'plugin' |
||||
call plug#begin('/home/vmware/.vim/pack/') |
||||
" |
||||
Plug 'junegunn/vim-plug' |
||||
" |
||||
Plug 'preservim/nerdtree' |
||||
" |
||||
Plug 'tpope/vim-surround' |
||||
" |
||||
Plug 'tpope/vim-unimpaired' |
||||
" |
||||
Plug 'inkarkat/vim-ExtractMatches' |
||||
" |
||||
Plug 'inkarkat/vim-ingo-library' |
||||
" |
||||
"Plug 'PProvost/vim-ps1' |
||||
" |
||||
"Plug 'ekalinin/Dockerfile.vim' |
||||
" |
||||
Plug 'vim-airline/vim-airline-themes' |
||||
" |
||||
Plug 'vim-airline/vim-airline' |
||||
" |
||||
Plug 'ryanoasis/vim-devicons' |
||||
" |
||||
Plug 'jamessan/vim-gnupg' |
||||
" |
||||
Plug 'airblade/vim-gitgutter' |
||||
" |
||||
Plug 'tpope/vim-fugitive' |
||||
" |
||||
Plug 'xuyuanp/nerdtree-git-plugin' |
||||
" |
||||
"Plug 'scrooloose/syntastic' |
||||
" |
||||
Plug 'dense-analysis/ale' |
||||
" |
||||
Plug 'davidhalter/jedi-vim' |
||||
" |
||||
Plug 'ctrlpvim/ctrlp.vim' |
||||
" |
||||
Plug 'neoclide/coc.nvim', {'branch': 'release'} |
||||
" |
||||
" Initialize plugin system |
||||
call plug#end() |
@ -0,0 +1,11 @@
|
||||
"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 |
||||
" Check pylint for python |
||||
"let g:syntastic_python_flake8_exe = 'D:\Program Files\Python39\Scripts\flake8.exe' |
||||
"let g:syntastic_python_checkers = ['bandit', 'flake8', 'pylint'] |
||||
"let g:syntastic_python_bandit_exe = 'D:\Program Files\Python39\Scripts\bandit.exe' |
||||
" |
||||
"let g:airline#extensions#syntastic#stl_format_err = 1 |
||||
"let g:airline#extensions#syntastic#stl_format_warn = 1 |
Loading…
Reference in new issue