Tabs and buffers

Tabs allow you to keep many web pages open at the same time and to quickly switch between them. Each tab contains exactly one buffer. If your version of &dactyl.host; supports tab groups, only buffers in the active group will be attached to visible tabs. Although not all buffers are always attached to visible tabs, they are all always accessible via the buffer-centric commands and key bindings. Tab-centric commands and key bindings, however, only operate on the set of visible tabs.

Listing tabs

B :tabs :ls :files :buffers :buffers filter B

Show a list of buffers matching filter. Buffers are listed according to their tab groups, whether they are visible or not.

A buffer may be marked with one of the following indicators:

%
The current buffer
#
The alternate buffer for :buffer # and
:keepa :keepalt :keepalt cmd

Execute a command without changing the current alternate buffer.

Opening tabs

:tab :tab cmd

Execute cmd, but open any new pages in a new tab rather than the currently focused tab.

:window :wind :window cmd

Execute cmd, but open any new pages in a new window rather than the currently focused tab.

:tabdu :tabduplicate :counttabduplicate

Duplicate the current tab and focus the duplicate. If count is given, duplicate the tab count times.

See opening for other ways to open new tabs.

Changing tabs

gb countgb

Repeat last :buffer! command. This is useful to quickly jump between buffers which have a similar URL or title.

gB countgB

Repeat last :buffer! command in the reverse direction.

gt countgt

Go to the next tab. Cycles to the first tab when the last one is selected. If count is specified, go to the countth tab.

]]> count<C-n>

Go to the next tab. Cycles to the first tab when the last one is selected. If count is specified, go to the countth next tab.

gT]]> countgT

Go to the previous tab. Cycles to the last tab when the first one is selected. If count is specified, go to the countth previous tab.

:tabn :tabnext :counttabnext count :tn :tnext :counttnext count :bn :bnext :countbnext count

Switch to the next or countth tab. Cycles to the first tab when the last one is selected and count is not specified.

:bN :bNext :bp :bprevious :countbprevious count :countbNext count :tN :tNext :tabN :tabNext :counttabNext count :tp :tprevious :tabp :tabprevious :counttabprevious count :counttprevious count

Switch to the previous tab or go count tabs back. Wraps around from the first tab to the last tab.

]]> count<C-^>

Select the previously selected tab. This provides a quick method of toggling between two tabs. If count is specified, go to the countth tab.

b :b :buffer :countbuffer! url|index countb

Go to the specified buffer from the buffer list. Argument can be either the buffer index or the full URL opened in an existing buffer. If count is given, go to the countth buffer.

If argument is neither a full URL nor an index but uniquely identifies a buffer, it is selected. With ! the next buffer matching the argument is selected, even if it cannot be identified uniquely. Use b as a shortcut to open this prompt.

If argument is #, the alternate buffer will be selected (see ).

If no argument is given, the current buffer remains current.

g^ g0 g0 g^ :bf :bfirst :br :brewind :brewind :bfirst :tabfir :tabfirst :tabr :tabrewind :tabrewind :tabfirst

Switch to the first tab.

g$ :bl :blast :tabl :tablast :tablast :blast g$

Switch to the last tab.

:tabde :tabdetach :tabdetach

Detach the current tab, and open it in its own window. As each window must contain at least one buffer, it is not possible to detach the last buffer in a window.

:taba :tabattach :tabattach window-index buffer-index

Attach the current tab to another window. window-index is an index into the list of open windows and buffer-index is the index at which to insert the tab in the other window's buffer list. If this is the last buffer in a window, the window will be closed.

Reordering tabs

:tabm :tabmove :tabmove N :tabmove! +N | -N

Move the current tab to the position of tab N. When N is 0, the current tab is made the first one. N can also be prefixed with ‘+’ or ‘-’ to indicate a relative movement. If ! is specified the movement wraps around the start or end of the tab list.

Closing tabs

d :tabc :tabclose :bun :bunload :bw :bwipeout :bd :bdelete :countbdelete! arg :countbunload! arg :countbwipeout! arg :counttabclose! arg countd

Delete current buffer. If count is specified then count tabs are removed. Afterwards, the tab to the right of the deleted tabs is selected.

When used with arg, remove all tabs which contain arg in the currently opened hostname. With !, remove all tabs for which the currently opened page's URL or title contains arg.

D countD

Like d but selects the tab to the left of the deleted tabs after deletion.

:tabo :tabonly :tabonly

Close all buffers other than the currently visible tab.

u :u :undo :countundo url countu

Restore a closed tab. If a count is given, restore the countth closed tab. With url, restores most recently closed tab with a matching URL.

:undoa :undoall :undoall

Restore all closed tabs in the closed tabs list.

Looping over tabs

:tabd :tabdo :bufd :bufdo :tabdo cmd

Execute cmd once in each buffer. Each buffer is focused, in turn, and cmd is executed therein. The last buffer remains focused after execution.

cmd should not alter the tab list state by adding, removing or reordering tabs.

Application Tabs

:pin :pintab :countpintab! arg

Pin tab as an application tab. If ! is given, the tab's pinned state is toggled. Arguments and count are the same as for :bdelete and :buffer.

:unpin :unpintab :countunpintab arg

Unpin tab as an application tab. Arguments and count are the same as for :pintab.