方法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