emacs 通过ssh链接服务器,如何快速复制粘贴文件

最近经常使用到tramp,但是本地文件复制到服务器,或者服务器到本地都很麻烦,重新打开一个终端输入命令进行复制,感觉很麻烦,大家有什么比较好的解决方案吗?

1 个赞

完全可以用dired 的C命令来完成copy 操作, 它应该支持本地copy到服务器, 反向应该也是支持的 你可以开两个dired ,一个本地,一个服务器. 另外 如果你是ivy用户,可以使用 https://github.com/jixiuf/ivy-dired-history这个插件, 它会记录你最近访问过的 dired 你在copy的时候,它也会提示最近的目录,效果大概是这个样子

GitHub - jixiuf/helm-dired-history: show dired histories you have visited on emacs. helm版的也有,很久没维护了,不知道还能不能用。

1 个赞

低频次复制dired就很方便。如果目录固定,需要高频上传下载,用cjohansson/emacs-ssh-deploy就不错;如果还需要处理冲突,就包装一下freefilesync,可以做到一键同步,同时可以很方便地控制同步细节。

你说的这个 dired or deer 是可以做到的,但是你要考虑到你复制的文件的大小,毕竟是单线程,如果你复制的文件很大的话,你的 emace 在复制文件期间啥事都干不了,如果是大文件上传下载,还是去终端用 scp 或者 sftp 吧