0 # Vgmi
1
2 Gemini client written in C with vim-like keybindings, with support for client-side scripting
3
4 ## Keybindings
5
6 * k - Scroll up
7 * j - Scroll down
8 * h - Switch to the previous tab
9 * l - Switch to the next tab
10 * H - Go back in the history
11 * L - Go forward in the history
12 * gg - Go at the top of the page
13 * G - Go at the bottom of the page
14 * : - Open input mode
15 * u - Open input mode with the current url
16 * f - Show the history
17 * r - Reload the page
18 * [number]Tab - Select link
19 * Tab - Follow selected link
20 * Shift+Tab - Open selected link in a new tab
21 * Del - Delete the selected link from the bookmarks
22
23 You can prefix a movement key with a number to repeat it.
24
25 ## Commands
26
27 * :q - Close the current tab
28 * :qa - Close all tabs, exit the program
29 * :o [url] - Open an url
30 * :s [search] - Search the Geminispace using geminispace.info
31 * :nt [url] - Open a new tab, the url is optional
32 * :add [name] - Add the current url to the bookmarks, the is optional
33 * :[number] - Follow the link
34 * :gencert - Generate a certificate for the current capsule
35
36 ## Dependencies
37
38 * [libtls][0] - a new TLS library
39 * [termbox2][1] - terminal rendering library
40 * [TinyScheme][2] - lightweight Scheme interpreter
41
42 ### Optional dependency
43 * [stb-image][3] - image loading library
44
45 ### On Linux
46 * [libbsd][4] - utility functions from BSD systems
47
48 [0]: https://git.causal.agency/libretls/about/
49 [1]: https://github.com/termbox/termbox2
50 [2]: http://tinyscheme.sourceforge.net/home.html
51 [3]: https://github.com/nothings/stb/blob/master/stb_image.h
52 [4]: https://libbsd.freedesktop.org/wiki/
53