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启用自动完成功能?
完整的自动完成文档位于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。