# Install vis with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Vim-like text editor. Version 0.9 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:vis
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vis
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install vis
```

  Evidence: MacPorts ports tree: editors/vis/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add vis
```

  Evidence: Alpine Linux edge package indexes: vis from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install vis
```

  Evidence: Debian stable package indexes: vis from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install vis
```

  Evidence: Fedora Rawhide package metadata: vis from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#vis
```

  Evidence: nixpkgs package indexes: pkgs/by-name/vi/vis/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S vis
```

  Evidence: Arch Linux sync databases: vis from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install vis
```

  Evidence: openSUSE Tumbleweed package metadata: vis from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:vis
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vis>
- **Version:** 0.9
- **Source summary:** Vim-like text editor
- **Homepage:** <https://github.com/martanne/vis>
- **Repository:** <https://github.com/martanne/vis>
- **Upstream docs:** <https://github.com/martanne/vis#readme>
- **License:** ISC
- **Source archive:** <https://github.com/martanne/vis/archive/refs/tags/v0.9.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- vis (cli)
- vis-clipboard (cli)
- vis-complete (cli)
- vis-digraph (cli)
- vis-menu (cli)
- vis-open (cli)
- vis (alias)
- vis-clipboard (alias)
- vis-complete (alias)
- vis-digraph (alias)
- vis-menu (alias)
- vis-open (alias)

## Dependencies

- libtermkey
- lpeg
- lua@5.4
- tre

## Build dependencies

- pkgconf

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Caveats: To avoid a name conflict with the macOS system utility /usr/bin/vis, this text editor must be invoked by calling `vise` ("vis-editor").
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.9
- Local data: ok
- Upstream repository: https://github.com/martanne/vis
- Upstream latest detected: v0.9 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

vis is a small, Unix-oriented text editor that deliberately combines vi-style modal editing with the structural regular-expression command language associated with Plan 9's sam editor. Its upstream README presents the project as a modern, legacy-free editor with multiple selections, Lua extension hooks, Unicode support, and tolerance for large, binary, and single-line files.

### Project history

The public GitHub repository was created in November 2014, and the project has remained under the stewardship of Marc Andre Tanner's martanne namespace while also advertising development discussion on SourceHut and IRC. Its development history is unusually explicit about editor-design boundaries: the README says vis is not intended to be bug-for-bug compatible with vi or Vim, and its non-goals reject VimL, GUI front ends, built-in archive/network support, spell checking, and advanced window management.

The project moved through a long pre-1.0 release line rather than a compatibility-breaking stable major. GitHub releases show v0.3 in March 2017, v0.5 in March 2018, v0.7 in December 2020, v0.8 in November 2022, and v0.9 in May 2024. The v0.9 changelog describes years of accumulated fixes and extension work, especially Lua API changes intended to make vis easier to extend.

### Adoption history

vis occupies a niche among terminal editor users who like vi's modal vocabulary but want sam-style structural editing and a smaller codebase than Vim. The upstream wiki links distribution packages, and the project is packaged across common Unix-like systems, reflecting adoption primarily through source builds and operating-system package collections rather than a single vendor distribution.

The adoption story is less about replacing Vim in the mainstream and more about keeping Plan 9 editing ideas alive in package-manager culture. The README points users to differences from sam and vi/Vim, making the tool understandable as a deliberate bridge between older research-editor ideas and daily Unix editing.

### How it is used

vis is normally launched as a terminal editor for local files. Users get vi-like normal, insert, and visual workflows, then use structural regular-expression commands for selections and transformations that can span arbitrary text structure rather than only line-oriented ranges.

The project also exposes small companion utilities such as vis-open, vis-menu, vis-complete, vis-clipboard, and vis-digraph, keeping the editor core narrow while delegating picker, completion, clipboard, and digraph work to separate commands.

### Why package nerds care

For package nerds, vis is the rare editor package whose identity is a design argument: small C core, POSIX-flavored build, Lua scripting instead of VimL, and structural regular expressions as a first-class interaction model. It is often evaluated by people who want a hackable editor without the size and historical compatibility load of Vim.

Its release cadence also makes it a familiar kind of ports-tree package: slow-moving, conservative, and useful to users who knowingly opt into a pre-1.0 but long-lived tool.

### Timeline

- 2014: Public GitHub repository for martanne/vis created.
- 2017: v0.3 and v0.4 released as the editor matured publicly.
- 2018: v0.5 released; vis had become a recognizable Plan 9-inspired vi-like editor in Unix package sets.
- 2020: v0.6 and v0.7 released, including Lua 5.4 support and core text-management work.
- 2022: v0.8 released as a stable snapshot after a long development interval.
- 2024: v0.9 released with many bug fixes and Lua API extension improvements.

### Related projects

- vis is explicitly related to vi, Vim, and Plan 9 sam. Its README also names LPeg and Lua as important pieces of the extension and syntax-highlighting story.

### Sources

- <https://api.github.com/repos/martanne/vis>
- <https://api.github.com/repos/martanne/vis/releases?per_page=20>
- <https://github.com/martanne/vis>
- <https://martanne.github.io/vis/man/vis.1.html>
- <https://raw.githubusercontent.com/martanne/vis/master/CHANGELOG.md>
- <https://raw.githubusercontent.com/martanne/vis/master/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $XDG_CONFIG_HOME/vis/visrc.lua, ~/.config/vis/visrc.lua, /etc/vis/visrc.lua
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** vis
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - vis - 0.9-1: normalized package name match | Debian stable package indexes: vis from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Modern, legacy free, simple yet efficient vim-like editor | https://github.com/martanne/vis
- Nix - vis: normalized package name match | nixpkgs package indexes: pkgs/by-name/vi/vis/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - vis - 0.8-1: normalized package name match | Ubuntu 24.04 LTS package indexes: vis from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Modern, legacy free, simple yet efficient vim-like editor | https://github.com/martanne/vis
- apk - vis - 0.9-r0: normalized package name match | Alpine Linux edge package indexes: vis from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern, legacy free, simple yet efficient vim-like editor | https://github.com/martanne/vis
- apk - vis-doc - 0.9-r0: normalized package name match | Alpine Linux edge package indexes: vis-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern, legacy free, simple yet efficient vim-like editor (documentation) | https://github.com/martanne/vis
- dnf - vis - 0.9-6.fc45: normalized package name match | Fedora Rawhide package metadata: vis from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A vim-like editor with structural regex from plan9 | https://git.sr.ht/~martanne/vis
- dnf - vis-doc - 0.9-6.fc45: normalized package name match | Fedora Rawhide package metadata: vis-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Docs for the Lua API of Vis | https://git.sr.ht/~martanne/vis
- pacman - vis - 0.9.r463.ge9791c2c-1: normalized package name match | Arch Linux sync databases: vis from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | modern, legacy free, simple yet efficient vim-like editor | https://github.com/martanne/vis#vis-a-vim-like-text-editor
- zypper - vis - 0.9-1.6: normalized package name match | openSUSE Tumbleweed package metadata: vis from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | An editor combining the strengths of both vi(m) and sam | https://sr.ht/~martanne/vis/
- MacPorts - vis: normalized package name match | MacPorts ports tree: editors/vis/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [lua@5.4](https://www.automicvault.com/pkg/brew/lua-5-4/) - Runtime dependency declared by Homebrew.
- [tre](https://www.automicvault.com/pkg/brew/tre/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [nvi](https://www.automicvault.com/pkg/brew/nvi/) - Shares av.db curated category or tags: cli, developer-tools, text-editor, text-editors, vi.
- [ex-vi](https://www.automicvault.com/pkg/brew/ex-vi/) - Shares av.db curated category or tags: cli, developer-tools, text-editor, vi.
- [bvi](https://www.automicvault.com/pkg/brew/bvi/) - Shares av.db curated category or tags: cli, developer-tools, vi.
- [ed](https://www.automicvault.com/pkg/brew/ed/) - Shares av.db curated category or tags: cli, developer-tools, text-editor.
- [hyx](https://www.automicvault.com/pkg/brew/hyx/) - Shares av.db curated category or tags: cli, developer-tools, vim-like.
- [jed](https://www.automicvault.com/pkg/brew/jed/) - Shares av.db curated category or tags: cli, developer-tools, text-editor.
- [kakoune](https://www.automicvault.com/pkg/brew/kakoune/) - Shares av.db curated category or tags: cli, developer-tools, text-editor.
- [ldapvi](https://www.automicvault.com/pkg/brew/ldapvi/) - Shares av.db curated category or tags: cli, developer-tools, text-editor.
- [mle](https://www.automicvault.com/pkg/brew/mle/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, editor, editors.
- [pyvim](https://www.automicvault.com/pkg/brew/pyvim/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, editor, editors.

## Combined YAML source

View the package source record on GitHub. [combined/vis.yml](https://github.com/automic-vault/db/blob/main/combined/vis.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
