Skip to main content
txtr screenshot

A Vim-style LaTeX editor for the terminal.

txtr screenshot

Read the docs | PyPI


txtr (aka texitor) is a terminal LaTeX editor built for speed. It mixes Vim-style modal editing with snippets, autocomplete, citations, compiler tooling, and plugins in one clean TUI.

Under active development. Expect bugs :)

Docs

The full docs are here: txtr.benji.mom

If you only read one extra thing after this README, make it one of these:

Installation

pip install texitor

If your system complains about installing packages globally, use pipx, uv, or a virtual environment instead.

pipx install texitor
uv tool install texitor
python -m venv txtr-env
source txtr-env/bin/activate
pip install texitor

Requires Python 3.11 or later. More install details live in the docs: txtr.benji.mom/installation

What even is LaTeX?

LaTeX is a typesetting system used a lot for maths, science, essays, notes, and papers. It is great once you know it, but it can be pretty slow and bracket-heavy to write by hand.

That is the whole point of txtr: make writing LaTeX in the terminal feel fast instead of annoying.

Quick start

txtr file.tex

If the file does not exist, txtr creates it. On first run txtr seeds config, snippets, commands, and keybind overrides into ~/.config/txtr/.

Never used a Vim-style editor before? This is the tiny version:

  • i enters Insert mode so you can type (this is how you can actually get text into the editor)
  • Esc takes you back to Normal mode
  • :w saves
  • :q quits
  • :wq saves and quits
  • ? opens the help menu

Once you are inside txtr:

  • : opens command mode
  • :snippets jumps straight to snippet help
  • :config show opens the config panel
  • :plugin list shows installed plugins
  • typing \fra opens LaTeX autocomplete
  • Up / Down moves through autocomplete and Enter or Ctrl+Space accepts it
  • typing a snippet trigger like // or doc expands it fast (doc still needs Tab)

txtr also remembers where you were in a file when you reopen it by default, so hopping back into longer docs feels way nicer.

If you want the fuller walkthrough, go straight to the quick start docs.

What ships with txtr

  • Vim-style modal editing for .tex files
  • LaTeX snippets and completions
  • citation autocomplete from .bib files
  • compiler commands, buildwatch, and PDF build workflows
  • file explorer, recents, and multi-buffer workflow
  • restore cursor position when reopening files
  • built-in plugins:
    • wordcount - latex-aware word count
    • freeze - screenshot/export via the freeze CLI
    • zathura - external PDF open + SyncTeX forward search
  • installable user plugins on top of the built-ins
  • a full docs site with config, snippets, themes, and plugin guides

Built-in plugins ship with txtr, but they are still configured and enabled like normal plugins.

Docs, again because they matter

The README is only the short version. The proper setup/config/snippet/plugin guides live at:

https://txtr.benji.mom

Notes

  • requires Python 3.11+
  • compiler features expect tools like latexmk or pdflatex to be installed
  • system clipboard features rely on platform clipboard tools
  • some plugins rely on external tools too, for example freeze and zathura

Compatibility

  • Linux - fully supported and tested
  • MacOS - supported but not thoroughly tested
  • Windows - not currently supported, but WSL should work fine - txtr will run but do expect errors

If you would like to port txtr to Windows, please open an issue or PR on GitHub. I don't have access to a Windows machine but would be happy to review and merge contributions that add support.

Contributing

txtr is early-stage. If you find a bug or want to add something, open an issue or PR on GitHub.

tl;dr - just make a pr ...

Metadata

Release files for texitor 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for texitor 3.0.0
File Size Uploaded Provenance
texitor-3.0.0.tar.gz 85.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for texitor 3.0.0
File Interpreter ABI Platform
texitor-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 189.0 kB

Release files / texitor-3.0.0.tar.gz

Download URL texitor-3.0.0.tar.gz
Size 85.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5fb7faed349d662d2366648de8802c322d648faa178c6730298fbdc7d0ac2388
BLAKE2b-256 checksum
How to use checksums
d58f5d84286a638cd296958477ac67ae0672efbfc9b373c46b183bba0062c184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / texitor-3.0.0-py3-none-any.whl

Download URL texitor-3.0.0-py3-none-any.whl
Size 103.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e3f1266197722bc66bfecaa84c64a68ee382b070bab8bb0940c8a6ca64394561
BLAKE2b-256 checksum
How to use checksums
5fd0a57d05085f8f4d3355d1be7a5bf7c8ac85f6bfcf695dba6b07bfcdf63fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for texitor 3.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page