Skip to main content

Implements a client and server interface useful for controlling a Vim editor programatically.

Project description

Vimrunner

Module that implements a client and server interface useful for controlling a Vim editor, started as a server, programatically. 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.2.tar.gz (11.3 kB view hashes)

Uploaded source

Supported by

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