New cool stuff added.
This commit is contained in:
parent
f3dc49e2ea
commit
b6430263e4
1 changed files with 77 additions and 1 deletions
|
|
@ -31,7 +31,7 @@ Plug 'chauncey-garrett/vim-tasklist'
|
|||
Plug 'ctrlpvim/ctrlp.vim'
|
||||
|
||||
" I need thsi for python
|
||||
Plug 'davidhalter/jedi-vim'
|
||||
Plug 'davidhalter/jedi-vim'
|
||||
|
||||
" Linter and analyse tool
|
||||
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_fixers = {'python': ['isort', 'black'],
|
||||
\'json': ['fixjson'],
|
||||
\'xml': ['xmllint'],
|
||||
\'java': ['uncrustify'],
|
||||
\'tex': ['latexindent']}
|
||||
|
||||
|
|
@ -345,6 +346,81 @@ set undofile
|
|||
" Set the character which is used as tab indent marker
|
||||
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
|
||||
if filereadable($HOME . "/.vimrc.local")
|
||||
source ~/.vimrc.local
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue