zsh的自定义自动完成功能

mrw*_*ter 7 vim zsh

ZSH已经为scp内置了自动完成功能,所以命令就像

scp user@host/path/
Run Code Online (Sandbox Code Playgroud)

将在远程服务器上显示目录列表.

但是,在vim中打开远程文件时,这不起作用

vim scp://user@host/path/
Run Code Online (Sandbox Code Playgroud)

我已经搜索了关于zsh自动完成功能的文档,但它看起来非常复杂.如何为vim scp启用自动完成功能?

ZyX*_*ZyX 3

完整的自动完成文档位于man zshall(如果您不想在一个人中查看所有部分,请参阅 中的索引man zsh)。完成vim位于/usr/share/zsh/$ZSH_VERSION/functions/Completion/Unix/_vim,我想您需要修改_vim_files位于文件顶部的函数并以某种方式导出位于 .remote_files 中的函数 _remote_files /usr/share/zsh/$ZSH_VERSION/functions/Completion/Unix/_ssh