1 <?xml version="1.0" encoding="UTF-8"?>
2 <?xml-stylesheet type="text/xsl" href="dactyl://content/help.xsl"?>
4 <!DOCTYPE document SYSTEM "dactyl://content/dtd">
8 title="&dactyl.appName; Tabs"
10 xmlns:html="&xmlns.html;">
12 <h1 tag="tabs buffers">Tabs and buffers</h1>
16 Tabs allow you to keep many web pages open at the same time and to quickly
17 switch between them. Each tab contains exactly one buffer. If your version
18 of &dactyl.host; supports tab groups, only buffers in the active group
19 will be attached to visible tabs. Although not all buffers are always
20 attached to visible tabs, they are all always accessible via the
21 buffer-centric commands and key bindings. Tab-centric commands and key
22 bindings, however, only operate on the set of visible tabs.
29 <h2 tag="listing-tabs">Listing tabs</h2>
32 <tags>B :tabs :ls :files :buffers</tags>
33 <spec>:buffers <oa>filter</oa></spec>
37 Show a list of buffers matching <oa>filter</oa>. Buffers are
38 listed according to their tab groups, whether they are visible or
42 <p>A buffer may be marked with one of the following indicators:</p>
45 <dt><hl key="Indicator">%</hl></dt><dd>The current buffer</dd>
46 <dt><hl key="Indicator">#</hl></dt><dd>The alternate buffer for <ex>:buffer #</ex> and <k name="C-^"/></dd>
52 <tags>:keepa :keepalt</tags>
53 <spec>:keepa<oa>lt</oa> <a>cmd</a></spec>
55 <p>Execute a command without changing the current alternate buffer.</p>
59 <h2 tag="opening-tabs">Opening tabs</h2>
62 <tags><![CDATA[<new-tab-next> <C-t>]]></tags>
63 <spec><oa>count</oa><![CDATA[<C-t>]]></spec>
65 <p>Execute the next <oa>count</oa> mappings in a new tab.</p>
70 <tags>:bg :background</tags>
71 <spec>:background</spec>
73 <p>Execute a command opening any new tabs in the background.</p>
81 <spec>:tab <a>cmd</a></spec>
84 Execute <a>cmd</a>, but open any new pages in a new tab rather
85 than the currently focused tab.
91 <!-- TODO: move this somewhere more appropriate -->
92 <tags>:window :wind</tags>
93 <spec>:wind<oa>ow</oa> <a>cmd</a></spec>
96 Execute <a>cmd</a>, but open any new pages in a new window rather
97 than the currently focused tab.
102 <!-- TODO: should the tab commands be moved back here? -->
104 See <t>opening</t> for other ways to open new tabs.
107 <h2 tag="changing-tabs">Changing tabs</h2>
112 <spec><oa>count</oa>gb</spec>
115 Repeat last <ex>:buffer</ex> command. This is useful to quickly
116 jump between buffers which have a similar URL or title.
124 <spec><oa>count</oa>gB</spec>
127 Repeat last <ex>:buffer</ex> command in the reverse direction.
135 <spec><oa>count</oa>gt</spec>
138 Go to the next tab. Cycles to the first tab when the last one is selected.
139 If <oa>count</oa> is specified, go to the <oa>count</oa>th tab.
145 <tags><![CDATA[<C-PageDown> <C-Tab> <C-n>]]></tags>
147 <spec><oa>count</oa><C-n></spec>
150 Go to the next tab. Cycles to the first tab when the last one is selected.
151 If <oa>count</oa> is specified, go to the <oa>count</oa>th next tab.
157 <tags><![CDATA[<C-PageUp> <C-S-Tab> <C-p> gT]]></tags>
159 <spec><oa>count</oa>gT</spec>
162 Go to the previous tab. Cycles to the last tab when the first one is selected.
163 If <oa>count</oa> is specified, go to the <oa>count</oa>th previous tab.
169 <tags>:tabn :tabnext</tags>
170 <spec>:<oa>count</oa>tabn<oa>ext</oa> <oa>count</oa></spec>
171 <tags>:tn :tnext</tags>
172 <spec>:<oa>count</oa>tn<oa>ext</oa> <oa>count</oa></spec>
173 <tags>:bn :bnext</tags>
174 <spec>:<oa>count</oa>bn<oa>ext</oa> <oa>count</oa></spec>
177 Switch to the next or <oa>count</oa>th tab. Cycles to the first tab when
178 the last one is selected and <oa>count</oa> is not specified.
184 <tags>:bN :bNext :bp :bprevious</tags>
185 <spec>:<oa>count</oa>bp<oa>revious</oa> <oa>count</oa></spec>
186 <spec>:<oa>count</oa>bN<oa>ext</oa> <oa>count</oa></spec>
187 <tags>:tN :tNext :tabN :tabNext</tags>
188 <spec>:<oa>count</oa>tabN<oa>ext</oa> <oa>count</oa></spec>
189 <tags>:tp :tprevious :tabp :tabprevious</tags>
190 <spec>:<oa>count</oa>tabp<oa>revious</oa> <oa>count</oa></spec>
191 <spec>:<oa>count</oa>tp<oa>revious</oa> <oa>count</oa></spec>
194 Switch to the previous tab or go <oa>count</oa> tabs back. Wraps around from the
195 first tab to the last tab.
201 <tags><![CDATA[<C-6> <C-^>]]></tags>
202 <spec><oa>count</oa><C-^></spec>
205 Select the previously selected tab. This provides a quick method of toggling
206 between two tabs. If <oa>count</oa> is specified, go to the <oa>count</oa>th tab.
212 <tags>b :b :buffer</tags>
213 <spec>:<oa>count</oa>b<oa>uffer</oa><oa>!</oa> <oa>url|index</oa></spec>
214 <spec>:<oa>count</oa>b<oa>uffer</oa><oa>!</oa> <a>match</a></spec>
215 <spec><oa>count</oa>b</spec>
218 Go to the specified buffer from the buffer list. Argument can be
219 either the buffer index or the full URL opened in an existing
220 buffer. If <oa>count</oa> is given, go to the <oa>count</oa>th
225 If argument is neither a full URL nor an index but uniquely identifies a
226 buffer, by a partial match with the URL or title, it is selected.
227 With <oa>!</oa> the next buffer matching the argument is selected,
228 even if it cannot be identified uniquely. Use <k>b</k> as a
229 shortcut to open this prompt.
232 <p>If argument is <em>#</em>, the alternate buffer will be selected (see <k name="C-^"/>).</p>
234 <p>If no argument is given, the current buffer remains current.</p>
243 <tags>:bf :bfirst :br :brewind</tags>
244 <spec>:br<oa>ewind</oa></spec>
245 <spec>:bf<oa>irst</oa></spec>
247 <tags>:tabfir :tabfirst :tabr :tabrewind</tags>
248 <spec>:tabr<oa>ewind</oa></spec>
249 <spec>:tabfir<oa>st</oa></spec>
251 <p>Switch to the first tab.</p>
256 <tags>g$ :bl :blast :tabl :tablast</tags>
257 <spec>:tabl<oa>ast</oa></spec>
258 <spec>:bl<oa>ast</oa></spec>
261 <p>Switch to the last tab.</p>
266 <tags>:tabde :tabdetach</tags>
268 <spec>:tabde<oa>tach</oa></spec>
271 Detach the current tab, and open it in its own window. As each
272 window must contain at least one buffer, it is not possible to detach
273 the last buffer in a window.
279 <tags>:taba :tabattach</tags>
280 <spec>:taba<oa>ttach</oa> <a>window-index</a> <oa>buffer-index</oa></spec>
283 Attach the current tab to another window. <a>window-index</a> is
284 an index into the list of open windows and <oa>buffer-index</oa>
285 is the index at which to insert the tab in the other window's
286 buffer list. If this is the last buffer in a window, the window
290 <p>The following options are available:</p>
292 <dl dt="width: 8em;">
295 Attach to a tab group in the current window rather than to a
297 (short name <em>-g</em>).
303 <h2 tag="reordering-tabs">Reordering tabs</h2>
306 <tags>:tabm :tabmove</tags>
307 <spec>:tabm<oa>ove</oa> <a>N</a></spec>
308 <spec>:tabm<oa>ove</oa> <a>match</a></spec>
309 <spec>:tabm<oa>ove</oa><oa>!</oa> <a>+N|-N</a></spec>
312 Move the current tab to the position of tab <a>N</a>. When <a>N</a>
313 is <em>$</em>, the current tab is made the last one. <a>N</a> can
314 also be prefixed with <em>+</em> or <em>-</em> to indicate a
315 relative movement. If <oa>!</oa> is specified the movement wraps
316 around the start or end of the tab list.
319 The tab index may also be selected by a general <a>match</a> string
320 like <ex>:buffer</ex>.
325 <h2 tag="closing-tabs">Closing tabs</h2>
329 <tags>:tabc :tabclose</tags>
330 <spec>:<oa>count</oa>tabc<oa>lose</oa><oa>!</oa> <oa>arg</oa></spec>
331 <spec><oa>count</oa>d</spec>
334 Delete current buffer. If <oa>count</oa> is specified then <oa>count</oa> tabs are
335 removed. Afterwards, the tab to the right of the deleted tabs is selected.
339 When used with <oa>arg</oa>, remove all visible tabs which match the
340 <t>site-filter</t> <oa>arg</oa>. With <oa>!</oa>, remove all tabs
341 for which the currently opened page's URL or title matches the
342 regular expression <oa>arg</oa>.
348 <tags>:bd :bdelete</tags>
349 <spec>:<oa>count</oa>bd<oa>elete</oa><oa>!</oa> <oa>arg</oa></spec>
352 Like <ex>:tabclose</ex> but include hidden tabs.
360 <spec><oa>count</oa>D</spec>
362 <p>Like <k>d</k> but selects the tab to the left of the deleted tabs after deletion.</p>
367 <tags>:tabo :tabonly</tags>
369 <spec>:tabo<oa>nly</oa></spec>
371 <p>Close all buffers other than the currently visible tab.</p>
376 <tags>u :u :undo</tags>
377 <spec>:<oa>count</oa>u<oa>ndo</oa> <oa>url</oa></spec>
378 <spec><oa>count</oa>u</spec>
381 Restore a closed tab. If a <oa>count</oa> is given, restore the
382 <oa>count</oa>th closed tab. With <oa>url</oa>, restores most
383 recently closed tab with a matching URL.
389 <tags>:undoa :undoall</tags>
390 <spec>:undoa<oa>ll</oa></spec>
391 <description short="true">
392 <p>Restore all closed tabs in the closed tabs list.</p>
396 <h2 tag="looping-over-tabs">Looping over tabs</h2>
399 <tags>:tabd :tabdo :bufd :bufdo</tags>
400 <spec>:tabd<oa>o</oa> <a>cmd</a></spec>
403 Execute <a>cmd</a> once in each buffer. Each buffer is focused, in
404 turn, and <a>cmd</a> is executed therein. The last buffer remains
405 focused after execution.
409 <a>cmd</a> should not alter the tab list state by adding, removing or reordering
415 <h2 tag="app-tabs application-tabs pinned-tabs">Application Tabs</h2>
418 <tags>:pin :pintab</tags>
419 <spec>:<oa>count</oa>pin<oa>tab</oa><oa>!</oa> <oa>arg</oa></spec>
422 Pin tab as an application tab. If <oa>!</oa> is given,
423 the tab's pinned state is toggled. Arguments and count
424 are the same as for <ex>:bdelete</ex> and <ex>:buffer</ex>.
430 <tags>:unpin :unpintab</tags>
431 <spec>:<oa>count</oa>unpin<oa>tab</oa> <oa>arg</oa></spec>
434 Unpin tab as an application tab. Arguments and count
435 are the same as for <ex>:pintab</ex>.
443 <!-- vim:se sts=4 sw=4 et: -->