Tridactyl help page

Use :help <excmd> or scroll down to show help for a particular excmd. If you're still stuck, you might consider reading through the :tutor again.

The default keybinds and settings can be found here and active binds can be seen with :viewconfig nmaps or with bind.

Tridactyl also provides a few functions to manipulate text in the command line or text areas that can be found here. There are also a few commands only available in the command line which can be found here.

Ex-commands available exclusively in hint mode are listed here

We also have a wiki which may be edited by anyone.

Every function (excmd) on this page can be called via Tridactyl's command line which we call "ex". There is a slight change in syntax, however. Wherever you see:

function(arg1,arg2)

You should instead type

function arg1 arg2 into the Tridactyl command line (accessed via :)

A "splat" operator (...) means that the excmd will accept any number of space-delimited arguments into that parameter.

Above each function signature you will see any aliases or key sequences bound to it. The internal names for the various modes are used, which are listed here:

- `nmaps`: normal mode binds
- `imaps`: insert mode binds
- `inputmaps`: input mode binds
- `ignoremaps`: ignore mode binds
- `exaliases`: aliases in the command mode
- `exmaps`: commandline mode binds

At the bottom of each function's help page, you can click on a link that will take you straight to that function's definition in our code.

You do not need to worry about types. Return values which are promises will turn into whatever they promise to when used in composite.

There are some caveats common to all webextension vimperator-alikes:

  • To make Tridactyl work on addons.mozilla.org and some other Mozilla domains, you need to open about:config and add a new boolean privacy.resistFingerprinting.block_mozAddonManager with the value true, as well as remove those domains from extensions.webextensions.restrictedDomains.
  • Tridactyl can't run on about:*, some file:* URIs, view-source:*, or data:*, URIs.
  • To change/hide the GUI of Firefox from Tridactyl, you can use guiset with the native messenger installed (see native and nativeinstall). Alternatively, you can edit your userChrome yourself.

For more information, and FAQs, check out our readme and troubleshooting guide on github.

Tridactyl is in a pretty early stage of development. Please report any issues and make requests for missing features on the GitHub project page. You can also get in touch using Matrix, Gitter, or IRC chat clients:

Matrix Chat Gitter Chat Libera Chat

All three channels are mirrored together, so it doesn't matter which one you use.

