Wielkie dzięki, to zachowanie vima bardzo mnie wkurzyło! btw, najnowsza wersja bufkill jest na github.com/qpkorr/vim-bufkill
fsrechia
327
bp|bd # zrobię to.
Szczegóły: bp(„bufor poprzedni”) przenosi nas do innego bufora w bieżącym oknie (też bnby działał), a następnie bd #(„usuwanie bufora” „plik alternatywny”) usuwa bufor, z którego właśnie się przenieśliśmy. Patrz: help bp, help bd, help alternate-file.
Nie masz pojęcia, jak długo szukałem czegoś takiego, co jest tak proste, nie wymagające i całego skryptu do uruchomienia. W moim VIMRC mam to teraz zmapowane dla CTRL + C:nnoremap <C-c> :bp\|bd #<CR>
Chmura
11
Próbuję ponownie mapować używając nmap <silent> <leader>d :bp|bd #<CR>, ale dostaję E94: No matching buffer for #<CR>.
Fábio Perez,
22
Umieść ukośnik odwrotny przed |(np. :bp\|bd)
Błoto
4
Wiedziałem, że nie powinienem instalować do tego wtyczki. Dzięki!
Akash Agrawal
2
b#|bd #przełączy się na ostatnio używany bufor zamiast na następny / poprzedni. Jeśli jednak masz set hidden, przeskoczy do ukrytych buforów , więc stworzyłem bardziej inteligentną funkcję BD, aby tego uniknąć.
c24w
15
Można dodać następujące wpisy do .vimrcuzyskania Bdpracy jako bdale bez dotykania dzieli okno:
Możesz dodać 3 polecenia do wyładowywania, usuwania i wymazywania bufora: polecenie! BUN bp \ | bun \ # polecenie! Polecenie BD bp \ | bd \ #! BW bp \ | bw \ # co jest równoważne temu, co dostarcza bufkill, ale z 3 liniami w vimrc zamiast wtyczki 700+ linii!
fievel
3
U mnie działało tylko z tym w .vimrc command! Bd bp|bd #. Powyższe polecenie z `` zachował bufor na liście buforów.
Robię coś podobnego do @Mud, ale przełączam się na poprzedni bufor widoku #, zamiast poprzedniego bufora na liście buforów. Oto klucz wiążący w moim .vimrc:
Ale znalazłem pewne sytuacje, w których zamykało moje okno. Ponadto następny lub poprzedni bufor może nie być tym, co chcesz, aby był wyświetlany w podziale.
DeleteCurBufferNotCloseWindow()
działa dobrze i jest całkiem czytelny] ( stackoverflow.com/a/44950143/3625404 ).Odpowiedzi:
Bardzo podoba mi bufkill.vim jest repo github także
źródło
bp|bd #
zrobię to.Szczegóły:
bp
(„bufor poprzedni”) przenosi nas do innego bufora w bieżącym oknie (teżbn
by działał), a następniebd #
(„usuwanie bufora” „plik alternatywny”) usuwa bufor, z którego właśnie się przenieśliśmy. Patrz:help bp
,help bd
,help alternate-file
.źródło
nnoremap <C-c> :bp\|bd #<CR>
nmap <silent> <leader>d :bp|bd #<CR>
, ale dostajęE94: No matching buffer for #<CR>
.|
(np.:bp\|bd
)b#|bd #
przełączy się na ostatnio używany bufor zamiast na następny / poprzedni. Jeśli jednak maszset hidden
, przeskoczy do ukrytych buforów , więc stworzyłem bardziej inteligentną funkcję BD, aby tego uniknąć.Można dodać następujące wpisy do
.vimrc
uzyskaniaBd
pracy jakobd
ale bez dotykania dzieli okno:command Bd bp\|bd \#
Uznałem to za przydatne uzupełnienie odpowiedzi Mud.
źródło
command! Bd bp|bd #
. Powyższe polecenie z `` zachował bufor na liście buforów.Zobacz usuwanie bufora bez zamykania okna na wiki porad VIM.
źródło
Robię coś podobnego do @Mud, ale przełączam się na poprzedni bufor widoku
#
, zamiast poprzedniego bufora na liście buforów. Oto klucz wiążący w moim.vimrc
:Zamknij okna lokalizacji, jeśli istnieją, przełącz się na poprzedni bufor widoku, a następnie zamknij ostatni przełączany bufor.
źródło
Mój wybór jest
Pomyśl w ten sposób! /// <1. Przywołaj bufor> | <2. Usuń bufor>
czemu?! Łatwo zapamiętać 3 (+ 1) słowo kluczowe!
To jest łatwe i bardzo przydatne w wielu innych przypadkach!
Miłego dnia! :)
źródło
Zwykłem używać :
Ale znalazłem pewne sytuacje, w których zamykało moje okno. Ponadto następny lub poprzedni bufor może nie być tym, co chcesz, aby był wyświetlany w podziale.
Teraz robię to:
nnoremap <leader>d :bd#<CR>
źródło