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

README
jh-changes
Shin'ya Ueoka 7 years ago committed by GitHub
commit b776608f08
  1. 168
      README.md

@ -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.
## Background 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
### Firefox will stop supporting legacy add-ons
## Basic usage
Firefox will support only add-ons using WebExtensions API since version 57, and
plugins based on legacy APIs will be unavailable. Vim Vixen is new solution to ### Key-maps
create Vim-like Firefox.
The key-maps are configurable in preferences of the add-ons.
### Vimimum The default mapping are shown in the following.
[Vimium](https://github.com/philc/vimium) is a Chrome extension which able to #### Console
navigate pages in Google Chrome/Chromium. Vimium also started to suppprt on
Firefox by WebExtensions API. - `:`: open console
- `o`,`t`,`w`: open a page in current tab, new tab, or new window
## TODO - `O`,`T`,`W`: similar to `o`,`t`,`w`, but that contains current URL
- `b`: Select tabs by URL or title
- [ ] open command
- [x] open a link #### Scrolling
- [x] search by keywords with engined
- [x] complete URLs from history - `k`,`k`: scroll vertically
- [ ] complete keywords for search - `h`,`l`: scroll horizontally
- [x] tabs navigation - `<C-U>`,`<C-D>`: scroll pages by half of screen
- [x] select a tabs by keyboard - `<C-B>`,`<C-F>`: scroll pages by a screen
- [x] close/reopen a tab - `0`,`$`: scroll a page to leftmost/rightmost
- [x] reload a page - `gg`,`G`: scroll to top/bottom
- [ ] buffer control
- [x] select a tab by :buffer command #### Tabs
- [x] buffer completion - `d`: delete current tab
- [ ] list buffers - `u`: reopen close tab
- [ ] select buffer last selected - `K`/`J`: select prev/next tab
- [ ] discover a content - `r`: reload current tab
- [x] scroll a page by keyboard - `R`: reload current tab without cache
- [x] zoom-in/zoom-out
- [ ] find a keyword in the page ### Navigation
- [ ] navigations - `f`: start following links in the page
- [ ] yank/paste page - `H`: go back in histories
- [x] pagenation - `L`: go forward in histories
- [x] open parent page - `[[`,`]]`: find prev/next links and open it
- [x] open root page - `gu`: go to parent directory
- [ ] hints - `gU`: go to root directory
- [x] open a link
- [x] open a link in new tab #### Misc
- [x] activate input form - `zi`,`zo`: zoom-in/zoom-out
- [ ] misc - `zz`: Set default zoom level
- [x] configurable keymaps - `y`: copy URL in current tab
- [x] search engine settings
- [x] .rc file ### Console commands
- [ ] other commands in Ex mode
- [ ] supporting Google Chrome/Chromium Vim-Vixen provides a console likes Vimperator's one.
The console is opened by `:` key or keys to open console with initial value
likes `o`, `t`, or `w` keys.
#### `: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