Help us shape the future of Go! Take the 2026 Go Developer Survey

fude

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2026 License: MIT

README

fude

Vim's grammar, with everything built in.

A modal editor for the terminal and a native window, built from Go libraries you can use on their own.

License Status Sponsor

macOS | Linux | Windows

Install | Tour | Built in | Window | Together | Plugins | Libraries | Speed


fude (筆) is a writing brush. It is an editor for people who already think in Vim, and a set of Go modules for people who build editors.

Why fude

  • Your Vim keys, exactly. ciw, dap, ., macros, registers and :s do what they do in Neovim.
  • Everything built in. Language servers, tree-sitter, a finder, git, a debugger and live sharing, with no plugins to wire up.
  • One TOML file. Settings and keymaps are data. Nothing in your config runs.
  • Plugins can't freeze you. They run as sandboxed WebAssembly with a time limit on every call.
  • Nothing is lost. Every edit lands on a branching timeline on disk, so a crash loses nothing and undo never drops a branch.
  • Fast, and tested to stay fast. A key draws in under 1ms at p99 on 10MB of Go, and a test fails when it doesn't.
  • In a terminal or a window. The same editor runs in any true colour terminal, or in the system's own window on macOS, Linux and Windows.
  • A library too. The kernel, the Vim grammar, the syntax, the LSP and DAP clients, and the session a frontend draws are Go modules you can import.

Install

oku add github:y3owk1n/fude     # with oku, man pages included
go install github.com/y3owk1n/fude/cmd/fude@latest

Each release also has zips for macOS, Linux and Windows on arm64 and amd64. On macOS and Linux, fude builds grammars with the tree-sitter CLI.

On macOS, fude --gui opens fude in a native window, and oku also puts Fude.app in ~/Applications. On Linux it opens a GTK 4 window, so it needs GTK 4, as libgtk-4-1 on Debian and Ubuntu, and oku also adds Fude to the desktop's launcher. On Windows it opens a Win32 window, and oku also adds Fude to the Start menu. The macOS zips hold Fude.app too. Fude.app is unsigned for now, so a copy downloaded in a browser opens only after xattr -dr com.apple.quarantine Fude.app.

Building from source, and what fude uses when it is on PATH

Building needs Go 1.27 or later and a C compiler, since tree-sitter uses cgo. On Windows that is llvm-mingw's gcc and Git for Windows.

git clone https://github.com/y3owk1n/fude && cd fude
go build -o bin/fude ./cmd/fude
Tool For
git and tree-sitter, or git and gcc on Windows Building grammars
rg :pick grep, else git grep
pbcopy, wl-copy or xclip The clipboard
TinyGo Building plugins
A nerd font Icons, off by default

fude needs a terminal with true colour.

First steps

fude main.go
  • Edit. daf deletes the function you are in and cia changes an argument, in every language with a grammar.
  • Find. :pick files and :pick grep search with a live preview.
  • Rewind. :timeline lists every state of the file, diffs any of them and restores one.
  • Ask. Type part of a command and pause, and key hints show what can follow. :h guide-start opens the guide.

Built in

Area What you get
Editing Jump by label with s, edit every match with <C-n>, folds, surround, macros, :s with a live preview
Timeline Branching undo, :earlier 10m, :timeline to diff and restore, :recover after a crash
Syntax tree-sitter with 49 grammars built on first use, daf and cia, the enclosing function pinned on top
Language servers Several per file, hover, references, code actions with a preview, inlay hints, completion
Debugging DAP adapters, breakpoints, stepping and a panel of frames and variables
Finder Files, grep, buffers, symbols, diagnostics and help, and :pin for files a key away
Git Signs, hunk preview, stage with gh, :gitdiff, :blame
Files Edit a folder as text, then :w to rename, create and delete
Terminal and tasks :terminal, and :task for just recipes, make targets and npm scripts
Look Dark and light themes, any base16 scheme, markdown drawn as it reads, images in kitty, Ghostty, WezTerm and iTerm2

