1 # VimFx - Vim keyboard shortcuts for Firefox
3 *Extension AMO page*: https://addons.mozilla.org/en-US/firefox/addon/vimfx.
5 Contribute your localization! See `locale` folder.
7 Read [Contributing and Reporting Issues section](#contributing-and-reporting-issues) for tips.
8 > Tl;dr: Pull request to the **develop** branch! Issues in **English**!
12 [VimFx](https://addons.mozilla.org/en-US/firefox/addon/vimfx/)
13 is a [Mozilla Firefox](https://www.mozilla.org/en-US/firefox/fx/#desktop)
14 extension which introduces Vim-style keyboard shortcuts for browsing and navigation,
15 significantly reducing the use of mouse, and allowing your hands to rest on the home row.
17 VimFx was inspired by [Vimperator](http://www.vimperator.org/)
18 and designed after [Vimium](http://vimium.github.com/) for
19 [Google Chrome](https://www.google.com/intl/en/chrome/browser/) preserving the shortcuts and behavior.
20 If your are used to Vimium then it will be easy to get started with VimFx.
22 ## Reporting Issues and Contributing
24 - Please submit bug reports and feature requests in *English*.
25 - Please submit cotribution pull requests for `develop` branch only. Pull requests for `master` will be closed. Thank you!
26 - Contribute your localization! See `locale` folder.
28 ## Why VimFx was created
30 Even before Vimium there was Vimperator for Firefox. In my opinion the problem
31 with Vimperator is that it has too many features and aggressively changes
32 the default Firefox appearance and behavior. Vimium was developed for Google Chrome
33 and it was exactly what I needed in terms of added functionality. That's why I decided
34 to develop similar extension for Firefox.
36 VimFx will be nice to your browser and to your habits. Promise.
40 - Concise shortcuts for most commonly performed actions
41 - Follow and access controls on the page using hint markers
42 - Easy access to the Help page which describes all available shortcuts (press ?)
46 Might not be up to date. Please refer to the Help dialog withing the extension
47 for the most relevant list.
49 Global shortcut to enable/disable VimFx: `Shift-Alt-v`
53 o Focus the Address Bar
54 p Navigate to the address in the clipboard
55 P Open new tab and navigate to the address in the clipboard
56 yf Copy link url to the clipboard
58 yy Copy current page link to the clipboard
60 R Reload current page and all the assets (js, css, etc.)
61 ar Reload pages in all tabs
62 aR Reload pages in all tabs including assets (js, css, img)
66 gg Scroll to the Top of the page
67 G Scroll to the Bottom of the page
72 d Scroll half a Page Down
73 u Scroll half a Page Up
74 c-f Scroll full Page Down
75 c-b Scroll full Page Up
80 J,gT Go to the Previous tab
81 K,gt Go to the Next tab
82 c-J Move current tab to the Left
83 c-K Move current tab to the Right
84 gh Navigate to the Home Page
85 gH,g0 Go to the First tab
86 gL,g$ Go to the Last tab
88 X Restore last closed tab
92 f Follow a link on the current page
93 F Follow a link on the current page in a new tab
95 L Go Forward in history
100 a.,a/ Enter Find mode to highlight all matches
101 n Go to the next Find match
102 N Go to the previous Find match
104 Esc Close this dialog and cancel hint markers
106 ## Contributing and Reporting Issues
110 3. Checkout the **develop** branch: `git checkout develop`
111 4. Create a new branch (using develop as base): `git checkout -b myTopicBranch`
112 Using develop (and not master) as base makes it easier to pull request to develop when you're done.
113 5. Code! Try to follow the style of the rest of the code. There are no written rules (yet?).
114 6. Push your branch to your fork on GitHub.
115 7. Pull request to the **develop** branch.
119 - Compile the .coffee files with the **`--bare`** option! Otherwise you will get errors.
120 - Run `coffee -cbw .` from the root of the project to automatically compile on changes.
121 - Put a file called exactly `VimFx@akhodakivskiy.github.com` in the extensions/ folder of a Firefox
122 profile, containing the absolute path to the extension/ folder in the project. Then you just need
123 to restart Firefox (use some add-on!) after each change. More details in [this MDN article][mdn-extdevenv].
124 - Only create tickets for issues and feature requests in English. Otherwise duplicate
125 tickets in different languages will pile up.
127 [mdn-extdevenv]: https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment#Firefox_extension_proxy_file