Basic usage¶
Don’t panic¶
When you are stuck in some interactive command or text field, and you are unsure what to do, press C-g. This key binding usually lets you out of the current action - you may have to press it more than once. C-g is the universal get me out of there command.
Note
Usually, pressing C-g enough times lets you focus on the current web buffer, and so activates the webbuffer keymap.
Running a command using its name¶
It is always possible to run a command using its name. Some commands does not have default key binding, and requires to be called this way. To call a command using its name, use the M-x keybinding, then select in the list (or type) the command you want to run, followed by Return (the Enter key).
For example, M-x toggle-toolbar <Return> will toggle the webmac’s toolbar.
Live documentation¶
webmacs is self-documenting. You can easily access the documentation by running the following commands:
- describe-commands to see all available commands.
- describe-command (bound to C-h f) to choose one command, and get a detailed description.
- describe-variables to see all the available variables.
- describe-variable (bound to C-h v) to choose one variable and get a detailed description.
- describe-key (bound to C-h k) or describe-key-briefly (bound to C-h c) to discover what command a key binding would trigger.
- where-is (bound to: C-h w) to quickly find what key(s) a command is bound to.
- describe-bindings to see the list of all keymaps, with the bindings and commands they contain.
Note
Self-documentation is super useful for many things. If you want, for example, to define a custom binding for a command, but don’t know its name, you can always use C-h k to help you.
Also, do not hesitate to use C-h v to see the description of a variable.
Visiting urls¶
An easy way to go to a new URL is to type g. This calls the go-to command, that lets you type a URL or a webjump. Pressing Return will then open it in the current web buffer.
For example, try typing: g g<tab> webmacs <Return>. This should open a new Google page with the query ‘webmacs’.
Important
Typing C-u before g will open the url or webjump in a new buffer.
Link hinting¶
Link hinting is used to navigate through visible links of the current web buffer’s page, using the keyboard only.
Press f. You should see the minibuffer right label displaying that you are in the hint keymap, and the links on the page highlighted.
Hinting in webmacs can be done using two methods: filter (the default) and alphabet. You can use the variable hint-method to change it.
filter¶
There is one active hint. Typing text will narrow down the hint selection by fuzzy matching against the link’s texts. It is also possible to directly type the number of the link to activate it, and to cycle the visible hints (next, previous) to change the active hint.
Keybindings are as follows:
- C-n activate next visible hint
- C-p activate previous visible hint
Note that to validate hinting, Return has to be pressed.
alphabet¶
This is the method used by default in vimium, for example. There is no active hint, and each link is associated with some characters: they must all be entered to validate hinting.
Note that the hinting characters are usually randomly picked up from the home row of the keyboard. This behavior is configured with the variable hint-alphabet-characters, defaulting to the home row characters of a QWERTY keyboard.
Managing buffers¶
You can switch to a buffer using C-x b, which opens a list on top of the minibuffer. Select the buffer you want to switch to by fuzzy-matching text of the url or title page, or just use the arrow keys (or better, standard Emacs bindings such as C-n, C-p, C-v, M-v, etc). Finally, validate with Return.
Important
Most of the lists displayed in the minibuffer work in this same way, and have the same basic bindings.
The command is called switch-recent-buffer.
Note
The above command orders the buffers so that the most recently used is on top. If you want the buffers to be ordeded by their number, you can call the command switch-buffer.
You can also navigate to the next or previous buffer by using respectively M-n and M-p.
A buffer can be closed by just pressing q. When you are running switch-buffer or switch-recent-buffer, pressing C-k will also kill the buffer currently highlighted in the list.
Important
If you killed a buffer by accident, no worries! Just use C-x r to resurrect it.
Scrolling in current web buffer¶
- C-n or n scrolls the current buffer down a bit.
- C-p or p scrolls the current buffer up a bit.
- C-b scrolls the current buffer left a bit.
- C-f scrolls the current buffer right a bit.
- C-v scrolls the current buffer down for one visible page.
- M-v scrolls the current buffer up for one visible page.
- M-< lets you go to the top of the page.
- M-> lets you go to the bottom of the page.
Searching in current web buffer¶
Type C-s to start incremental search. Then you can type the text you are looking for. Press C-s again to go to the next match, or C-r to go to the previous match.
Note
C-r can also be used to start incremental search.
Copying links¶
- c u to copy the URL of the current buffer.
- c l to copy a visible link in the buffer (by hinting).
- c c to copy the currently selected link.
- c t to copy the current buffer page title.
Downloading¶
A download can be started by clicking a link or button or hinting.
When a download is about to be started, the minibuffer will propose to either download or open it.
download will start downloading, and save the file to your hard drive.
open will download to a temporary directory, then open the file with the given command. A list of available commands is shown in the minibuffer completion list. Note that when the command exits, the file will be automatically deleted from your hard drive.
Note
open is useful for viewing PDF files for example, as you can use your favorite PDF file viewer to read it.
The list of downloads can be accessed using the downloads command.
See also
See the default-download-dir and keep-temporary-download-dir variables.
Zooming¶
- + zoom in.
- - zoom out.
- = reset the zoom to its default value.
Note
There are variants for the zoom, using the Control modifier (C-+, C–, and C-=) that are used for text zoom only.
Printing¶
- C-x p to print the current buffer.