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 O Focus the Search Bar
59 p Navigate to the address in the clipboard
60 P Open new tab and navigate to the address in the clipboard
61 yf Copy link url to the clipboard
63 yy Copy current page link to the clipboard
65 R Reload current page and all the assets (js, css, etc.)
66 ar Reload pages in all tabs
67 aR Reload pages in all tabs including assets (js, css, img)
68 s Stop loading current page
69 as Stop loading pages in all tabs
71 ### Navigating the Page
73 gg Scroll to the Top of the page
74 G Scroll to the Bottom of the page
79 d Scroll half a Page Down
80 u Scroll half a Page Up
81 c-f Scroll full Page Down
82 c-b Scroll full Page Up
87 J,gT Go to the Previous tab
88 K,gt Go to the Next tab
89 c-J Move current tab to the Left
90 c-K Move current tab to the Right
91 gh Navigate to the Home Page
92 gH,g0 Go to the First tab
93 gL,g$ Go to the Last tab
95 X Restore last closed tab
99 f Follow a link on the current page
100 F Follow a link on the current page in a new tab
102 L Go Forward in history
107 a.,a/ Enter Find mode to highlight all matches
108 n Go to the next Find match
109 N Go to the previous Find match
110 i Enter insert mode: Ignore all commands
112 Esc Enter normal mode (remove hint markers, exit insert mode) or blur/close active element
113 : Open Developer Toolbar
115 Can't see a link hint, because it's overlapped by another? Try pressing space or shift-space!
117 ## Contributing and Reporting Issues
121 3. Checkout the **develop** branch: `git checkout develop`
122 4. Create a new branch (using develop as base): `git checkout -b myTopicBranch`
123 Using develop (and not master) as base makes it easier to pull request to develop when you're done.
124 5. Code! Try to follow the style of the rest of the code. There are no written rules (yet?).
125 6. Push your branch to your fork on GitHub.
126 7. Pull request to the **develop** branch.
130 - Compile the .coffee files with the **`--bare`** option! Otherwise you will get errors.
131 - Run `coffee -cbw .` from the root of the project to automatically compile on changes.
132 - Put a file called exactly `VimFx@akhodakivskiy.github.com` in the extensions/ folder of a Firefox
133 profile, containing the absolute path to the extension/ folder in the project. Then you just need
134 to restart Firefox (use some add-on!) after each change. More details in [this MDN article][mdn-extdevenv].
135 - Only create tickets for issues and feature requests in English. Otherwise duplicate
136 tickets in different languages will pile up.
138 [mdn-extdevenv]: https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment#Firefox_extension_proxy_file