方法1:管道给diffshell
$ssh eric@192.168.1.11 "cat ~/remote_file.txt" | diff - ~/local_file.txtvim
若是 File1 和 File2 参数都不是目录,其中之一可能给定负号“-”,以采用标准输入。ssh
若是 File1 参数是目录,则使用目录中与 File2 参数指定的文件名一致的那个文件。token
若是都是目录,能够先使用sshfs挂载到本地。rem
若是没有权限,diff -r <(ls local_dir) <(ssh username@hostname "ls remote_dir")
因为shell版本的问题(猜想),sh执行的话会报错"unexpected token '('",可是能够获得正确结果。file
方法2:使用vim内建的scp支持权限
$vimdiff scp://eric@192.168.1.11/~/remote_file.txt ~/local_file.txt方法
另外,vim内建的scp支持还能够编辑远程文件:
$vim scp://eric@192.168.1.11/~/remote_file.txtim