Where it drifts from Neovim

Neovim is the reference, and fude departs only where that is better. prd/decisions.md gives each reason.

  • Gone. fude has no vimscript, Lua, Ex mode, Select mode, modelines or swap files. The timeline does what swap and undo files did.
  • Config. It is one TOML file, with fude's own option names such as relative_number. Plugins are sandboxed wasm.
  • Search. fude runs Vim's patterns on a linear-time engine and refuses backreferences, so no pattern can hang the editor.
  • Defaults. Space is the leader, splits open below and right, brackets close themselves, and indent guides and key hints are on.
  • Keys. s jumps by label, S in visual mode surrounds, <C-n> adds a region, = formats as gq does, and q closes fude's own windows.
  • Built in. :pick replaces :grep and picker plugins, folds come from indent, and language server keys exist only while a server is attached.
  • Restart. :restart keeps unsaved changes, since the timeline holds them.

In a window

fude --gui opens fude in the system's own window: AppKit on macOS, GTK 4 on Linux and Win32 with DirectWrite on Windows. fude share, attach and join take --gui too.

  • Native chrome. Buffers are tabs in the title bar, and splits are the system's split views. The lists of the palette, the finder and menus are the system's tables, and on macOS and Linux the status bars are the system's labels.
  • The mouse. Click, drag, double and triple click, drag a selection to move it, rest on a word for its hover, and hold Command or Control to go to a definition.
  • Input methods and the clipboard. Composed text shows at the cursor, and the system's copy and paste work.
  • Screen readers. VoiceOver, Orca and Narrator read each window's text with its cursor and selection, and the status bars, the palette, menus and tabs. They speak each message as it shows.

[gui] in the config sets the window's font. The text takes the first family in font that the system has, so one config works on every system.

[gui]
font = ["JetBrains Mono", "Menlo", "Cascadia Mono"]
font_size = 13

Edit together

ana shares a file and lets ben in, they edit at once, ben's u undoes only his edit, and ben follows ana

fude attach            # another session of the fude running here
fude share             # let someone in over TLS
fude join <string>     # on their machine

Everyone has their own cursor, colour, windows and undo. :follow ana keeps your view on what ana sees. A guest edits only the project, and fude join --read-only watches without editing. Agents attach the same way and propose edits you :accept or :reject.

Configure

fude reads ~/.config/fude/config.toml, and every key in it is optional.

theme = "dark"
relative_number = true

[keymap.normal]
"<Leader><Leader>" = ":pick files<CR>"

[filetype.go]
lsp = ["gopls"]
format = ["goimports", "gofumpt"]

[module.autopairs]
enabled = false

:h settings lists every key, and :set changes one while fude runs.

Plugins

A plugin is Go built into WebAssembly with TinyGo. It gets only the capabilities its table grants.

func init() {
	sdk.Operator("zu", "upper-cases what a motion covers", func(r sdk.Range) {
		text, err := sdk.Text(r.Start, r.End)
		if err != nil {
			sdk.Log(err.Error())
			return
		}
		sdk.Edit(r.Start, r.End, strings.ToUpper(text))
	})
}
[[plugin]]
path = "plugins/upper.wasm"
capabilities = ["buffer.read", "buffer.write"]

zu now works with every motion, count, macro and .. fude plugin new upper starts one, and :h guide-plugins covers the rest.

Build on fude

Every layer is a Go module with a small API, and the editor uses each one the way your program would.

Module What it is Needs
core A text buffer with marks and a branching timeline, on a persistent rope The standard library
vim Vim's grammar as a state machine over your own text and host Two Unicode packages
syntax tree-sitter highlighting and syntax text objects cgo
protocol LSP and DAP clients that never block your loop The standard library
api, plugin, sdk The module API, the wasm plugin host and its Go SDK wazero
frontend A session to draw, in this process or another fude, the wire format, themes and windows composed into cells core and vim, no cgo
editor, modules The whole editor headless, and its 49 built-in modules fude's root module
tui, gui The terminal client and the native window, both frontends of client.Session fude's root module, plus tcell for the terminal and purego for the window
go get github.com/y3owk1n/fude/core github.com/y3owk1n/fude/vim