abbreviate
addTridactylEditorClass
apropos
autocmd
autocmddelete
autocontain
back
bind
bindshow
bindurl
bindwizard
blacklistadd
bmark
bmarks
changelistjump
clearsearchhighlight
clipboard
colourscheme
comclear
command
composite
containerclose
containercreate
containerdelete
containerupdate
credits
cssparse
drawingerasertoggle
drawingstart
echo
editor
elementunhide
escapehatch
exclaim
exclaim_quiet
extoptions
fillcmdline
fillcmdline_nofocus
fillcmdline_notrail
fillcmdline_tmp
fillinput
find
findnext
findselect
firefoxsyncpull
firefoxsyncpush
fixamo
fixamo_quiet
focusbyid
focusinput
followpage
forward
fullscreen
get
getclip
getGotoSelectors
getinput
getInputSelector
getNativeVersion
gobble
goto
guiset
guiset_quiet
help
hidecmdline
hint
hintinput
hintstylesdirect
hintstylesnohighlights
hintstylesoverlays
home
issue
js
jsb
jsonview
jsua
jumble
jumpnext
jumpprev
keyfeed
keymap
loadaucmds
loadtheme
markadd
markaddglobal
markaddlocal
markjump
markjumpbefore
markjumpglobal
markjumplocal
mktridactylrc
mode
mouse_mode
mute
native
nativeinstall
nativeopen
neo_mouse_mode
nmode
no_mouse_mode
open
open_quiet
perfdump
perfhistogram
pied_piper_mouse_mode
pin
profilecreate
profilelaunch
profilerename
proxyadd
proxyremove
qall
quickmark
reader
readerold
recontain
reload
reloadall
reloadallbut
reloaddead
reloadhard
removepref
removeTridactylEditorClass
repeat
reset
reseturl
restart
rot13
rssexec
run_exstr
sanitise
saveas
scrollline
scrollpage
scrollpx
scrollstart
scrollstop
scrolltab
scrollto
searchsetkeyword
set
setContentStateGroup
setmode
setnull
setpref
seturl
shellescape
showcmdline
sidebaropen
sidebartoggle
sleep
snow_mouse_mode
source
source_quiet
tab
tab_helper
taball
tabaudio
tabclose
tabcloseallto
tabdetach
tabdiscard
tabduplicate
tabfirst
tabgrab
tablast
tabmove
tabnext
tabnext_gt
tabonly
tabopen
tabopenwait
tabprev
tabpush
tabqueue
tabrename
tabsort
text2qr
tgroupabort
tgroupclose
tgroupcreate
tgrouplast
tgroupmove
tgrouprename
tgroupswitch
tstattach
tstmove
tstmoveafter
ttscontrol
ttsread
ttsvoices
tutor
unabbreviate
unbind
unbindurl
undo
unfocus
unkeymap
unloadtheme
unset
unsetmode
unseturl
updatecheck
updatenative
url2args
urlincrement
urlmodify
urlmodify_js
urlparent
urlroot
version
viewconfig
viewcontainers
viewsource
winclose
winmerge
winopen
wintitle
yank
yankimage
zoom
  • Parameters

    • abbreviation: string
    • ...expansion: string[]

    Returns Promise<any>

  • Parameters

    • selector: string

    Returns Promise<any>

  • Parameters

    • ...helpItems: string[]

    Returns Promise<any>

  • Parameters

    • event: string
    • url: string
    • ...excmd: string[]

    Returns Promise<any>

  • Parameters

    • event: string
    • url: string

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • pattern: string
    • mode: string
    • keys: string
    • ...excmd: string[]

    Returns Promise<void>

  • Generate a key sequence from keypresses. Once Enter is pressed, the command line is filled with a bind command with the key sequence and provided arguments, which you can choose to modify and execute.

    If you have :set keyboardlayoutforce true, it will bind commands to physical keys regardless of layout.

    Accepts the same arguments as bind (except for the key sequence which will be generated):

    - `bindwizard [command]`, then press the keys you want to bind, then hit Enter.
    - `bindwizard --mode=[mode] [command]` also works.
    

    You can execute it without arguments to see what is bound to the keys you type.

    Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • url: string

    Returns Promise<any>

  • Parameters

    • Optionalurl: string
    • ...titlearr: string[]

    Returns Promise<BookmarkTreeNode>

  • Parameters

    • opt: string
    • ...urlarr: string[]

    Returns Promise<any>

  • Returns Promise<void>

  • Returns Promise<any>

  • Parameters

    • excmd:
          | "open"
          | "tabopen"
          | "yank"
          | "yankshort"
          | "yankcanon"
          | "yanktitle"
          | "yankmd"
          | "yankorg"
          | "xselpaste" = "open"
    • ...toYank: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • name: string

    Returns void

  • Parameters

    • name: string
    • ...definition: string[]

    Returns Promise<any>

  • Parameters

    • ...cmds: string[]

    Returns Promise<any>

  • Parameters

    • ...name: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...name: string[]

    Returns Promise<void>

  • Parameters

    • name: string
    • uname: string
    • ucolor: string
    • uicon: string

    Returns Promise<void>

  • Returns Promise<Tab>

  • Parameters

    • ...css: string[]

    Returns void

  • Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...str: string[]

    Returns string

  • Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<void>

  • Parameters

    • ...str: string[]

    Returns Promise<void>

  • Parameters

    • ...str: string[]

    Returns Promise<string>

  • Parameters

    • ...optionNameArgs: string[]

    Returns Promise<any>

  • Parameters

    • ...strarr: string[]

    Returns Promise<any>

  • Parameters

    • ...strarr: string[]

    Returns Promise<any>

  • Parameters

    • ...strarr: string[]

    Returns Promise<any>

  • Parameters

    • ms: number
    • ...strarr: string[]

    Returns Promise<any>

  • Parameters

    • selector: string
    • ...content: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • id: string

    Returns Promise<any>

  • Parameters

    • nth: string | number

    Returns Promise<any>

  • Parameters

    • rel: "next" | "prev" = "next"

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<Window>

  • Parameters

    • ...keys: string[]

    Returns any

  • Parameters

    • Optionalfrom: "clipboard" | "selection"

    Returns Promise<string>

  • Returns Promise<{ level: number; selector: string; title: string; y: number }[]>

  • Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<string>

  • Returns Promise<{ title: string; type: string; url: string }[]>

  • Parameters

    • reltype: string = "rel"
    • rel: string

    Returns Promise<any>

  • Parameters

    • numKeysOrTerminator: string
    • endCmd: string
    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • ...selector: string[]

    Returns Promise<any>

  • Parameters

    • rule: string
    • option: string

    Returns Promise<any>

  • Parameters

    • rule: string
    • option: string

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Style hintable elements directly when hinting.

    Returns void

  • Disable all hilighting of hintable elements when hinting. Only hint flags will remain, Vimium style.

    Returns void

  • Add highlights over the page when hinting and leave original elements unchanged.

    Returns void

  • Parameters

    • all: "false" | "true" = "false"

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...str: string[]

    Returns Promise<any>

  • Parameters

    • ...str: string[]

    Returns Promise<any>

  • Parameters

    • ...json: string[]

    Returns Promise<Tab>

  • Returns Promise<void>

  • Returns Promise<any>

  • Parameters

    • n: number = 1

    Returns Promise<any>

  • Parameters

    • n: number = 1

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • source: string
    • target: string

    Returns Promise<any>

  • Parameters

    • cmdType:
          | "DocBlur"
          | "DocEnd"
          | "DocFocus"
          | "DocLoad"
          | "DocStart"
          | "FullscreenChange"
          | "FullscreenEnter"
          | "FullscreenLeft"
          | "ModeEnter"
          | "ModeLeave"
          | "TabEnter"
          | "TabLeft"
          | "UriChange"
          | "HistoryState"
    • Optionaltarget: string

    Returns Promise<any>

  • Parameters

    • themename: string

    Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Parameters

    • key: string

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...muteArgs: string[]

    Returns Promise<void>

  • Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...urlarr: string[]

    Returns Promise<any>

  • Parameters

    • ...urlarr: string[]

    Returns Promise<any>

  • Parameters

    • ...filters: string[]

    Returns Promise<any>

  • Parameters

    • ...filters: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • index: string

    Returns Promise<Tab>

  • Parameters

    • profileName: string

    Returns Promise<void>

  • Parameters

    • OptionalprofileName: string

    Returns Promise<void>

  • Parameters

    • oldName: string
    • newName: string

    Returns Promise<void>

  • Parameters

    • name: string
    • url: string

    Returns Promise<any>

  • Parameters

    • name: string

    Returns void

  • Returns Promise<void[]>

  • Parameters

    • key: string
    • ...addressarr: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<void>

  • Parameters

    • ...containerName: string[]

    Returns Promise<void>

  • Parameters

    • n: number = 1
    • hard: boolean = false

    Returns Promise<void[]>

  • Parameters

    • hard: boolean = false

    Returns Promise<void[]>

  • Parameters

    • hard: boolean = false

    Returns Promise<void[]>

  • Parameters

    • hard: boolean = false

    Returns Promise<void[]>

  • Parameters

    • n: number = 1

    Returns Promise<void[]>

  • Parameters

    • key: string

    Returns Promise<void>

  • Parameters

    • selector: string

    Returns Promise<any>

  • Parameters

    • n: number = 1
    • ...exstr: string[]

    Returns Promise<void>

  • Parameters

    • mode: string
    • key: string

    Returns Promise<any>

  • Parameters

    • pattern: string
    • mode: string
    • key: string

    Returns Promise<any>

  • Returns Promise<void>

  • Parameters

    • n: number

    Returns Promise<any>

  • Parameters

    • url: string
    • Optionaltype: string
    • ...title: string[]

    Returns Promise<any>

  • Parameters

    • ...commands: string[]

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • n: number = 1
    • mult: number = 1

    Returns Promise<any>

  • Parameters

    • n: number = 1
    • count: number = 1

    Returns Promise<any>

  • Parameters

    • a: number
    • b: number

    Returns Promise<any>

  • Parameters

    • xVelocity: string
    • yVelocity: string
    • Optionalmult: string

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • tabId: number
    • scrollX: number
    • scrollY: number
    • message: string

    Returns Promise<any>

  • Parameters

    • a: string | number
    • b: number | "x" | "y" = "y"

    Returns Promise<any>

  • Returns void

  • Parameters

    • key: string
    • ...values: string[]

    Returns any

  • Parameters

    • name: string

    Returns Promise<any>

  • Parameters

    • mode: string
    • key: string
    • ...values: string[]

    Returns Promise<any>

  • Parameters

    • ...keys: string[]

    Returns Promise<any>

  • Parameters

    • key: string
    • ...value: string[]

    Returns Promise<void>

  • Parameters

    • pattern: string
    • key: string
    • ...values: string[]

    Returns Promise<any>

  • Escape command for safe use in shell with composite. E.g: composite js MALICIOUS_WEBSITE_FUNCTION() | shellescape | exclaim ls

    Parameters

    • ...quoteme: string[]

    Returns Promise<string>

  • Parameters

    • focus: boolean = true

    Returns Promise<any>

  • Parameters

    • ...urllike: string[]

    Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • time_ms: number

    Returns Promise<unknown>

  • Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...id: string[]

    Returns Promise<any>

  • Parameters

    • interactive: boolean
    • anyWindow: boolean
    • ...key: string[]

    Returns Promise<any>

  • Parameters

    • ...id: string[]

    Returns Promise<any>

  • Returns Promise<Tab>

  • Parameters

    • ...indexes: string[]

    Returns Promise<void>

  • Parameters

    • side: string

    Returns Promise<void>

  • Parameters

    • Optionalindex: string

    Returns Promise<Window>

  • Parameters

    • index: string

    Returns Promise<void>

  • Parameters

    • Optionalindex: number

    Returns Promise<Tab>

  • Returns Promise<Tab>

  • Parameters

    • id: string

    Returns Promise<Tab | Tab[]>

  • Returns Promise<Tab>

  • Parameters

    • index: string = "$"

    Returns Promise<Tab | Tab[]>

  • Parameters

    • ...args: string[]

    Returns Promise<Tab>

  • Parameters

    • Optionalindex: number

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<void>

  • Parameters

    • ...addressarr: string[]

    Returns Promise<Tab>

  • Parameters

    • ...addressarr: string[]

    Returns Promise<Tab>

  • Parameters

    • ...args: string[]

    Returns Promise<Tab>

  • Parameters

    • OptionalwindowId: number

    Returns Promise<Tab | Tab[]>

  • Parameters

    • ...addresses: string[]

    Returns Promise<unknown>

  • Parameters

    • index: string
    • ...name: string[]

    Returns Promise<any>

  • Parameters

    • ...callbackchunks: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • Optionalname: string

    Returns Promise<string>

  • Parameters

    • name: string

    Returns Promise<string>

  • Returns Promise<string>

  • Parameters

    • name: string

    Returns Promise<string>

  • Parameters

    • name: string

    Returns Promise<string>

  • Parameters

    • name: string

    Returns Promise<string>

  • Parameters

    • index: string

    Returns Promise<void>

  • Parameters

    • index: string

    Returns Promise<void>

  • Parameters

    • index: string

    Returns Promise<void>

  • Parameters

    • action: "pause" | "play" | "stop" | "playpause"

    Returns Promise<any>

  • Parameters

    • mode: "-t" | "-c"
    • ...args: string[]

    Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • Optionalnewtab: string

    Returns Promise<any>

  • Parameters

    • abbreviation: string

    Returns Promise<any>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • pattern: string
    • mode: string
    • keys: string

    Returns Promise<any>

  • Parameters

    • item: string = "recent"

    Returns Promise<number>

  • Returns Promise<any>

  • Parameters

    • source: string

    Returns Promise<any>

  • Parameters

    • themename: string

    Returns Promise<any>

  • Parameters

    • ...keys: string[]

    Returns Promise<any>

  • Parameters

    • mode: string
    • key: string

    Returns Promise<any>

  • Parameters

    • pattern: string
    • key: string

    Returns Promise<any>

  • Parameters

    • source: "manual" | "auto_polite" | "auto_impolite" = "manual"

    Returns Promise<boolean>

  • Parameters

    • interactive: boolean = true

    Returns Promise<void>

  • Returns Promise<any>

  • Parameters

    • count: number = 1
    • multiplier: number = 1

    Returns Promise<any>

  • Parameters

    • mode:
          | "-t"
          | "-s"
          | "-r"
          | "--safe"
          | "-q"
          | "-Q"
          | "-g"
          | "-tu"
          | "-ru"
          | "-su"
          | "-qu"
          | "-Qu"
          | "-gu"
    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • mode:
          | "-t"
          | "-s"
          | "-r"
          | "-q"
          | "-Q"
          | "-g"
          | "-tu"
          | "-ru"
          | "-su"
          | "-qu"
          | "-Qu"
          | "-gu"
    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • count: number = 1

    Returns Promise<any>

  • Returns Promise<any>

  • Returns Promise<any>

  • Parameters

    • ...key: string[]

    Returns void

  • Returns Promise<any>

  • Parameters

    • url: string = ""

    Returns Promise<any>

  • Parameters

    • ...ids: string[]

    Returns Promise<void[]>

  • Parameters

    • ...windowIds: string[]

    Returns Promise<void>

  • Parameters

    • ...args: string[]

    Returns Promise<any>

  • Parameters

    • ...title: string[]

    Returns Promise<Window>

  • Parameters

    • ...content: string[]

    Returns Promise<any[]>

  • Parameters

    • url: string

    Returns Promise<void>

  • Parameters

    • level: number = 0
    • rel: string = "false"
    • tabId: string = "auto"

    Returns Promise<void>