远程
Nvim :help
页面,从 生成 于 源代码,使用 tree-sitter-vimdoc 解析器。
Vim 客户端-服务器通信
Nvim 的
RPC 功能允许客户端以编程方式控制 Nvim。Nvim 本身接受命令行参数,使其成为运行为服务器的另一个 Nvim 的客户端。这些参数与 Vim 的 clientserver 选项提供的参数相匹配。
以下命令行参数可用
--remote [+{cmd}]
{file}
...
--remote在远程 Vim 中打开文件列表。当没有 Vim 服务器时,在本地执行。Vim 允许一个初始化命令:+{cmd}。这必须是一个可以后面跟着 "|" 的 Ex 命令。Nvim 尚未支持它。命令行的其余部分被视为文件列表。因此,任何非文件参数必须在此之前。你不能通过这种方式编辑 stdin
--。远程 Vim 被提升。如果你不希望这样,请使用
nvim --remote-send "<C-\><C-N>:n filename<CR>"
--remote-silent [+{cmd}]
{file}
...
--remote-silent与上面相同,但如果不存在服务器并且文件在本地编辑,则不进行抱怨。
--remote-tab--remote-tab 类似 --remote,但将每个文件打开在一个新的标签页中。
--remote-tab-silent--remote-tab-silent 类似 --remote-silent,但将每个文件打开在一个新的标签页中。
--remote-send--remote-send
{keys}
将
{keys}
发送到服务器并退出。
{keys}
未被映射。识别特殊键名称,例如 "<CR>" 将产生一个 CR 字符。
--remote-expr--remote-expr
{expr}
在服务器中评估
{expr}
并将结果打印到 stdout。
--remote-ui--remote-ui 在终端中显示服务器的 UI。完全交互式:键盘和鼠标输入被转发到服务器。
--server--server
{addr}
连接到给定地址的命名管道或套接字,以执行远程命令。有关在启动服务器时指定地址的信息,请参见
--listen。
启动一个在 '~/.cache/nvim/server.pipe' 的命名管道上监听的 Nvim 服务器
nvim --listen ~/.cache/nvim/server.pipe
在监听 '~/.cache/nvim/server.pipe' 的 Nvim 服务器中编辑 "file.txt"
nvim --server ~/.cache/nvim/server.pipe --remote file.txt
这不起作用,--remote 之后的所有参数都将用作文件名
nvim --remote --server ~/.cache/nvim/server.pipe file.txt
告诉远程服务器写入所有文件并退出
nvim --server ~/.cache/nvim/server.pipe --remote-send '<C-\><C-N>:wqa<CR>'
远程编辑
--remote 参数将导致从命令行其余部分构建一个
:drop 命令,并如上所述发送。请注意,--remote 和 --remote-wait 参数将消耗命令行的其余部分。也就是说,所有剩余的参数将被视为文件名。你不能在其中放置选项!
Vim 在 clientserver 中支持额外的功能,这些功能尚未在 Nvim 中实现。特别是,所有“wait”变体都尚未得到支持。以下命令行参数尚未可用
--remote-wait [+{cmd}]
{file}
...
--remote-waitNvim 尚未支持。与 --remote 相同,但等待远程 Vim 中的文件完成(卸载)。--remote-wait-silent [+{cmd}]
{file}
...
--remote-wait-silentNvim 尚未支持。与 --remote-wait 相同,但如果不存在服务器,则不进行抱怨。
--remote-tab-wait--remote-tab-wait Nvim 尚未支持。类似 --remote-wait,但将每个文件打开在一个新的标签页中。
--remote-tab-wait-silent--remote-tab-wait-silent Nvim 尚未支持。类似 --remote-wait-silent,但将每个文件打开在一个新的标签页中。
--servername--servername
{name}
Nvim 尚未支持。成为服务器
{name}
。当与一个 --remote 命令一起使用时:连接到服务器
{name}
而不是默认服务器(见下文)。使用的名称将是大写。
默认情况下,Vim 将尝试注册它被调用的名称(gvim、egvim...)。这可以通过 --servername 参数覆盖。Nvim 监听命名管道或套接字,并且尚未支持此 --servername 功能。