mirror of
https://github.com/tridactyl/tridactyl.git
synced 2026-09-10 07:16:33 -04:00
Give docs some TLC
This commit is contained in:
parent
b8e26f8d31
commit
3cd207c93c
|
|
@ -1,6 +1,6 @@
|
|||
**Control your browser with your keyboard _only_.**
|
||||
|
||||
Replace Firefox's control mechanism with one modelled on VIM. This is a "Firefox Quantum" replacement for VimFX, Vimperator and Pentadactyl. Most common tasks you want your browser to perform are bound to a single key press:
|
||||
Replace Firefox's control mechanism with one modelled on VIM. We were heavily inspired by VimFX, Vimperator and Pentadactyl, but more modern equivalents are Vimium or qutebrowser. Most common tasks you want your browser to perform are bound to a single key press:
|
||||
|
||||
- You want to open a new tab? Hit `t`.
|
||||
- You want to follow that link? Hit `f` and type the displayed label. (Note: hint characters should be typed in lowercase.)
|
||||
|
|
@ -52,9 +52,9 @@ Since Tridactyl aims to provide all the features Vimperator and Pentadactyl had,
|
|||
- Access recently closed tabs:
|
||||
- If you've accidentally closed a tab or window, Tridactyl will let you open it again with the `:undo` command which is bound to `u` by default.
|
||||
- Access browser tabs:
|
||||
- Tridactyl provides a quick tab-switching menu/command with the `:buffer` command (bound to `b`). This permission is also required to close, move, and pin tabs, amongst other things.
|
||||
- Tridactyl provides a quick tab-switching menu/command with the `:tab` command (bound to `b`). This permission is also required to close, move, and pin tabs, amongst other things.
|
||||
- Access browser activity during navigation:
|
||||
- This is needed for Tridactyl to be able to go back to normal mode every time you open a new page. In the future we may use it for autocommands.
|
||||
- This is needed for Tridactyl to be able to go back to normal mode every time you open a new page. It is also used for autocommands.
|
||||
- Read the text of all open tabs:
|
||||
- This allows us to use Firefox's built-in find-in-page API, for, for example, allowing you to bind find-next and find-previous to `n` and `N`.
|
||||
- Monitor extension usage and manage themes:
|
||||
|
|
|
|||
28
readme.md
28
readme.md
|
|
@ -9,7 +9,6 @@ Tridactyl
|
|||
<h4 align="center">Replace Firefox's default control mechanism with one modelled on the one true editor, Vim.</h4>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/tridactyl/tridactyl"><img src="https://travis-ci.org/tridactyl/tridactyl.svg?branch=master" alt="Build Status"></a>
|
||||
<a href="https://matrix.to/#/#tridactyl:matrix.org"><img src="https://img.shields.io/badge/matrix-join%20chat-green" alt="Matrix Chat"></a>
|
||||
<a href="https://gitter.im/tridactyl/Lobby"><img src="https://badges.gitter.im/Join%20Chat.svg" alt="Join Gitter Chat"></a>
|
||||
<a href="https://discord.gg/DWbNGTAvmh"><img src="https://img.shields.io/discord/854326924402622474?color=%235865F2&label=discord" alt="Join Discord Chat"></a>
|
||||
|
|
@ -53,7 +52,7 @@ Tridactyl stable can be installed from the [Mozilla add-ons website (the AMO)][a
|
|||
|
||||
### Extra features through [Native Messaging](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging)
|
||||
|
||||
If you want to use advanced features such as edit-in-Vim, you'll also need to install the native messenger or executable, instructions for which can be found by typing `:installnative` and hitting enter once you are in Tridactyl. Arch users can install the [AUR package](https://aur.archlinux.org/packages/firefox-tridactyl-native/) `firefox-tridactyl-native` instead.
|
||||
If you want to use advanced features such as edit-in-Vim, you'll also need to install the native messenger or executable, instructions for which can be found by typing `:nativeinstall` and hitting enter once you are in Tridactyl. Arch users can install the [AUR package](https://aur.archlinux.org/packages/firefox-tridactyl-native/) `firefox-tridactyl-native` instead.
|
||||
|
||||
#### Containerized/sandboxed Firefox Installations
|
||||
|
||||
|
|
@ -81,7 +80,7 @@ The changelog for the stable versions can be found [here](https://github.com/tri
|
|||
|
||||
Type `:help` or press `<F1>` for online help once you're in, or `:tutor` for a friendly introduction. You might also find the [unofficial Tridactyl Memrise course](https://app.memrise.com/community/course/5995499/tridactyls-main-shortcuts/) (requires login) useful for memorising keybinds.
|
||||
|
||||
Remember that Tridactyl cannot run on any page on about:\*, data:\*, view-source:\* and file:\*. We're sorry about that and we're working with Firefox to improve this situation by removing restrictions on existing APIs and developing a new API.
|
||||
Remember that Tridactyl cannot run on any page on about:\*, data:\*, view-source:\* and file:\*. We're sorry about that :(
|
||||
|
||||
If you're enjoying Tridactyl, or not, please leave a review on the [AMO](https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/reviews/).
|
||||
|
||||
|
|
@ -111,11 +110,11 @@ You can try `:help key` to know more about `key`. If it is an existing binding,
|
|||
- `gi` — scroll to and focus the last-used input on the page
|
||||
- `r`/`R` — reload page or hard reload page
|
||||
- `yy` — copy the current page URL to the clipboard
|
||||
- `[[`/`]]` — navigate forward/backward though paginated pages, for example comics, multi-part articles, search result pages, etc.
|
||||
- `[[`/`]]` — navigate backward/forward though paginated pages, for example comics, multi-part articles, search result pages, etc.
|
||||
- `]c`/`[c` — increment/decrement the current URL by 1
|
||||
- `gu` — go to the parent of the current URL
|
||||
- `gU` — go to the root domain of the current URL
|
||||
- `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode)
|
||||
- `gr` — open Firefox reader mode (note: Tridactyl will only work on our own `:reader` command which has complicated security implications)
|
||||
- `zi`/`zo`/`zz` — zoom in/out/reset zoom
|
||||
- `<C-f>`/`<C-b>` — jump to the next/previous part of the page
|
||||
- `g?` — Apply Caesar cipher to page (run `g?` again to switch back)
|
||||
|
|
@ -185,7 +184,7 @@ Additionally, you can hint elements matching a custom CSS selector with `:hint -
|
|||
|
||||
### Binding custom commands
|
||||
|
||||
You can bind your own shortcuts in normal mode with the `:bind` command. For example `:bind J tabprev` to bind `J` to switch to the previous tab. See `:help bind` for details about this command.
|
||||
You can bind your own shortcuts in normal mode with the `:bind` command. For example `:bind gD composite tabduplicate; tabdetach` to duplicate and detach the current tab. See `:help bind` for details about this command.
|
||||
|
||||
## WebExtension-related issues
|
||||
|
||||
|
|
@ -235,6 +234,7 @@ You can bind your own shortcuts in normal mode with the `:bind` command. For exa
|
|||
To use one of the built in themes use: `:colors <color>`. The current options are:
|
||||
|
||||
- default
|
||||
- auto
|
||||
- dark (authored by @furgerf)
|
||||
- shydactyl (authored by @atrnh)
|
||||
- greenmat (authored by @caputchinefrobles)
|
||||
|
|
@ -242,12 +242,14 @@ You can bind your own shortcuts in normal mode with the `:bind` command. For exa
|
|||
- quake
|
||||
- quakelight
|
||||
- midnight (authored by @karizma)
|
||||
- vimium
|
||||
- tokyonight
|
||||
|
||||
Tridactyl can also load themes from disk or URL. You could use this for example to load one of the themes originally authored by @bezmi ([tridactyl/base16-tridactyl](https://github.com/tridactyl/base16-tridactyl)). See `:help colors` for more information.
|
||||
|
||||
- How to remap keybindings? or How can I bind keys using the control/alt key modifiers (eg: `ctrl+^`)?
|
||||
|
||||
You can remap keys in normal, ignore, input and insert mode with `:bind --mode=$mode $key $excmd`. Hint mode and the command line are currently special and can't be rebound. See `:help bind` for more information.
|
||||
You can remap keys with `:bind --mode=$mode $key $excmd`. See `:help bind` for more information.
|
||||
|
||||
Modifiers can be bound like this: `:bind <C-f> scrollpage 1`. Special keys can be bound too: `:bind <F3> colors dark` and with modifiers: `:bind <S-F3> colors default` and with multiple modifiers: `:bind <SA-F3> composite set hintchars 1234567890 | set hintfiltermode vimperator-reflow`
|
||||
|
||||
|
|
@ -279,7 +281,7 @@ You can bind your own shortcuts in normal mode with the `:bind` command. For exa
|
|||
|
||||
- Can I change proxy via commands?
|
||||
|
||||
Not yet, but this feature will eventually be implemented.
|
||||
Yes, see `:help proxyadd`
|
||||
|
||||
- How do I disable Tridactyl on certain sites?
|
||||
|
||||
|
|
@ -289,7 +291,7 @@ You can bind your own shortcuts in normal mode with the `:bind` command. For exa
|
|||
|
||||
- How can I list the current bindings?
|
||||
|
||||
`viewconfig nmaps` works OK, but Tridactyl commands won't work on the shown page for "security reasons". We'll eventually provide a better way. See [#98](https://github.com/tridactyl/tridactyl/issues/98).
|
||||
`viewconfig nmaps` works OK, but Tridactyl commands won't work on the shown page for "security reasons". We'll eventually provide a better way. See [#98](https://github.com/tridactyl/tridactyl/issues/98). You can also look at `:bind ` completions and `:apropos `
|
||||
|
||||
- How can I know which mode I'm in/have a status line?
|
||||
|
||||
|
|
@ -297,7 +299,7 @@ You can bind your own shortcuts in normal mode with the `:bind` command. For exa
|
|||
|
||||
- Does anyone actually use Tridactyl?
|
||||
|
||||
In addition to the developers, some other people do. Mozilla keeps tabs on stable users [here](https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/statistics/?last=30), but, as of a while ago, you can't see that link if you aren't listed as a Tridactyl developer on the AMO. The maintainers guess the number of unstable users from unique IPs downloading the betas each week when they feel like it. Last time they checked there were 4600 of them.
|
||||
In addition to the developers, some other people do. Mozilla keeps tabs on stable users [here](https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/statistics/?last=30), but, as of a while ago, you can't see that link if you aren't listed as a Tridactyl developer on the AMO. The maintainers guess the number of unstable users from unique IPs downloading the betas each week when they feel like it. Last time they checked there were 4600 of them. Unscientifically extrapolating from Arch linux's pop contest for package installations gives us an estimate of around 50,000 users.
|
||||
|
||||
- How do I prevent websites from stealing focus?
|
||||
|
||||
|
|
@ -355,13 +357,11 @@ If you are on a distribution which builds Firefox with `--with-unsigned-addon-sc
|
|||
|
||||
- Install [NodeJS for Windows][win-nodejs]
|
||||
|
||||
- Current 8.11.1 LTS seems to work fine
|
||||
|
||||
- Launch the installation steps described above from MinTTY shell
|
||||
- Also known as "Git Bash"
|
||||
|
||||
[win-git]: https://git-scm.com/download/win
|
||||
[win-nodejs]: https://nodejs.org/dist/v8.11.1/node-v8.11.1-x64.msi
|
||||
[win-nodejs]: https://nodejs.org/dist/
|
||||
[pyinstaller]: https://www.pyinstaller.org
|
||||
[gpg4win]: https://www.gpg4win.org
|
||||
|
||||
|
|
@ -379,7 +379,7 @@ You can speed up the build process after your first build by using `yarn run reb
|
|||
|
||||
### Committing
|
||||
|
||||
A pre-commit hook is added by `yarn install` that simply runs `yarn test`. If you know that your commit doesn't break the tests you can commit with `git commit -n` to ignore the hooks. If you're making a PR, travis will check your build anyway.
|
||||
A pre-commit hook is added by `yarn install` that simply runs `yarn test`. If you know that your commit doesn't break the tests you can commit with `git commit -n` to ignore the hooks. If you're making a PR, GitHub will check your build anyway once a maintainer has approved it.
|
||||
|
||||
### Documentation
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ You can scroll up and down pages using `k` and `j`, and left and right with `h`
|
|||
|
||||
Use `.` to repeat the last action.
|
||||
|
||||
Many keypresses in normal mode take you into another mode. `t`, for example, puts you into command mode prefilled with the command for opening a new tab; `F` puts you into hinting mode to open a link in a background tab; `gi` focuses the first text box on the page and allows you to press `Tab` to switch between text boxes.
|
||||
Many keypresses in normal mode take you into another mode. `t`, for example, puts you into command mode prefilled with the command for opening a new tab; `F` puts you into hinting mode to open a link in a background tab; `gi` focuses the last used text box on the page, falling back to the first, and allows you to press `Tab` to switch between text boxes.
|
||||
|
||||
Tridactyl uses a similar notation to Vim for keys with modifiers: `<C-x>` means press Ctrl, tap x, release Ctrl; i.e. `Ctrl-x`. `<C-` almost always means a literal Ctrl key, even on Macs: `<M-` means the Meta ("splat") key. The exception is when describing default Firefox binds for Macintosh: then `<C-` means Meta. This arises most often for find mode where the `<C-g>`, `<C-G>` and `<C-f>` default binds are all in fact `<M-g>`, `<M-G>` and `<M-f>`.
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ All the keys in normal mode are bound to commands; for example, `j` is bound to
|
|||
|
||||
## Browser-wide binds
|
||||
|
||||
By default, there are three browser "mode" binds: `<C-,>` to `:escapehatch`, and `<C-6>` and `<CS-6>` to `:tab #`. These binds are accessible in all modes and anywhere within Firefox - even on pages where Tridactyl cannot run. New browser mode binds can be added with `:bind --mode=browser [ex command]`. Note that any ex-commands which require access to the page you are on will fail to run if Tridactyl does not have access to that page. The best thing to do is to try it and see.
|
||||
By default, there are three browser "mode" binds: `<C-,>` to `:escapehatch`, and `<C-6>` (`<A-6>` on Windows) to `:tab #`. These binds are accessible in all modes and anywhere within Firefox - even on pages where Tridactyl cannot run. New browser mode binds can be added with `:bind --mode=browser [ex command]`. Note that any ex-commands which require access to the page you are on will fail to run if Tridactyl does not have access to that page. The best thing to do is to try it and see.
|
||||
|
||||
There are quite a few caveats with these binds - see `:help bind` for more details.
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ Here we will briefly summarise some of the main settings:
|
|||
- the style of hint mode to use. Set it to "vimperator" to filter links by typing in the text they display
|
||||
- You will also want to change the hintchars setting to something that allows you to type in most text, e.g, 5432167890.
|
||||
- theme
|
||||
- dark or default
|
||||
- excmds
|
||||
- e.g. dark or default, but it's more convenient to use the `:colours` command to change it
|
||||
- exaliases
|
||||
- aliases for command mode: the things on the left actually run the commands on the right. The most interesting one of these is `current_url`, which is how the binds for O, W and T (`bind T`) work.
|
||||
|
||||
There are many other commands related to settings:
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ The native messenger is an external executable that you can install on your comp
|
|||
- Load themes from your disk (`:h colors`).
|
||||
- Open privileged pages (e.g. `about:preferences`) from Tridactyl's commandline (`:h nativeopen`).
|
||||
- Copy things to your X selection buffer if you're on linux (`:h yankto`).
|
||||
- Make Tridactyl work on `addons.mozilla.org` (`:h fixamo`).
|
||||
- Set firefox preferences from Tridactyl's command line (`:h setpref`).
|
||||
- Choose where to save files when using Tridactyl's `:saveas` command.
|
||||
- Run arbitrary shell commands (`:h exclaim`).
|
||||
|
|
|
|||
|
|
@ -12,4 +12,4 @@ If Tridactyl doesn't work or breaks pages we have a [troubleshooting guide](http
|
|||
|
||||
Lastly, you can contact the developers via Matrix or GitHub, as mentioned on the new tab page.
|
||||
|
||||
This concludes the tutorial. If you have any feedback, please leave it on [the relevant GitHub issue](https://github.com/tridactyl/tridactyl/issues/380). <a href='./8-marks.md' rel="prev"></a>
|
||||
This concludes the tutorial. If you have any feedback, please leave it on [the relevant GitHub issue](https://github.com/tridactyl/tridactyl/issues/380). <a href='./8-1-i18n.md' rel="prev"></a>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ Tridactyl has to override your new tab page due to WebExtension limitations. You
|
|||
|
||||
- **Breaking change**: user binds to `nmode` have been broken by the new keyup/keydown binds. Fix by explicitly binding to `<D-[key]><U-[key]>` to ensure that the keyup gets consumed before entering nmode
|
||||
|
||||
- Tridactyl funding 👀: [donate via GitHub sponsors here](https://github.com/users/bovine3dom/sponsorship). Please consider starting a recurring donation to bovine3dom (me) if you find Tridactyl useful. In July 2025, I got the lowest amount since 2023, so I guess I need to gently push this again :)
|
||||
- Tridactyl funding 👀: [donate via GitHub sponsors here](https://github.com/users/bovine3dom/sponsorship). Please consider starting a recurring donation to bovine3dom (me) if you find Tridactyl useful. As of July 2026, I'm having to withdraw a little more from my savings than I'd like for regular outgoings so any contributions would be gratefully received.
|
||||
|
||||
- All GitHub and Patreon donors get a nice little newsletter every now and then; for people who donate at least 10USD a month I briefly did a "tips & tricks" newsletter roughly once a month ([see an example here](https://github.com/tridactyl/tridactyl/blob/master/doc/newsletters/tips-and-tricks/1-hint-css-selectors.md)) but now I'm open to other ideas for saying thanks. You can also donate via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7JQHV4N2YZCTY), but they charge fairly high fees and you won't get any newsletters. Donations currently aim to ensure that bovine3dom can work one day a week on Tridactyl at minimum wage. Previously the donations have funded an in-person developer retreat.
|
||||
|
||||
|
|
@ -33,9 +33,9 @@ REPLACE_ME_WITH_THE_CHANGE_LOG_USING_SED
|
|||
- `s` — if you want to search for something that looks like a domain name or URL.
|
||||
- `gi` — scroll to and focus the last-used input on the page.
|
||||
- `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode).
|
||||
- Bind your own commands with, e.g., `:bind J tabprev`. Type `:help bind` to see help on custom binds.
|
||||
- Bind your own commands with, e.g., `:bind gD composite tabduplicate; tabdetach`. Type `:help bind` to see help on custom binds.
|
||||
- `yy` — copy the current page URL to your clipboard.
|
||||
- `[[`/`]]` — navigate forward/backward though paginated pages.
|
||||
- `[[`/`]]` — navigate backward/forward though paginated pages.
|
||||
- `ZZ` — close all tabs and windows, but it will only "save" them if your about:preferences are set to "show your tabs and windows from last time".
|
||||
- `<C-v>` – send a single keystroke to the current website, bypassing bindings by entering ignore mode temporarily
|
||||
- `<C-o>` – run a single normal mode binding when in ignore mode
|
||||
|
|
@ -53,7 +53,7 @@ REPLACE_ME_WITH_THE_CHANGE_LOG_USING_SED
|
|||
|
||||
## Why do I see this here?
|
||||
|
||||
Tridactyl overrides your newtab page because it cannot insert its content script on the default about:newtab. Without the content script, our shortcuts won't work, even if you're just passing through the page. We're working with Firefox on improvements to the WebExtension APIs that will remove this restriction.
|
||||
Tridactyl overrides your newtab page because it cannot insert its content script on the default about:newtab. Without the content script, our shortcuts won't work, even if you're just passing through the page.
|
||||
|
||||
### How can I get rid of it?
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ Tridactyl overrides your newtab page because it cannot insert its content script
|
|||
|
||||
Also, if you want to use a new tab page provided by another extension, make sure to install said extension after Tridactyl. Uninstalling and re-installing the other extension should work too.
|
||||
|
||||
Alternatively, if you don't need Tridactyl to work on the new tab page, you can install the beta build without new tab page. You can get it [here][nonewtablink]. To migrate your configuration across builds, see [this comment][migratelink] or [this issue](https://github.com/tridactyl/tridactyl/issues/1353#issuecomment-463094704).
|
||||
Alternatively, if you don't need Tridactyl to work on the new tab page, you can install the beta build without new tab page. You can get it [here][nonewtablink]. To migrate your configuration across builds, use `:mkt --clipboard` and `:source --clipboard`.
|
||||
|
||||
## FAQ
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue