我非常想用ssh登录到远程机器,并通过$EDITOR环境变量(或类似的)在本地Emacs中进行编辑。在这种情况下,特别是当我登录并运行psql并使用\e psql命令编辑查询时。在我的工作流程中,能够在我的本地Emacs中编辑它们将是一个巨大的好处。
我一直怀疑这是不可能的,但在放弃之前,我想我会把它扔到这里。
发布于 2013-05-06 13:45:04
实际上,您可以使用流浪汉来完成这个任务:
TRAMP代表“TRAMP(文件)访问,多协议”。此包提供远程文件编辑,类似于Ange-FTP。不同之处在于,Ange-FTP使用FTP在本地主机和远程主机之间传输文件,而TRAMP使用rsh和rcp或其他类似工作的程序(如ssh/scp )的组合。
将这些行添加到~/.emacs文件(来源)中:
(require 'tramp)
(setq tramp-default-method "scp")然后,您应该能够像这样打开远程文件:
emacs /remote.server.com:/remote/path/foo.txt特别是对于psql命令,您需要一些不同的东西。现在还没有一种测试方法,但是也许将emacs设置为本地emacs的别名可能会有效。将这一行添加到远程.bashrc文件中:
alias emacs='ssh user@local emacs'发布于 2013-05-06 17:00:23
我不熟悉emacs或psql。但是..。
看起来您可以使用sshfs挂载远程服务器并在本地执行所有操作:
sshfs user@host mount/directory/
cd mount/directory && emacs如果您需要在远程计算机中运行命令,您可以使用sshfs挂载,然后使用ssh访问使用ssh转义字符挂起ssh会话.并在您的计算机中运行emacs (编辑sshfs挂载的远程文件)。
另一种解决方案是在远程计算机上安装emacs并复制您的配置(我选择了这个在git中聚合的解决方案作为我的vim内容)
发布于 2013-05-06 12:48:56
这不可能像你所描述的那样。您可以使用SFTP (可能通过FUSE)编辑远程系统上的文件。也许可以用脚本和管道来做一些真正有创意的事情,但是它不是内置的功能。
https://unix.stackexchange.com/questions/74867
复制相似问题