LUAKIT(1)
π NAME π
okay bestie, meet Luakit β a fast, small, WebKit based browser framework that you can extend with Lua. she's literally the moment. β¨
π¦ SYNOPSIS π¦
luakit [OPTION] [URI]
πΈ DESCRIPTION πΈ
Luakit is a highly configurable browser framework built on the WebKit web content engine and the GTK+ toolkit. She is very fast, extensible by Lua, and licensed under the GNU GPLv3 license. No cap.
Her target audience? Power users, developers, and honestly any people with too much time on their hands who want fine-grained control over their web browser's behaviour and interface. That's you. It's giving main character energy. π
π Modes π
Luakit can run in various modes, which specify how the user interacts with the browser. Each one is a whole vibe.
- Normal mode β this is the default mode when Luakit is started. You can load URIs, open tabs and windows, access other modes, etc. Home base fr.
- All mode β a special meta-mode in which the bindings are present in all modes. Sneaky. Iconic.
- Insert mode β when selecting form fields, Luakit will enter the insert mode which allows you to enter text in form fields without accidentally triggering normal mode bindings. No more chaos. π
- Passthrough mode β Luakit will pass every key event to the WebView until the user presses
Escape. This is useful for using webpage shortcuts. Handing over the aux cord basically. - Command mode β enter commands. Every action in Luakit is a command, so basically you can do anything from there. Anything. π
- Lua mode β execute arbitrary Lua commands within the Luakit environment. Yes queen, run code.
π§ Userscripts π§
Luakit is highly extensible with userscripts written in Lua. These scripts may provide additional modes. Some are embedded by default. You will need to load the userscript to use its features. See the CONFIGURATION section for more details. (Yes bestie, you gotta actually load it, it's not gonna manifest itself.)
β¨ OPTIONS β¨
π Help options π
-h,--helpβ show help options.--help-allβ show all help options. the whole menu.--help-gtkβ show GTK+ help options.
π Application options π
-k,--checkβ check configuration file and exit.-c,--config=FILEβ configuration file to use.-n,--nonblockβ fork Luakit into the background.-U,--nouniqueβ ignore libunique bindings.-u,--uri=URIβ URI(s) to load at startup.-v,--verboseβ print debugging output.-V,--versionβ print version and exit.--display=DISPLAYβ X display to use.
β¨οΈ KEYBINDINGS β¨οΈ
Luakit is fully usable with keyboard. Default bindings should be familiar to users of Emacs and Vim; nonetheless a lot of keyboards and mouse shortcuts are shared with popular web browsers. Bestie she speaks every love language. π«Ά
Pressing : will open the command prompt. You can enter commands from there. You can view the current list of bindings in Luakit's help page with the
:help
command.
Some bindings have an uppercase version which will behave somewhat differently. Some come with userscripts, so you will need to have the appropriate userscript loaded to use it. Here follows a list of some noteworthy default bindings. π«
ZZβ quit and save the session.ZQβ quit without saving the session. bye, no receipts.o,Oβ open specified URIs. If uppercase, edit current URI.t,Tβ open specified URIs in new tab. If uppercase, edit current URI.w,Wβ open specified URIs in new window. If uppercase, edit current URI.<Left>,<Down>,<Up>,<Right>,h,j,k,lβ scroll page vertically and horizontally.<Home>,<End>,gg,Gβ go to top / bottom of the page.[count]%β go to[count]percent of the page.f,Fβ enter follow mode. Use numbers or text to open corresponding links. Use arrow to navigate between links. If uppercase, open in new tab. Requiresfollowuserscript.iβ enter insert mode. In some case form fields may not receive characters; press an arrow key to insert characters correctly.giβ enter insert mode in the first form field. Requiresgo_inputuserscript.<F11>β toggle fullscreen.+,-β change the zoom level.=β restore zoom level.p,Pβ open URI from clipboard. If uppercase, open in new tab.yβ yank current URI to clipboard. (Copy, but make it Vim.)<Ctrl>x,<Ctrl>aβ decrement / increment last number in URI. This is useful for forum threads or any ordered website.H,Lβ go back / forward in the browser history.<Ctrl><Shift><Tab>,<Ctrl><Tab>,<Ctrl><PageDown>,<Ctrl><PageUp>,gT,gtβ go to previous / next tab.<Alt>[0-9]β go to tab#, where#is between0and9.<,>β reorder tabs. Requirestaborderuserscript.[count]dβ close[count]tabs.uβ restore last closed tab. the comeback arc. πgyβ duplicate current tab.gh,gHβ open homepage. If uppercase, open in new tab.r,Rβ reload current page. If uppercase, skip cache.<Ctrl>cβ stop loading the current page.<Ctrl>zβ enter passthrough mode. UseESCto return to normal mode.M[a-zA-Z0-9]β associate current URI to quickmark#, where#is an ASCII letter or a digit. Requiresquickmarksuserscript.go[a-zA-Z0-9],gn[a-zA-Z0-9],gw[a-zA-Z0-9]β open specified quickmark in current tab / new tab / new window. Requiresquickmarksuserscript.Bβ add current URI to bookmarks.gb,gBβ open bookmarks manager. If uppercase, open in new tab./,?β search / reverse search for a string on current page.n,Nβ find next / previous result from search.
π COMMANDS π
All bindings actually refer to commands. However, some commands do not have bindings associated by default. If completion userscript is used, you can autocomplete commands by pressing <TAB> by default. Once again, you should consult the configuration files to get an exhaustive list. The currently available functions may be displayed from the help view, which you can open with the :help command. π
Here follows some noteworthy commands:
:bookmarksβ display and search bookmarks.:downloadsβ open Download page, which displays all downloads along with their status.:dumpβ download current page.:saveβ save the complete page as a single mhtml file.:helpβ display all commands and bindings, along with their description. The help page also features some details about modes.:historyβ display and search history.:inspectβ launch WebKit inspector. Use:inspect!to toggle off.:nohlsearchβ disable search highlighting.:qmarksβ display the quickmarks list.:tabhistoryβ display the tab history.:view-sourceβ display page source code. Use:view-source!to toggle off.
π FILES π
Luakit will load configuration files from the following folders in priority order:
$XDG_CONFIG_HOME/luakit$XDG_CONFIG_DIRS/luakit
Default configuration files:
binds.luaβ the keyboard and mouse bindings.globals.luaβ general configuration, like home page, search engines, user agent, per-domain properties, cookies policy.modes.luaβ all default modes are set in this file.rc.luaβ main configuration files. All other files are loaded from there.theme.lua, β colors definition.webview.luaβ WebKit related.window.luaβ status bar, windows and tabs behaviour.
Embedded userscript will be loaded from $XDG_DATA_DIRS/luakit/lib.
All browsing-related files are stored in $XDG_DATA_HOME/luakit. All of are created if needed and if they do not exist. Depending on the userscripts you are using, you may find:
bookmarks.dbβ an SQLite3 database containing your complete bookmark list. If you want to synchronise your bookmarks between your different systems, just share this file. You can use a symbolic link if the file is not stored in the required folder.cookies.dbβ this file contains all details needed for websites keeping track of your status, like login information. Delete this file once you are finished with browsing if you are not on your personal system.history.dbβ your browsing history. Delete this file once you are finished with browsing if you are not on your personal system.quickmarksβ a plain text file saving your quickmarks. The structure is extremely simple: each line is a single quickmark; first character is the quickmark shortcut and may be one of[a-zA-Z0-9]; second character is a space; the remaining part is the URI.
β οΈ bestie, heads up:cookies.dbandhistory.dbare your business. If you're not on your own machine, delete them when you're done. That's not a vibe warning, that's a "protect yourself" warning. π«£
π οΈ CONFIGURATION π οΈ
If you do not want to stick to the default configuration and want to benefit from the flexibility and extensibility of Luakit, you can fully configure it from the Lua configuration files. It's giving customisation queen. π
If you do not want to start from scratch, you may use default configuration files and tweak them to fit your needs. Use the following command to copy configuration file to your home folder:
cp -r $XDG_CONFIG_DIRS/luakit $XDG_CONFIG_HOME
You can now edit the new files. Configuration should be quite straightforward, even if you do not know much about Lua. You got this fr fr. π
π AUTHORS π
Luakit was mainly developed by Mason Larobina <mason.larobina@gmail.com>. Other contributors are listed in the AUTHORS file.
This man page was written by Pierre Neidhardt <ambrevar@gmail.com>.
okay so that's the whole thing, bestie!! π this page is from Luakit 636637cd, dated 2012-10-10, and it lives in section LUAKIT(1) of the manual. go forth and browse slayfully. β¨ππ¦
π¦ where this page comes from
- alpine 3.24: luakit-doc 2.4.0-r0 Β· GPL-3.0-or-later
- debian trixie: luakit 1:2.4.0-1 Β· GPL-3.0-or-later
- nixos 26.05: luakit 2.4.0
- nixpkgs unstable: luakit 2.4.0
- ubuntu questing: luakit 1:2.4.0-1
- ubuntu resolute: luakit 1:2.4.0-1build1 Β· GPL-3.0-or-later
- ubuntu stonking: luakit 1:2.4.0-1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms