|
|
@@ -526,6 +526,7 @@ function! s:MapKeys()
|
|
|
nnoremap <script> <silent> <nowait> <buffer> u :call <SID>ToggleShowUnlisted()<CR>
|
|
|
nnoremap <script> <silent> <nowait> <buffer> v :call <SID>SelectBuffer("split", "vr")<CR>
|
|
|
nnoremap <script> <silent> <nowait> <buffer> V :call <SID>SelectBuffer("split", "vl")<CR>
|
|
|
+ nnoremap <script> <silent> <nowait> <buffer> x :call <SID>RemoveBuffer("force_delete")<CR>
|
|
|
|
|
|
for k in ["G", "n", "N", "L", "M", "H"]
|
|
|
execute "nnoremap <buffer> <silent>" k ":keepjumps normal!" k."<CR>"
|
|
|
@@ -648,6 +649,7 @@ function! s:CreateHelp()
|
|
|
call add(header, '" u : toggle showing unlisted buffers')
|
|
|
call add(header, '" V : open buffer in another window on the left of the current')
|
|
|
call add(header, '" v : open buffer in another window on the right of the current')
|
|
|
+ call add(header, '" x : delete buffer without saving changes')
|
|
|
else
|
|
|
call add(header, '" Press <F1> for Help')
|
|
|
endif
|
|
|
@@ -964,8 +966,12 @@ function! s:RemoveBuffer(mode)
|
|
|
let _bufNbr = str2nr(getline('.'))
|
|
|
|
|
|
if getbufvar(_bufNbr, '&modified') == 1
|
|
|
- call s:Error("Sorry, no write since last change for buffer "._bufNbr.", unable to delete")
|
|
|
- return
|
|
|
+
|
|
|
+ if a:mode != "force_delete"
|
|
|
+ call s:Error("Sorry, no write since last change for buffer "._bufNbr.", unable to delete")
|
|
|
+ return
|
|
|
+ endif
|
|
|
+ call s:DeleteBuffer(_bufNbr, a:mode)
|
|
|
else
|
|
|
" Okay, everything is good, delete or wipe the buffer.
|
|
|
call s:DeleteBuffer(_bufNbr, a:mode)
|
|
|
@@ -985,7 +991,9 @@ function! s:DeleteBuffer(buf, mode)
|
|
|
" Wipe/Delete buffer from Vim.
|
|
|
if a:mode == "wipe"
|
|
|
execute "silent bwipe" a:buf
|
|
|
- else
|
|
|
+ elseif a:mode == "force_delete"
|
|
|
+ execute "silent bdelete!" a:buf
|
|
|
+ else
|
|
|
execute "silent bdelete" a:buf
|
|
|
endif
|
|
|
|