A distribution of your own is a list of modules handed to editor.Use. A frontend of your own gets its client.Session from the editor in the same process, or from client.Attach to a running fude. Each package's README shows how to start.

Speed

Each line is a test, measured on an Apple M-series Mac, and just check fails when one regresses.

Promise Limit Measured
Cold start to first frame 5ms 1 to 3ms
Key to frame, p99, 10MB of Go with syntax 1ms 0.75ms
The same with every module, git, a language server and a plugin 2ms 1ms
A scroll with everything the modules draw for it, p99 5ms 1.3ms
Undo and redo on a 10,000-step timeline, p99 1ms 0.3ms
A key after a burst of 10,000 edits, every module on, p99 1ms 0.5ms
:%s over 10MB of Go 50ms 18ms
Through fude attach, p99 5ms 0.8ms
First frame of a 1GB file 1s 0.55s

Memory stays flat too. A hundred files opened, edited and closed, or sixty terminals run and ended, leave nothing behind.

Status

fude is alpha. Releases are 0.x, and the config, plugin ABI, protocol and library APIs may change between them. Keep backups of work you care about.

Documentation

:h guide-start The guide, from your first file on
:h settings Every setting
fude help Every command-line option
fude man The man pages
prd/ The spec: what fude promises, how it works and why

Contributing

oku sync && oku allow    # the toolchain from oku.toml
just check               # format, vet, tests with -race, and the promises

A change starts from the spec: a behaviour in prd/behaviours.md, a test named after it, then the code. AGENTS.md holds the conventions.

Credits

fude follows Neovim and Vim for how an editor behaves.

Built on, and following

fude is built on tcell, purego, wazero, tree-sitter and its Go binding with every grammar's authors, go-toml, uax29, displaywidth, charmbracelet/x and ultraviolet, go-colorful, go-pointer, Go's x packages, TinyGo and Binaryen.

Much of it follows a project that did it first: oil.nvim, fff.nvim, which-key.nvim, gitsigns.nvim, mini.diff, mini.icons, conform.nvim, undo-glow.nvim, nvim-tmux-navigation, fzy, CodeMirror's collab module, base16, Tinted Theming, stylix, Helix and Zed. :pick grep runs ripgrep, and just and oku run fude's development.

Support

One person builds fude in their spare time. If you use it, you can sponsor it. Also by the same author: neru and mimi.

License

MIT. See LICENSE.

Directories

