New cool stuff added.

This commit is contained in:
Sebastian 2021-08-31 10:34:44 +02:00
parent f3dc49e2ea
commit b6430263e4

View file

@ -31,7 +31,7 @@ Plug 'chauncey-garrett/vim-tasklist'
Plug 'ctrlpvim/ctrlp.vim' Plug 'ctrlpvim/ctrlp.vim'
" I need thsi for python " I need thsi for python
Plug 'davidhalter/jedi-vim' Plug 'davidhalter/jedi-vim'
" Linter and analyse tool " Linter and analyse tool
Plug 'dense-analysis/ale' Plug 'dense-analysis/ale'
@ -286,6 +286,7 @@ let g:airline#extensions#tabline#enabled = 1 " Show buffers as tabs
let g:ale_linters = {'python': ['flake8', 'mypy', 'pylint', 'prospector']} let g:ale_linters = {'python': ['flake8', 'mypy', 'pylint', 'prospector']}
let g:ale_fixers = {'python': ['isort', 'black'], let g:ale_fixers = {'python': ['isort', 'black'],
\'json': ['fixjson'], \'json': ['fixjson'],
\'xml': ['xmllint'],
\'java': ['uncrustify'], \'java': ['uncrustify'],
\'tex': ['latexindent']} \'tex': ['latexindent']}
@ -345,6 +346,81 @@ set undofile
" Set the character which is used as tab indent marker " Set the character which is used as tab indent marker
let g:indentLine_char = '┊' let g:indentLine_char = '┊'
" In split views, delete a buffer but keep the window layout.
" Found it here: https://vim.fandom.com/wiki/Deleting_a_buffer_without_closing_the_window
"delete the buffer; keep windows; create a scratch buffer if no buffers left
function s:Kwbd(kwbdStage)
if(a:kwbdStage == 1)
if(&modified)
let answer = confirm("This buffer has been modified. Are you sure you want to delete it?", "&Yes\n&No", 2)
if(answer != 1)
return
endif
endif
if(!buflisted(winbufnr(0)))
bd!
return
endif
let s:kwbdBufNum = bufnr("%")
let s:kwbdWinNum = winnr()
windo call s:Kwbd(2)
execute s:kwbdWinNum . 'wincmd w'
let s:buflistedLeft = 0
let s:bufFinalJump = 0
let l:nBufs = bufnr("$")
let l:i = 1
while(l:i <= l:nBufs)
if(l:i != s:kwbdBufNum)
if(buflisted(l:i))
let s:buflistedLeft = s:buflistedLeft + 1
else
if(bufexists(l:i) && !strlen(bufname(l:i)) && !s:bufFinalJump)
let s:bufFinalJump = l:i
endif
endif
endif
let l:i = l:i + 1
endwhile
if(!s:buflistedLeft)
if(s:bufFinalJump)
windo if(buflisted(winbufnr(0))) | execute "b! " . s:bufFinalJump | endif
else
enew
let l:newBuf = bufnr("%")
windo if(buflisted(winbufnr(0))) | execute "b! " . l:newBuf | endif
endif
execute s:kwbdWinNum . 'wincmd w'
endif
if(buflisted(s:kwbdBufNum) || s:kwbdBufNum == bufnr("%"))
execute "bd! " . s:kwbdBufNum
endif
if(!s:buflistedLeft)
set buflisted
set bufhidden=delete
set buftype=
setlocal noswapfile
endif
else
if(bufnr("%") == s:kwbdBufNum)
let prevbufvar = bufnr("#")
if(prevbufvar > 0 && buflisted(prevbufvar) && prevbufvar != s:kwbdBufNum)
b #
else
bn
endif
endif
endif
endfunction
command! Kwbd call s:Kwbd(1)
nnoremap <silent> <Plug>Kwbd :<C-u>Kwbd<CR>
" Create a mapping (e.g. in your .vimrc) like this:
"nmap <C-W>! <Plug>Kwbd
nmap <leader>d <Plug>Kwbd
" Load local config if there is one " Load local config if there is one
if filereadable($HOME . "/.vimrc.local") if filereadable($HOME . "/.vimrc.local")
source ~/.vimrc.local source ~/.vimrc.local