Merge pull request #30 from ueokande/usage-in-readme

README
This commit is contained in:
Shin'ya Ueoka 2017-10-10 17:35:02 +09:00 committed by GitHub
commit b776608f08

154
README.md
View file

@ -1,56 +1,122 @@
# Vim Vixen # Vim Vixen
An Firefox add-ons works with WebExtensions, insipired by [Vimperator](https://github.com/vimperator). Vim Vixen is a Firefox add-on which allows you to navigate with keyboard on the browser.
Firefox started to support WebExtensions API and will stop supporting add-ons using legacy APIs from version 57.
For this reason, many legacy add-ons do not work on Firefox 57.
and Vim Vixen is a new choise for Vim users since Vim Vixen uses WebExtensions API
## Background ## Basic usage
### Firefox will stop supporting legacy add-ons ### Key-maps
Firefox will support only add-ons using WebExtensions API since version 57, and The key-maps are configurable in preferences of the add-ons.
plugins based on legacy APIs will be unavailable. Vim Vixen is new solution to The default mapping are shown in the following.
create Vim-like Firefox.
### Vimimum #### Console
[Vimium](https://github.com/philc/vimium) is a Chrome extension which able to - `:`: open console
navigate pages in Google Chrome/Chromium. Vimium also started to suppprt on - `o`,`t`,`w`: open a page in current tab, new tab, or new window
Firefox by WebExtensions API. - `O`,`T`,`W`: similar to `o`,`t`,`w`, but that contains current URL
- `b`: Select tabs by URL or title
## TODO #### Scrolling
- [ ] open command - `k`,`k`: scroll vertically
- [x] open a link - `h`,`l`: scroll horizontally
- [x] search by keywords with engined - `<C-U>`,`<C-D>`: scroll pages by half of screen
- [x] complete URLs from history - `<C-B>`,`<C-F>`: scroll pages by a screen
- [ ] complete keywords for search - `0`,`$`: scroll a page to leftmost/rightmost
- [x] tabs navigation - `gg`,`G`: scroll to top/bottom
- [x] select a tabs by keyboard
- [x] close/reopen a tab #### Tabs
- [x] reload a page - `d`: delete current tab
- [ ] buffer control - `u`: reopen close tab
- [x] select a tab by :buffer command - `K`/`J`: select prev/next tab
- [x] buffer completion - `r`: reload current tab
- [ ] list buffers - `R`: reload current tab without cache
- [ ] select buffer last selected
- [ ] discover a content ### Navigation
- [x] scroll a page by keyboard - `f`: start following links in the page
- [x] zoom-in/zoom-out - `H`: go back in histories
- [ ] find a keyword in the page - `L`: go forward in histories
- [ ] navigations - `[[`,`]]`: find prev/next links and open it
- [ ] yank/paste page - `gu`: go to parent directory
- [x] pagenation - `gU`: go to root directory
- [x] open parent page
- [x] open root page #### Misc
- [ ] hints - `zi`,`zo`: zoom-in/zoom-out
- [x] open a link - `zz`: Set default zoom level
- [x] open a link in new tab - `y`: copy URL in current tab
- [x] activate input form
- [ ] misc ### Console commands
- [x] configurable keymaps
- [x] search engine settings Vim-Vixen provides a console likes Vimperator's one.
- [x] .rc file The console is opened by `:` key or keys to open console with initial value
- [ ] other commands in Ex mode likes `o`, `t`, or `w` keys.
- [ ] supporting Google Chrome/Chromium
#### `:open` command
Open a URL or search keywords by search engine in current tab,
When specified parameter is formatted in URL as following, URL is opened to current tab.
```
:open http://github.com/ueokande
```
If specified parameters are keywords as following, open new tab searched by the
keywords with search engines (default to Google).
```
:open How to contribute to Vim-Vixen
```
You can specify search engines in first parameter.
For the default of search engines, see [search engines](#search-engines) section.
```
:open yahoo How to contribute to Vim-Vixen
```
#### `:tabopen` command
Open a URL or search keywords by search engine in new tab.
#### `:winopen` command
Open a URL or search keywords by search engine in new window.
#### `:buffer` command
Select tabs by URL or title matched by keywords.
### Search engines
Vim-Vixen support to search by search engines such as google or yahoo.
But the engines are independent on browsers' because of there is a limitation of WebExtensions.
You can configure search engines and default search engine in preferences of the add-ons.
The URLs specified in `"engines"` must contain a {}-placeholder, which will
replaced with keywords in parameters of the command.
```json
{
"keymaps": {
"...": "..."
},
"search": {
"default": "google",
"engines": {
"google": "https://google.com/search?q={}",
"yahoo": "https://search.yahoo.com/search?p={}",
"bing": "https://www.bing.com/search?q={}",
"duckduckgo": "https://duckduckgo.com/?q={}",
"twitter": "https://twitter.com/search?q={}",
"wikipedia": "https://en.wikipedia.org/w/index.php?search={}"
}
}
}
```
## Licence ## Licence