### Pynvim: Python client to [Neovim](https://github.com/neovim/neovim)
[![Build Status](https://travis-ci.org/neovim/python-client.svg?branch=master)](https://travis-ci.org/neovim/python-client)
[![Documentation Status](https://readthedocs.org/projects/pynvim/badge/?version=latest)](http://pynvim.readthedocs.io/en/latest/?badge=latest)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/neovim/python-client/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/neovim/python-client/?branch=master)
[![Code Coverage](https://scrutinizer-ci.com/g/neovim/python-client/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/neovim/python-client/?branch=master)
Pynvim implements support for python plugins in Nvim. It also works as a library for
connecting to and scripting Nvim processes through its msgpack-rpc API.
#### Installation
Supports python 2.7, and 3.4 or later.
```sh
pip2 install neovim
pip3 install neovim
```
If you only use one of python2 or python3, it is enough to install that
version. You can install the package without being root by adding the `--user`
flag.
If you follow Neovim master, make sure to upgrade the python-client when you
upgrade neovim:
```sh
pip2 install --upgrade neovim
pip3 install --upgrade neovim
```
Alternatively, the master version could be installed by executing the following
in the root of this repository:
```sh
pip2 install .
pip3 install .
```
#### Python Plugin API
Pynvim supports python _remote plugins_ (via the language-agnostic Nvim rplugin
interface), as well as _Vim plugins_ (via the `:python[3]` interface). Thus when
pynvim is installed Neovim will report support for the `+python[3]` Vim feature.
The rplugin interface allows plugins to handle vimL function calls as well as
defining commands and autocommands, and such plugins can operate asynchronously
without blocking nvim. For details on the new rplugin interface,
see the [Remote Plugin](http://pynvim.readthedocs.io/en/latest/usage/remote-plugins.html) documentation.
Pynvim defines some extensions over the vim python API:
* Builtin and plugin vimL functions are available as `nvim.funcs`
* API functions are available as `vim.api` and for objects such as `buffer.api`
* Lua functions can be defined using `vim.exec_lua` and called with `vim.lua`
* Support for thread-safety and async requests.
See the [Python Plugin API](http://pynvim.readthedocs.io/en/latest/usage/python-plugin-api.html) documentation for usage of this new functionality.
#### Development
If you change the code, you need to run
```sh
pip2 install .
pip3 install .
```
for the changes to have effect. For instructions of testing and troubleshooting,
see the [development](http://pynvim.readthedocs.io/en/latest/development.html) documentation.
#### Usage through the python REPL
A number of different transports are supported, but the simplest way to get
started is with the python REPL. First, start Nvim with a known address (or use
the `$NVIM_LISTEN_ADDRESS` of a running instance):
```sh
$ NVIM_LISTEN_ADDRESS=/tmp/nvim nvim
```
In another terminal, connect a python REPL to Nvim (note that the API is similar
to the one exposed by the [python-vim
bridge](http://vimdoc.sourceforge.net/htmldoc/if_pyth.html#python-vim)):
```python
>>> from neovim import attach
# Create a python API session attached to unix domain socket created above:
>>> nvim = attach('socket', path='/tmp/nvim')
# Now do some work.
>>> buffer = nvim.current.buffer # Get the current buffer
>>> buffer[0] = 'replace first line'
>>> buffer[:] = ['replace whole buffer']
>>> nvim.command('vsplit')
>>> nvim.windows[1].width = 10
>>> nvim.vars['global_var'] = [1, 2, 3]
>>> nvim.eval('g:global_var')
[1, 2, 3]
```
You can embed neovim into your python application instead of binding to a
running neovim instance.
```python
>>> from neovim import attach
>>> nvim = attach('child', argv=["/bin/env", "nvim", "--embed"])
```
The tests can be consulted for more examples.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
共44个文件
py:33个
txt:4个
pkg-info:2个
资源分类:Python库 所属语言:Python 资源全名:pynvim-0.3.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
pynvim-0.3.1.tar.gz (44个子文件)
pynvim-0.3.1
MANIFEST.in 26B
PKG-INFO 365B
neovim
api
__init__.py 177B
__init__.py 174B
test
test_concurrency.py 635B
test_decorators.py 975B
test_tabpage.py 1020B
test_events.py 2KB
test_vim.py 5KB
test_buffer.py 6KB
test_host.py 195B
test_client_rpc.py 2KB
test_window.py 3KB
LICENSE 11KB
setup.cfg 117B
setup.py 1KB
pynvim
msgpack_rpc
async_session.py 5KB
__init__.py 1KB
event_loop
__init__.py 713B
uv.py 4KB
asyncio.py 5KB
base.py 7KB
msgpack_stream.py 2KB
session.py 8KB
util.py 1013B
api
common.py 6KB
__init__.py 379B
window.py 2KB
buffer.py 7KB
nvim.py 19KB
tabpage.py 1006B
compat.py 2KB
__init__.py 5KB
plugin
decorators.py 5KB
__init__.py 319B
host.py 9KB
script_host.py 9KB
README.md 4KB
pynvim.egg-info
PKG-INFO 365B
requires.txt 66B
not-zip-safe 1B
SOURCES.txt 1KB
top_level.txt 14B
dependency_links.txt 1B
共 44 条
- 1
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功