在emacs中自动化远程访问

在emacs中自动化远程访问,emacs,tramp,Emacs,Tramp,我是使用emacs的初学者。我想简化通过tramp对远程服务器的ssh访问。我第一次天真的尝试是录制一个宏。但是,在重新启动emacs后调用保存的宏时,我会收到一条“字节码:Args超出范围:[],0”消息。相反,还可以定义环境变量 (setenv "SECRET" "/ssh:user@secret.tld:") 有更好的解决办法吗?我希望有一个定义,在其中键入M-x连接名并设置预定义的ssh-tramp连接。最简单的解决方案可能是在~/.ssh/config中配置每个所需的主机,例如 Ho

我是使用emacs的初学者。我想简化通过tramp对远程服务器的ssh访问。我第一次天真的尝试是录制一个宏。但是,在重新启动emacs后调用保存的宏时,我会收到一条“
字节码:Args超出范围:[],0
”消息。相反,还可以定义环境变量

(setenv "SECRET" "/ssh:user@secret.tld:")

有更好的解决办法吗?我希望有一个定义,在其中键入
M-x连接名
并设置预定义的ssh-tramp连接。

最简单的解决方案可能是在
~/.ssh/config
中配置每个所需的主机,例如

Host some name#此主机的友好名称
HostName real-host.name.tld#要连接到的主机
用户foo#要连接的用户
主持其他
主机名123.45.67.89
用户栏
这样做的好处是,您现在可以在命令行上
ssh some name
ssh other
,并且当您尝试使用Tramp的ssh编辑文件时,可以键入

/ssh:
然后为
某些名称
其他
完成选项卡。如果您使用
ido
,您将自动得到提示,而无需完成制表符

有很多方法,比如设置默认隧道和调整身份验证模式

如果在tab complete(制表符完成)时Tramp没有正确响应,(这应该是默认值):

(不规则集完成功能“ssh”
“((tramp-parse-sconfig”/etc/ssh_-config”)
(tramp解析sconfig“~/.ssh/config”))

最后,如果您不想被提示输入密码,我建议使用。

可能最简单的解决方案是在
~/.ssh/config
中配置您所需的每个主机,例如

Host some name#此主机的友好名称
HostName real-host.name.tld#要连接到的主机
用户foo#要连接的用户
主持其他
主机名123.45.67.89
用户栏
这样做的好处是,您现在可以在命令行上
ssh some name
ssh other
,并且当您尝试使用Tramp的ssh编辑文件时,可以键入

/ssh:
然后为
某些名称
其他
完成选项卡。如果您使用
ido
,您将自动得到提示,而无需完成制表符

有很多方法,比如设置默认隧道和调整身份验证模式

如果在tab complete(制表符完成)时Tramp没有正确响应,(这应该是默认值):

(不规则集完成功能“ssh”
“((tramp-parse-sconfig”/etc/ssh_-config”)
(tramp解析sconfig“~/.ssh/config”))

最后,如果您不想被提示输入密码,我建议您使用。

Chris之前帮助我解决了
查找文件
的一个类似问题--这是指向该相关线程的链接:Chris之前帮助我解决了
查找文件
的一个类似问题--这是指向该相关线程的链接: