Wenn ein Puffer gelöscht wird (der Befehl "bd [elete]"), löscht er nicht nur den Puffer, sondern entfernt auch das geteilte Fenster, in dem sich der Puffer befand.
Gibt es eine Möglichkeit, einen Puffer zu löschen / zu entladen und das Fenster geteilt zu halten?
DeleteCurBufferNotCloseWindow()
funktioniert gut und ist gut lesbar] ( stackoverflow.com/a/44950143/3625404 ).Antworten:
Ich mag bufkill.vim gibt es ein GitHub Repo sowie
quelle
bp|bd #
werde es tun.Details:
bp
("Puffer zurück") verschiebt uns in einen anderen Puffer im aktuellen Fenster (bn
würde auch funktionieren), dannbd #
löscht ("Puffer löschen" "Alternative Datei") den Puffer, aus dem wir gerade entfernt wurden. Siehe auch :help bp
,help bd
,help alternate-file
.quelle
nnoremap <C-c> :bp\|bd #<CR>
nmap <silent> <leader>d :bp|bd #<CR>
, aber ich bekommeE94: No matching buffer for #<CR>
.|
(zB:bp\|bd
)b#|bd #
wechselt zum zuletzt verwendeten Puffer anstelle des nächsten / vorherigen. Es wird jedoch zu versteckten Puffern springen, wenn Sie dies getan habenset hidden
. Deshalb habe ich eine intelligentere BD-Funktion entwickelt, um dies zu vermeiden.Sie können Folgendes hinzufügen
.vimrc
, umBd
Arbeit zu habenbd
, ohne jedoch die Fensteraufteilungen zu berühren:command Bd bp\|bd \#
Ich fand dies eine nützliche Ergänzung zu dem, was Mud antwortete.
quelle
command! Bd bp|bd #
. Der obige Befehl mit dem `` hat den Puffer in der Pufferliste behalten.Siehe Löschen eines Puffers ohne Schließen des Fensters im VIM-Tipps-Wiki.
quelle
Ich mache etwas Ähnliches wie @Mud, wechsle aber zum vorherigen Ansichtspuffer
#
anstelle des vorherigen Puffers in der Pufferliste. Hier ist ein verbindlicher Schlüssel in meinem.vimrc
:Schließen Sie Standortfenster, falls vorhanden, wechseln Sie zum vorherigen Ansichtspuffer und schließen Sie dann den zuletzt geschalteten Puffer.
quelle
Meine Wahl ist
Denken Sie so! /// <1. Puffer zurückrufen> | <2. Puffer löschen>
Warum?! Es ist leicht, sich 3 (+ 1) Schlüsselwörter zu merken!
Das ist einfach und in vielen anderen Fällen sehr nützlich!
Einen schönen Tag noch! :) :)
quelle
Vorher habe ich benutzt :
Aber ich fand bestimmte Gelegenheiten, in denen es mein Fenster schloss. Darüber hinaus entspricht der nächste oder vorherige Puffer möglicherweise nicht dem, was Sie in der Aufteilung anzeigen möchten.
Jetzt mache ich das:
nnoremap <leader>d :bd#<CR>
quelle