# @chemzqm/neovim 中文文档

规范地址：https://npmcn.com/package/%40chemzqm/neovim/

版本：6\.4\.0
npm 元数据更新时间：2026-08-03T10:46:23.543Z
中文译文更新时间：2026-11-09T12:02:50.059Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chemzqm/neovim
原文对照：https://npmcn.com/package/%40chemzqm/neovim/?lang=original
项目主页：https://github.com/chemzqm/node-client
源码仓库：https://github.com/chemzqm/node-client

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：129 kB，44 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2018-05-02T23:47:18.869Z
- 最新版本发布：2026-08-03T10:46:23.383Z
- 近 30 天下载量：8000（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：166（近 12 个月 1 个）

## 中文简介

节点JS客户端 API 用于 vim9 和 novaim

## 安装

```sh
npm install @chemzqm/neovim
```

也可以使用：`pnpm add @chemzqm/neovim`、`yarn add @chemzqm/neovim`、`bun add @chemzqm/neovim`

## README

# 新客户

[![Actions](https://img.shields.io/github/actions/workflow/status/neoclide/neovim/ci.yml?style=flat-square&branch=neoclide)](https://github.com/neoclide/neovim/actions)

叉子为 [新维姆/节点客户](https://github.com/neovim/node-client) 工作内容 {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}在维姆9和新维姆两地.

目前工作在节点QQ 8.

此模块用于 [缩写](https://github.com/neoclide/coc.nvim),你可以 使用此模块创建 vim9 和 neavim 的扩展, 但建议 为 coc.nvim 建立扩展.

## 从源代码构建

Git 克隆然后运行 `bun install`。 。 。 .

## API 密码

```typescript
import {attach, NeovimClient} from '@chemzqm/neovim'
// attach option could be ReadableStream & WritableStream or ChildProcess or socket string
const nvim: NeovimClient = attach({
  reader: process.stdin,
  writer: process.stdout
})
// current buffer object
let buf = await nvim.buffer
// current window object
let win = await nvim.window
// current tabpage object
let tabpage = await nvim.tabpage
```

## Vim9 调试

从源代码构建此模块, 在项目文件夹的根, 通过命令启动服务器 : `vim -u mini.vim`。 。 。 .

查看vim9的日志文件 `:Openlog` 命令.

通过打开文件检查节点客户端的日志 `$XDG_RUNTIME_DIR/node-client.log`。 。 。 .

要改变行为, 要更改文件 `mini.vim` 财务报告和审定财务报表 `./bin/server.js` 哪个 用于测试目的.

## 调试/ 排除出错

日志文件的默认位置 `$XDG_RUNTIME_DIR/node-client.log`。 。 。 .

使用 `$NODE_CLIENT_LOG_FILE` 以指定日志的全部路径.

使用 `$NODE_CLIENT_LOG_LEVEL` 以指定日志级别,默认为 `info`, (中文(简体) ), 也可能是 `debug` 或者说 `trace`。 。 。 .

使用 `let g:node_client_debug = 1` 在 vim9 中启用 vim9 的日志文件, 使用 `:call nvim#rpc#open_log()` 打开 vim9 日志文件.

### 通过节点REPL使用

该特性需要从源代码构建此模块.

#### 连接到新维姆

首先,以已知地址启动 Nvim(或使用运行中实例的$NVIM LITEN ADDRESS):

```
NVIM_LISTEN_ADDRESS=/tmp/nvim nvim
```

在另一个终端,cd to root of this module然后通过:

```
NVIM_LISTEN_ADDRESS=/tmp/nvim node
```

连接到 Nvim :

```javascript
let nvim
// `scripts/nvim` will detect if `NVIM_LISTEN_ADDRESS` is set and use that unix socket
const nvim = require('./scripts/nvim')

vim.command('vsp')
```

#### 连接到 vim9

首个开始节点重铺 `NVIM_REMOTE_ADDRESS=/tmp/client-vim.sock node` 命令.

通过 Javascript 启动远程服务器 :

```javascript
const nvim = await require('./scripts/vim')
```

启动 vim 的命令将被打印为 stdout .

在其它终端和此工程文件夹内, 运行命令 :

```sh
NVIM_REMOTE_ADDRESS=/tmp/client-vim.sock vim -c 'source start.vim'
```

`start.vim` 将工程目录添加到 vim 中 `runtimepath` 连接到 服务器.

还没有在窗户上工作.

## 自由主义

麻省理工学院

## 常见问题

### @chemzqm/neovim 是什么？

节点JS客户端 API 用于 vim9 和 novaim

### 如何安装 @chemzqm/neovim？

在项目目录运行 npm install @chemzqm/neovim，或使用 pnpm add / yarn add / bun add。

### @chemzqm/neovim 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @chemzqm/neovim 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @chemzqm/neovim 可以商用吗？

@chemzqm/neovim 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @chemzqm/neovim 的下载量有多少？

根据 npm 官方下载统计，@chemzqm/neovim 在 2026/10/10 – 2026/11/08 这 30 天内被下载 8,000 次，日均约 267 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @chemzqm/neovim 还在维护吗？

最新版本 6\.4\.0 发布于 2026/08/03（3 个月前）；至今共发布 166 个版本，其中过去 12 个月发布了 1 个；首次发布于 2018/05/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

