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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30be7dad61daa40c80ab65a82c46a955a0c2da8f5e7d448b91da3c965f0f366e
|
|
| MD5 |
e9af57b14159d87d341f8d7f355cb1f1
|
|
| BLAKE2b-256 |
88c3efd8385f1e4279ba7d2f5b1827fec618b3dff8166aff1ac25c46145bbb29
|