Skip to main content

Interface for controlling a Vim editor using Python code.

Project description

Vimrunner

Module that implements a client and server interface useful for controlling a Vim editor, started as a server, programmatically. This module could be used for unit testing or integration testing for a Vim plugin written in Python. Or you can use it to interactively control a Vim editor by python code, for example, in an Ipython session.

How it all started

I created a class that used the vim python module to emulate a vim buffer and that would act like a list, so you could read and write lines and manipulate text using python.

However, I stumbled across Vimrunner which is a Ruby gem used to “spawn a Vim instance and control it programatically.”

So, this python module is heavily inspired by the project mentioned above.

Installation

There is a vimrunner package on PyPI, so you can install it with:

pip install vimrunner

Alternatively, you can just drop vimrunner.py file into your project - it is self-contained.

Testing

You can run unit tests using the command:

python setup.py test

Usage

import vimrunner

# initialize vim server
vim = vimrunner.Server()

# start GVIM as server and get a client connected to it
client = vim.start_gvim()
client.edit('any_file')
client.source('path/to/vim/plugin')

# start Vim editor in a terminal; it should work for Debian, Ubuntu, etc.
# that have a desktop installed
client = vim.start_in_other_terminal()

Documentation is available at http://andri-ch.readthedocs.org/en/latest/

For any suggestions regarding the module and its documentation, please submit an issue using GitHub issue tracker

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vimrunner-1.0.3.tar.gz (11.2 kB view details)

Uploaded Source

File details

Details for the file vimrunner-1.0.3.tar.gz.

File metadata

  • Download URL: vimrunner-1.0.3.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for vimrunner-1.0.3.tar.gz
Algorithm Hash digest
SHA256 30be7dad61daa40c80ab65a82c46a955a0c2da8f5e7d448b91da3c965f0f366e
MD5 e9af57b14159d87d341f8d7f355cb1f1
BLAKE2b-256 88c3efd8385f1e4279ba7d2f5b1827fec618b3dff8166aff1ac25c46145bbb29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page