Vim buffers, tabs en windows

Op deze pagina:

In Vim kun je meerdere bestanden via meerdere manieren open hebben staan. In het kort: in de buffers zitten je geopende bestanden, tabs zijn containers voor windows, een window is een schermdeel waar een bestand in te zien is dat in een buffer staat.

In je ~/.vimrc moet je deze regel opnemen om te zorgen dat je meer als één gewijzigd bestand open kan hebben:


set hidden

Buffers

Een buffer is een tekstbestand in het geheugen. Voor elk tekstbestand dat je in Vim opent wordt er een buffer gemaakt. Als je meerdere tekstbestanden opent, bijvoorbeeld met:


vim index.html contact.html nieuws.html

dan kun je de buffers opvragen via:


:ls 

# of:
:buffers

# of:
:files

Wat wordt er bij de bufferregels aangegeven (buffer indicators):

% : buffer in het huidige window

# : alternatieve buffer, te verkrijgen via CTRL-6

a : actieve buffer, geladen en zichtbaar

h : hidden buffer, geladen, maar niet zichtbaar

- : een buffer die niet aangepast kan worden

= : een buffer die alleen lezen is

+ : een buffer die is aangepast

x : een buffer met schrijffouten

: geen buffer indicator betekent dat de buffer nog niet is geladen

Wisselen tussen de bestanden in de buffers kan met:


# naar de volgende buffer:
:bnext
# naar de vorige buffer
:bprev

# naar de buffer waarvan je de naam opgeeft:
:buffer naam_van_het_bestand

# naar de buffer waarvan je het nummer opgeeft
# in dit voorbeeld buffer nummer 3:
:buffer3
# of:
:b3

Wisselen met het vorige bestand kan met Ctrl en ^ (dakje, meestal de 6-toets).

Als een buffer is geopend, dan blijft deze in je bufferlijst.

Een buffer sluiten kan met:


# buffer nummer 3 sluiten:
:bdelete3

Alle buffers openen in windows:


:ball

Windows

Een window is een kijkvenster op een buffer. In Vim kun je meerdere windows geopend hebben.

Een nieuw window aanmaken met horizontale splitsing, een bestandsnaam is optioneel:


:new index.html

Een nieuw window aanmaken met verticale splitsing, een bestandsnaam is optioneel:


:vnew index.html

Een window splitsen (bestandsnaam is optioneel):


# horizontaal:
:split index.html

# verticaal:
:vsplit index.html

Een nieuw bestand openen en in een window plaatsen:


:edit index.html

Een window sluiten:


:q

Navigeren tussen windows:

naar windows links: Ctrl + w h

naar window rechts: Ctrl + w l

naar window beneden: Ctrl + w j

naar window boven: Ctrl + w k

Tabs

In veel teksteditors is een tab een open bestand. In Vim is een tab een verzameling windows. Als je een tab sluit in Vim, dan staan de bestanden nog steeds in de buffers.

Een nieuwe tab openen:


:tabnew bestandsnaam

Een tab sluiten:


:tabclose

Navigeren met tabs:


# naar de volgende tab
:tabnext

# naar de vorige tab
:tabprevious

# naar de laatste tab
:tablast

# naar de eerste tab
:tabfirst

Vim starten met meerdere tabs:


vim -p index.html contact.html nieuws.html

 

Verwante artikelen