gpt4 book ai didi

javascript - 如何使用 JavaScript 编写 NeoVim 插件?

转载 作者:搜寻专家 更新时间:2023-11-01 00:21:33 26 4
gpt4 key购买 nike

听说 NeoVim 的优点之一是更灵活的插件架构。有没有JS写插件的API?

有一些项目似乎与此有关: neovim/node-host , neovim/node-client , fritzy/node-neovim , rhysd/promised-neovim-client但我不确定如何使用它们。我如何访问 Vim functions或命令,或等效功能(以及记录在何处)?


promised-neovim-client 通过附加到它的标准输入和标准输出来与 NeoVim 进程交互。所以也许在 NeoVim 中,我可以启动一个 promised-neovim-client 脚本并将正在运行的 NeoVim 进程的 pid 传递给它,并且该脚本可以附加到它的标准输入和标准输出?

最佳答案

  1. Install Node 客户端
    • npm install -g neovim
    • 运行 :checkhealth 进行确认。
  2. 来自 quickstart ,将示例代码(如下)粘贴到 rplugin/node/index.js 某处,位于您的 Nvim runtimepath 中(例如 ~/.config/nvim/rplugin/node/index.js).
  3. 运行 :UpdateRemotePlugins
  4. 重新启动 Nvim。
  5. 试试 :SetMyLine 命令(在上面的代码示例中定义)。

示例代码

function onBufWrite() {
console.log('Buffer written!');
}

module.exports = (plugin) => {
function setLine() {
plugin.nvim.setLine('A line, for your troubles');
}
plugin.registerCommand('SetMyLine', [plugin.nvim.buffer, setLine]);
plugin.registerAutocmd('BufWritePre', onBufWrite, { pattern: '*' });
};

关于javascript - 如何使用 JavaScript 编写 NeoVim 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com