Path Synopsis
api module
cmd
fude module
core module
Package distribution is the set of modules fude runs, which the fude command and the tests that measure fude as it runs share.
Package distribution is the set of modules fude runs, which the fude command and the tests that measure fude as it runs share.
Package editor hosts the kernel and the vim machine for a set of files shown in a layout of windows.
Package editor hosts the kernel and the vim machine for a set of files shown in a layout of windows.
editortest
Package editortest drives a headless editor in tests, for a module or any program that builds on the editor.
Package editortest drives a headless editor in tests, for a module or any program that builds on the editor.
frontend module
Package gui is fude's native window, a frontend of client.Session.
Package gui is fude's native window, a frontend of client.Session.
internal
fsys
Package fsys opens and replaces files the way Unix does on every system: a file fude has open can still be renamed, and a write replaces a file whole.
Package fsys opens and replaces files the way Unix does on every system: a file fude has open can still be renamed, and a write replaces a file whole.
fuzzy
Package fuzzy ranks text by how well a query's letters match it, in order and ignoring case, as fzy and Vim's matchfuzzy() do (B129, B152).
Package fuzzy ranks text by how well a query's letters match it, in order and ignoring case, as fzy and Vim's matchfuzzy() do (B129, B152).
home
Package home expands the ~ that starts a path.
Package home expands the ~ that starts a path.
keep
Package keep is what fude keeps between runs, under the XDG directories: where they are, writing a file whole, the recent files and where a session and the pins are kept.
Package keep is what fude keeps between runs, under the XDG directories: where they are, writing a file whole, the recent files and where a session and the pins are kept.
paths
Package paths compares file paths as the system does: exactly, and on Windows ignoring case.
Package paths compares file paths as the system does: exactly, and on Windows ignoring case.
pty
Package pty runs a program in a pseudo-terminal, as :terminal does (B205).
Package pty runs a program in a pseudo-terminal, as :terminal does (B205).
root
Package root finds the folder a project's tool runs in, by the files that mark it.
Package root finds the folder a project's tool runs in, by the files that mark it.
shell
Package shell finds the user's shell, which runs :! commands and :terminal.
Package shell finds the user's shell, which runs :! commands and :terminal.
split
Package split says where a split opens, as split_below and split_right set (N16).
Package split says where a split opens, as split_below and split_right set (N16).
timeline
Package timeline is a buffer's timeline log on disk.
Package timeline is a buffer's timeline log on disk.
tomlerr
Package tomlerr says where in a TOML file a decoding error is.
Package tomlerr says where in a TOML file a decoding error is.
trace
Package trace keeps what fude did, for fude tail (B174).
Package trace keeps what fude did, for fude tail (B174).
modules
autopairs
Package autopairs types the closing bracket or quote with an opening one typed in insert mode, steps over a closing one that comes next, and deletes an empty pair with <BS>, while autopairs is on (B202).
Package autopairs types the closing bracket or quote with an opening one typed in insert mode, steps over a closing one that comes next, and deletes an empty pair with <BS>, while autopairs is on (B202).
blame
Package blame shows, dim after the cursor's line, who changed it last, how long ago and the commit's summary (B220).
Package blame shows, dim after the cursor's line, who changed it last, how long ago and the commit's summary (B220).
bufferline
Package bufferline says what the top row lists: the open buffers that have files, each by its file's name, with its folder too when two names are the same, while bufferline.enabled is on (B258).
Package bufferline says what the top row lists: the open buffers that have files, each by its file's name, with its folder too when two names are the same, while bufferline.enabled is on (B258).
buffers
Package buffers shows, steps through, writes and closes buffers: :buffer, :bnext, :bprevious, :update, :bdelete, :enew, and [b, ]b, [B and ]B (B89, B155, B428).
Package buffers shows, steps through, writes and closes buffers: :buffer, :bnext, :bprevious, :update, :bdelete, :enew, and [b, ]b, [B and ]B (B89, B155, B428).
colours
Package colours shows text that names a colour on that colour, and the colours a language server reports (B208, B209).
Package colours shows text that names a colour on that colour, and the colours a language server reports (B208, B209).
comment
Package comment is gc, which comments the lines a motion or object covers, or uncomments them, and after an operator is the block of commented lines around the cursor, so gcgc uncomments it (B44).
Package comment is gc, which comments the lines a motion or object covers, or uncomments them, and after an operator is the block of commented lines around the cursor, so gcgc uncomments it (B44).
completion
Package completion offers insert mode completions from the words of the open buffers, the entries of a directory a path before the cursor names, and the user's snippets (B206, B207).
Package completion offers insert mode completions from the words of the open buffers, the entries of a directory a path before the cursor names, and the user's snippets (B206, B207).
debug
Package debug runs a program under a debug adapter: breakpoints, stepping, a panel of frames and variables, and evaluation (B261 to B265).
Package debug runs a program under a debug adapter: breakpoints, stepping, a panel of frames and variables, and evaluation (B261 to B265).
diff
Package diff is diff mode: windows that show how their buffers differ, line beside line, through :diffthis, :diffsplit, :diffoff, :diffupdate, ]c, [c, do, dp, :diffget and :diffput (B520 to B525).
Package diff is diff mode: windows that show how their buffers differ, line beside line, through :diffthis, :diffsplit, :diffoff, :diffupdate, ]c, [c, do, dp, :diffget and :diffput (B520 to B525).
editorconfig
Package editorconfig sets a file's indentation from its .editorconfig files, as editorconfig.org's spec says (B238).
Package editorconfig sets a file's indentation from its .editorconfig files, as editorconfig.org's spec says (B238).
explorer
Package explorer is what an explorer of a directory does, as oil.nvim does: - lists the current file's directory, an explorer's keys open its entries, and editing it and :w renames, deletes and creates them.
Package explorer is what an explorer of a directory does, as oil.nvim does: - lists the current file's directory, an explorer's keys open its entries, and editing it and :w renames, deletes and creates them.
files
Package files is :pick files, the working directory's files read off the loop, and :pick buffers, the open buffers that have a file (B129, B213).
Package files is :pick files, the working directory's files read off the loop, and :pick buffers, the open buffers that have a file (B129, B213).
flash
Package flash shows text just yanked, put, undone or redone for flash_time milliseconds, as undo-glow.nvim does, and a change to the buffer clears it sooner (B139).
Package flash shows text just yanked, put, undone or redone for flash_time milliseconds, as undo-glow.nvim does, and a change to the buffer clears it sooner (B139).
fold
Package fold folds a buffer by indent, through zc, zC, zo, zO, za, zA, zv, zR, zM, zm, zr and zi, folds the lines zf covers, and moves between folds with zj and zk (B224, B502, N34).
Package fold folds a buffer by indent, through zc, zC, zo, zO, za, zA, zv, zR, zM, zm, zr and zi, folds the lines zf covers, and moves between folds with zj and zk (B224, B502, N34).
format
Package format formats a buffer through its filetype's formatters, or else its language server.
Package format formats a buffer through its filetype's formatters, or else its language server.
git
Package git shows how a file differs from git's index, as signs, hunks to jump to, reset and stage, a preview and :gitdiff, an explorer's entries' status and the branch on the status line (B123, B126, B138, B147, B221, B222).
Package git shows how a file differs from git's index, as signs, hunks to jump to, reset and stage, a preview and :gitdiff, an explorer's entries' status and the branch on the status line (B123, B126, B138, B147, B221, B222).
grammars
Package grammars is :grammar: it lists the grammars fude builds and whether each is built, builds one again, or builds again those built at an older pin (B165).
Package grammars is :grammar: it lists the grammars fude builds and whether each is built, builds one again, or builds again those built at an older pin (B165).
grep
Package grep is :pick grep, a live search of the working directory's files' lines (B134, B210).
Package grep is :pick grep, a live search of the working directory's files' lines (B134, B210).
guides
Package guides marks each indent level in a line's leading blanks with a faint line (B153).
Package guides marks each indent level in a line's leading blanks with a faint line (B153).
help
Package help shows fude's help in its window, at the entry a name has, and goes to the entry of the name under the cursor there (B162).
Package help shows fude's help in its window, at the entry a name has, and goes to the entry of the name under the cursor there (B162).
hints
Package hints shows the keys that may follow the command being typed, once it waits key_hints milliseconds for its next key, as which-key.nvim does.
Package hints shows the keys that may follow the command being typed, once it waits key_hints milliseconds for its next key, as which-key.nvim does.
history
Package history opens the command lines or searches entered before in a window to edit, as q:, q/ and q? do, where <CR> runs the line under the cursor (B371).
Package history opens the command lines or searches entered before in a window to edit, as q:, q/ and q? do, where <CR> runs the line under the cursor (B371).
inlay
Package inlay shows a language server's inlay hints among a buffer's text, such as parameter names and types (B216).
Package inlay shows a language server's inlay hints among a buffer's text, such as parameter names and types (B216).
jump
Package jump moves the cursor to any text in view in a few keys.
Package jump moves the cursor to any text in view in a few keys.
lens
Package lens shows a language server's code lenses, such as a test's run or a function's count of references, in a row above the line each is about, and grx runs the one on the cursor's line (B462, B463).
Package lens shows a language server's code lenses, such as a test's run or a function's count of references, in a row above the line each is about, and grx runs the one on the cursor's line (B462, B463).
links
Package links follows what is under the cursor: gx opens a link or a file with the system's opener, and gf opens a file in fude.
Package links follows what is under the cursor: gx opens a link or a file with the system's opener, and gf opens a file in fude.
lists
Package lists lists what the editor keeps: :buffers, :marks, :jumps, :changes, :registers and :messages (B157, B268).
Package lists lists what the editor keeps: :buffers, :marks, :jumps, :changes, :registers and :messages (B157, B268).
lsp
Package lsp is what a language server tells about the symbol under the cursor: hover, its definition, declaration, type definition, implementations, references, calls and types, the file's symbols, the workspace's, and renaming it (B62, B66, B214, B460, B464, B465).
Package lsp is what a language server tells about the symbol under the cursor: hover, its definition, declaration, type definition, implementations, references, calls and types, the file's symbols, the workspace's, and renaming it (B62, B66, B214, B460, B464, B465).
markdown
Package markdown draws a markdown file as it reads, with render on: headings on their level's ground without their #s, code blocks on a ground without their fences, bullets, checkboxes, quote bars and rules, and links and emphasis without their marks.
Package markdown draws a markdown file as it reads, with render on: headings on their level's ground without their #s, code blocks on a ground without their fences, bullets, checkboxes, quote bars and rules, and links and emphasis without their marks.
pick
Package pick is the :pick sources of fude's own registry: help opens help at a tag, keymaps lists every key and runs one picked, and commands lists every ex command and runs one picked (B215, B266).
Package pick is the :pick sources of fude's own registry: help opens help at a tag, keymaps lists every key and runs one picked, and commands lists every ex command and runs one picked (B215, B266).
pins
Package pins keeps a short list of files for each working directory, in the order the user chooses: :pin and <Leader>a pin the current file, <Leader>1 to <Leader>9 go to one, and :pin list shows them as lines :w writes.
Package pins keeps a short list of files for each working directory, in the order the user chooses: :pin and <Leader>a pin the current file, <Leader>1 to <Leader>9 go to one, and :pin list shows them as lines :w writes.
places
Package places shows the last list of places in a window, where <CR> goes to the place on the cursor's line, and steps through it: ]q, [q, [Q, ]Q, :cnext, :cprevious, :cfirst, :clast, :cc, :copen, :cclose, :cdo and :cfdo, and goes back to older lists with :colder and :cnewer (B194, B257, B347, B501).
Package places shows the last list of places in a window, where <CR> goes to the place on the cursor's line, and steps through it: ]q, [q, [Q, ]Q, :cnext, :cprevious, :cfirst, :clast, :cc, :copen, :cclose, :cdo and :cfdo, and goes back to older lists with :colder and :cnewer (B194, B257, B347, B501).
plug
Package plug is :plug, which runs <Plug>(name) as a key mapped to it does (B271).
Package plug is :plug, which runs <Plug>(name) as a key mapped to it does (B271).
recent
Package recent keeps the files windows show, newest first, in fude's state directory, and lists them for :pick recent, those under the working directory first (B213).
Package recent keeps the files windows show, newest first, in fude's state directory, and lists them for :pick recent, those under the working directory first (B213).
references
Package references lights up the references to the symbol under the cursor, as a language server finds them, once the cursor rests on it in normal mode.
Package references lights up the references to the symbol under the cursor, as a language server finds them, once the cursor rests on it in normal mode.
review
Package review shows the proposals clients made in a window, each as its number and the lines it changes, where a, r, A and R accept and reject them, and <CR> goes to one (B391).
Package review shows the proposals clients made in a window, each as its number and the lines it changes, where a, r, A and R accept and reject them, and <CR> goes to one (B391).
session
Package session keeps the working directory's session as fude quits: its windows on files, each with its cursor, top line and options, and which is current.
Package session keeps the working directory's session as fude quits: its windows on files, each with its cursor, top line and options, and which is current.
sessions
Package sessions lists the sessions sharing this fude and acts on them: :who lists the guests, :kick ends a guest's session and :follow keeps the windows on what another session shows (B250, B256).
Package sessions lists the sessions sharing this fude and acts on them: :who lists the guests, :kick ends a guest's session and :follow keeps the windows on what another session shows (B250, B256).
shell
Package shell runs commands in the user's shell: :!cmd shows what one writes, :{range}!cmd puts the range's lines through it, and :r !cmd puts what it writes below the line, as :r file puts a file's text (B156).
Package shell runs commands in the user's shell: :!cmd shows what one writes, :{range}!cmd puts the range's lines through it, and :r !cmd puts what it writes below the line, as :r file puts a file's text (B156).
spell
Package spell underlines the words its word list lacks, and goes to, fixes and adds them (B259, B260).
Package spell underlines the words its word list lacks, and goes to, fixes and adds them (B259, B260).
start
Package start shows the start screen of fude started with no file: what each key does, the recent files, and the working directory's session when it has one (B225, B226).
Package start shows the start screen of fude started with no file: what each key does, the recent files, and the working directory's session when it has one (B225, B226).
sticky
Package sticky pins the first lines of the functions and classes a window's top is in over its top rows (B217).
Package sticky pins the first lines of the functions and classes a window's top is in over its top rows (B217).
surround
Package surround puts brackets or quotes around text, as vim-surround does: ys{motion}{char}, yss{char} and S{char} in visual mode add them, ds{char} deletes them and cs{old}{new} changes them (B219).
Package surround puts brackets or quotes around text, as vim-surround does: ys{motion}{char}, yss{char} and S{char} in visual mode add them, ds{char} deletes them and cs{old}{new} changes them (B219).
tabline
Package tabline says which tab pages the top row lists and what it calls each (B545).
Package tabline says which tab pages the top row lists and what it calls each (B545).
task
Package task runs a project's tasks in a terminal window: config.toml's [task.<name>] tables and .fude/tasks.toml's, the justfile's recipes, the Makefile's targets and package.json's scripts (B228, B230, B231, B233).
Package task runs a project's tasks in a terminal window: config.toml's [task.<name>] tables and .fude/tasks.toml's, the justfile's recipes, the Makefile's targets and package.json's scripts (B228, B230, B231, B233).
terminal
Package terminal is :terminal, which shows and hides the session's shells, or runs a command, in a terminal window below, and :pick terminals, which shows a terminal again (B205, B364).
Package terminal is :terminal, which shows and hides the session's shells, or runs a command, in a terminal window below, and :pick terminals, which shows a terminal again (B205, B364).
theme
Package theme switches the colours every client draws in, with :theme, and centers the windows on a wide screen, with :center and <Plug>(theme.center) (B158, B199).
Package theme switches the colours every client draws in, with :theme, and centers the windows on a wide screen, with :center and <Plug>(theme.center) (B158, B199).
timeline
Package timeline is what lists, moves through and restores the states of a buffer's text: :timeline and its window's keys, :earlier, :later, :restore, :diff and :recover (B31, B32, B34, B35).
Package timeline is what lists, moves through and restores the states of a buffer's text: :timeline and its window's keys, :earlier, :later, :restore, :diff and :recover (B31, B32, B34, B35).
window
Package window moves to the window that way, or inside tmux, with no window that way, to tmux's pane there, as nvim-tmux-navigation does (B140).
Package window moves to the window that way, or inside tmux, with no window that way, to tmux's pane there, as nvim-tmux-navigation does (B140).
plugin module
protocol module
sdk module
syntax module
Package term is the terminal client.
Package term is the terminal client.
vim module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL