pynvim
提供了一系列的 API 用于与 Neovim 交互。这些 API 可以分为几个主要类别,下面是每个类别中的详细 API 列表:
Neovim API 客户端
nvim.attach
: 附加到 Neovim 实例。nvim.request
: 发送请求到 Neovim 并接收响应。nvim.command
: 执行 Neovim 命令。nvim.eval
: 评估 Neovim 表达式。nvim.call
: 调用 Neovim 函数。nvim.exec
: 执行 Vim 脚本代码。nvim.api
: 直接访问更底层的 Neovim API 函数。
缓冲区 API (Buffers)
nvim.buffers
: 列出所有缓冲区。nvim.current.buffer
: 获取当前缓冲区。- 缓冲区方法:
buffer.append
: 在缓冲区末尾添加行。buffer.get_line
: 获取指定行。buffer.set_line
: 设置指定行。buffer.del_line
: 删除指定行。buffer.range
: 获取缓冲区的一部分。
窗口 API (Windows)
nvim.windows
: 列出所有窗口。nvim.current.window
: 获取当前窗口。- 窗口方法:
window.get_cursor
: 获取光标位置。window.set_cursor
: 设置光标位置。window.get_height
: 获取窗口高度。window.set_height
: 设置窗口高度。window.get_width
: 获取窗口宽度。window.set_width
: 设置窗口宽度。
标签页 API (Tabpages)
nvim.tabpages
: 列出所有标签页。nvim.current.tabpage
: 获取当前标签页。- 标签页方法:
tabpage.list_wins
: 列出标签页中的所有窗口。tabpage.get_var
: 获取标签页变量。tabpage.set_var
: 设置标签页变量。tabpage.get_win
: 获取当前窗口。
变量和选项 API
nvim.vars
: 访问和设置 Neovim 全局变量。nvim.vvars
: 访问 Neovim 的 vim 变量。nvim.options
: 访问和设置 Neovim 选项。nvim.env
: 访问 Neovim 环境变量。
事件和回调 API
- 事件监听 (
@nvim.autocmd
): 用于响应不同的编辑器事件,如文件打开、关闭等。 - 异步 API (
@nvim.function
withsync=False
): 用于执行异步操作。
用户界面 API
nvim.ui_attach
: 附加到 Neovim 的用户界面。nvim.ui_try_resize
: 尝试改变 Neovim 用户界面的大小。nvim.ui_set_option
: 设置用户界面选项。
以上是 pynvim
提供的 API 的概览,你可以根据需要使用这些 API 来创建和管理 Neovim 的插件或脚本。