1 # VimFx - Vim keyboard shortcuts for Firefox
3 ![VimFx Logo](https://raw.github.com/akhodakivskiy/VimFx/develop/icon-large.png)
5 **Extension AMO page**: https://addons.mozilla.org/en-US/firefox/addon/vimfx.
7 **Mailing list**: [vimfx@librelist.com](mailto:vimfx@librelist.com?subject=Subscribe) (just send an email to subscribe)
9 Contribute your localization! See `locale` folder.
11 Read [Contributing and Reporting Issues section](#contributing-and-reporting-issues) for tips.
12 > Tl;dr: Pull request to the **develop** branch! Issues in **English**!
16 [VimFx](https://addons.mozilla.org/en-US/firefox/addon/vimfx/)
17 is a [Mozilla Firefox](https://www.mozilla.org/en-US/firefox/fx/#desktop)
18 extension which introduces Vim-style keyboard shortcuts for browsing and navigation,
19 significantly reducing the use of mouse, and allowing your hands to rest on the home row.
21 VimFx was inspired by [Vimperator](http://www.vimperator.org/)
22 and designed after [Vimium](http://vimium.github.com/) for
23 [Google Chrome](https://www.google.com/intl/en/chrome/browser/) preserving the shortcuts and behavior.
24 If your are used to Vimium then it will be easy to get started with VimFx.
26 ## Reporting Issues and Contributing
28 - Please submit bug reports and feature requests in *English*.
29 - Please submit cotribution pull requests for `develop` branch only. Pull requests for `master` will be closed. Thank you!
30 - Contribute your localization! See `locale` folder.
32 ## Why VimFx was created
34 Even before Vimium there was Vimperator for Firefox. In my opinion the problem
35 with Vimperator is that it has too many features and aggressively changes
36 the default Firefox appearance and behavior. Vimium was developed for Google Chrome
37 and it was exactly what I needed in terms of added functionality. That's why I decided
38 to develop similar extension for Firefox.
40 VimFx will be nice to your browser and to your habits. Promise.
44 - Concise shortcuts for most commonly performed actions
45 - Follow and access controls on the page using hint markers
46 - Easy access to the keyboard shortcuts dialog, which describes and lets you customize all available shortcuts (press ?)
50 This is a text representation of the keyboard shortcuts dialog within the extension. Might not be up to date.
51 Press ? or use the toolbar button to open the dialog, which helps you remember the shortcuts, and lets you customize them.
53 Global shortcut to enable/disable VimFx: `shift-alt-v`
57 o Focus the Address Bar
58 p Navigate to the address in the clipboard
59 P Open new tab and navigate to the address in the clipboard
60 yf Copy link url to the clipboard
62 yy Copy current page link to the clipboard
64 R Reload current page and all the assets (js, css, etc.)
65 ar Reload pages in all tabs
66 aR Reload pages in all tabs including assets (js, css, img)
67 s Stop loading current page
68 as Stop loading pages in all tabs
70 ### Navigating the Page
72 gg Scroll to the Top of the page
73 G Scroll to the Bottom of the page
78 d Scroll half a Page Down
79 u Scroll half a Page Up
80 c-f Scroll full Page Down
81 c-b Scroll full Page Up
86 J,gT Go to the Previous tab
87 K,gt Go to the Next tab
88 c-J Move current tab to the Left
89 c-K Move current tab to the Right
90 gh Navigate to the Home Page
91 gH,g0 Go to the First tab
92 gL,g$ Go to the Last tab
94 X Restore last closed tab
98 f Follow a link on the current page
99 F Follow a link on the current page in a new tab
101 L Go Forward in history
106 a.,a/ Enter Find mode to highlight all matches
107 n Go to the next Find match
108 N Go to the previous Find match
110 Esc Close this dialog and cancel hint markers
111 : Open Developer Toolbar
113 Can't see a link hint, because it's overlapped by another? Try pressing space or shift-space!
115 ## Contributing and Reporting Issues
119 3. Checkout the **develop** branch: `git checkout develop`
120 4. Create a new branch (using develop as base): `git checkout -b myTopicBranch`
121 Using develop (and not master) as base makes it easier to pull request to develop when you're done.
122 5. Code! Try to follow the style of the rest of the code. There are no written rules (yet?).
123 6. Push your branch to your fork on GitHub.
124 7. Pull request to the **develop** branch.
128 - Compile the .coffee files with the **`--bare`** option! Otherwise you will get errors.
129 - Run `coffee -cbw .` from the root of the project to automatically compile on changes.
130 - Put a file called exactly `VimFx@akhodakivskiy.github.com` in the extensions/ folder of a Firefox
131 profile, containing the absolute path to the extension/ folder in the project. Then you just need
132 to restart Firefox (use some add-on!) after each change. More details in [this MDN article][mdn-extdevenv].
133 - Only create tickets for issues and feature requests in English. Otherwise duplicate
134 tickets in different languages will pile up.
136 [mdn-extdevenv]: https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment#Firefox_extension_proxy_file