aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 7f6a44ebbf3bf6a65afc1d90aaf01ee8b7fd7ef6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Vim Vixen

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

## Basic usage

### Key-maps

The key-maps are configurable in preferences of the add-ons.
The default mapping are shown in the following.

#### Console

- <kbd>:</kbd>: open console
- <kbd>o</kbd>, <kbd>t</kbd>, <kbd>w</kbd>: open a page in current tab, new tab, or new window
- <kbd>O</kbd>, <kbd>T</kbd>, <kbd>W</kbd>: similar to <kbd>o</kbd>, <kbd>t</kbd>, <kbd>w</kbd>, but that contains current URL
- <kbd>b</kbd>: Select tabs by URL or title

#### Scrolling

- <kbd>j</kbd>, <kbd>k</kbd>: scroll vertically
- <kbd>h</kbd>, <kbd>l</kbd>: scroll horizontally
- <kbd>Ctrl</kbd>+<kbd>U</kbd>, <kbd>Ctrl</kbd>+<kbd>D</kbd>: scroll pages by half of screen
- <kbd>Ctrl</kbd>+<kbd>B</kbd>, <kbd>Ctrl</kbd>+<kbd>F</kbd>: scroll pages by a screen
- <kbd>0</kbd>, <kbd>$</kbd>: scroll a page to leftmost/rightmost
- <kbd>g</kbd><kbd>g</kbd>, <kbd>G</kbd>: scroll to top/bottom

#### Tabs
- <kbd>d</kbd>: delete current tab
- <kbd>u</kbd>: reopen close tab
- <kbd>K</kbd>, <kbd>J</kbd>: select prev or next tab
- <kbd>r</kbd>: reload current tab
- <kbd>R</kbd>: reload current tab without cache

### Navigation
- <kbd>f</kbd>: start following links in the page
- <kbd>H</kbd>: go back in histories
- <kbd>L</kbd>: go forward in histories
- <kbd>[</kbd><kbd>[</kbd>, <kbd>]</kbd><kbd>]</kbd>: find  prev or next links and open it
- <kbd>g</kbd><kbd>u</kbd>: go to parent directory
- <kbd>g</kbd><kbd>U</kbd>: go to root directory

#### Misc
- <kbd>z</kbd><kbd>i</kbd>, <kbd>z</kbd><kbd>o</kbd>: zoom-in/zoom-out
- <kbd>z</kbd><kbd>z</kbd>: Set default zoom level
- <kbd>y</kbd>: copy URL in current tab
- <kbd>Shift</kbd>+<kbd>Esc</kbd>: enable or disable the add-on in current tab.

### Console commands

Vim-Vixen provides a console like the Vimperator's one.

Open the console with <kbd>:</kbd>. Or start it with initial values using
<kbd>o</kbd>, <kbd>t</kbd>, or <kbd>w</kbd>.

#### `: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
{
  "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={}"
    }
  }
}
```

### Blacklist

Blacklist allows to disable the plugin for certain pages by URL patterns.
For instance, when you describe `"*.slack.com"`, the plugin is disabled on any Slack rooms.
In addition, you can also specify path patterns, such as `"example.com/mail/*"`.
Disabled plugin can be made re-enabled by Shift+Esc (in default).

```json
{
  "blacklist": [
    "*.slack.com",
    "example.com/mail/*"
  ]
}
```

## Licence

MIT