From 7eef7a526dab6cdfb00c8c8db6f98671079cdad8 Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Thu, 7 May 2026 11:13:48 -0400 Subject: [PATCH] final --- vimrc | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/vimrc b/vimrc index 085a95e..3c6448d 100644 --- a/vimrc +++ b/vimrc @@ -67,7 +67,7 @@ let g:netrw_altv = 1 augroup vimrc_netrw autocmd! - autocmd FileType netrw setlocal nobuflisted + autocmd FileType,BufEnter,BufWinEnter * call HideNetrwBuffer() autocmd FileType netrw nnoremap :wincmd l autocmd FileType netrw nnoremap :wincmd h autocmd FileType netrw nnoremap :wincmd j @@ -192,8 +192,21 @@ function! SafeBdelete() execute 'bdelete ' . l:buf endfunction +function! IsNetrwBuffer(buf) + let l:name = bufname(a:buf) + return getbufvar(a:buf, '&filetype') =~# '^netrw' + \ || fnamemodify(l:name, ':t') ==# 'NetrwTreeListing' + \ || (!empty(l:name) && isdirectory(l:name)) +endfunction + +function! HideNetrwBuffer() + if IsNetrwBuffer(bufnr('%')) + setlocal nobuflisted + endif +endfunction + function! ListedFileBuffers() - return filter(range(1, bufnr('$')), 'buflisted(v:val) && getbufvar(v:val, "&filetype") !=# "netrw"') + return filter(range(1, bufnr('$')), 'buflisted(v:val) && !IsNetrwBuffer(v:val)') endfunction function! SafeBnext(dir) @@ -215,6 +228,10 @@ function! SafeBnext(dir) execute 'buffer ' . l:buffers[l:index] endfunction +if exists(':Buffers') == 2 + command! -bar -bang -nargs=? -complete=buffer Buffers call fzf#vim#buffers(, ListedFileBuffers(), fzf#vim#with_preview({ 'placeholder': '{1}' }), 0) +endif + " --- Plugin management --- nnoremap pu :PlugUpdate nnoremap pd :PlugUpgrade