Text Editor

pyvim – terminal Vim implementation using prompt_toolkit

pyvim is an implementation of a subset of Vim’s editor behaviour in a terminal interface. It aims to provide a recognisable Vim-style editing experience while remaining straightforward to experiment with and extend. Its interface is built around prompt_toolkit rather than a traditional curses-based screen editor.

The project is particularly interesting as a demonstration of the editing capabilities of prompt_toolkit. It brings together file buffers, separate editing windows and editor commands in a compact environment. Developers working with Python can also use integration with tools that provide completion and code checks.

It is not a drop-in replacement for Vim. The developer documents limitations involving large files, window-specific cursor behaviour, and features such as folding and macros. Users handling complex editing sessions or especially large files should take these constraints into account.

This is free and open source software.

Key Features

  • Vim-style normal and insert operations through prompt_toolkit key bindings.
  • Horizontal and vertical split windows plus tab pages.
  • Syntax highlighting through Pygments lexers.
  • Configurable search, indentation, numbering, highlights and other editor options.
  • Python completions through Jedi and asynchronous checking through Pyflakes.
  • Runtime colour scheme switching.
  • Optional personal configuration in a .pyvimrc file.
  • Interactive command operations including vsplit, tabnew and buffer management.

Website: github.com/prompt-toolkit/pyvim
Support:
Developer: Jonathan Slenders
License: BSD 3-Clause ‘New’ or ‘Revised’ License

pyvim in action

pyvim is written in Python. Learn Python with our recommended free books and free tutorials.


Related Software

Vim-like Text Editors
NeovimVim-fork focused on extensibility and usability
HelixKakoune / Neovim inspired editor.
LapceModern editor in Rust which uses native GUI and GPU rendering
NvChadNeovim config aiming to provide a base configuration
LunarVimIDE layer for Neovim
KakouneImplements Vi’s "keystrokes as a text editing language" model
VisCombining modal editing with structural regular expressions
vileText editor that combines aspects of the Emacs and vi editors
pyvimImplementation of Vim in Python
gVimVim with a built-in GUI
ampVim-like editor written in Rust
VyVim-like in Python made from scratch
moeCommand-line editor inspired by Vim
wigModal, Vim-like text editor
sledSimple text editor with a terminal UI
redModern modal text editor written in Rust
adAdaptable text editor
hatHackable modal text editor
HAKOLightweight terminal-based modal text environment
xviPortable multi-file text editor
aretextMinimalist text editor with vim-compatible key bindings
LeveeAlso known as Captain Video

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted