首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Emacs进行远程开发?

如何使用Emacs进行远程开发?
EN

Stack Overflow用户
提问于 2009-05-11 03:12:05
回答 13查看 14.3K关注 0票数 37

几天前,我开始使用emacs作为我的主编辑器,我正在收集我需要的所有定制。

我给它的主要用途是在远程Linux机器(RHEL 5)上开发一个C项目。到目前为止,我使用的是纯vim (仅用作文本编辑器)和一堆shell脚本,有一天我决定尝试emacs。到目前为止,我很喜欢它。

但作为一个缺点,我看到设置运行emacs的环境是一条很长的路要走,而不是直接在开发机器上使用它(并在我使用的每一台机器上设置环境),我会尝试从我的笔记本电脑上使用它并进行远程开发。

我知道TRAMP,但据我所知,它只编辑远程文件。最大的障碍是通过一次击键在远程机器上运行shell命令(我绑定了F5,以便在远程机器的emacs上运行一个自定义编译命令)。

如何通过一次emacs击键在远程计算机上运行shell命令?你知道做完全远程开发的其他技巧和诀窍吗?

EN

回答 13

Stack Overflow用户

发布于 2009-05-11 03:59:19

TRAMP支持在远程机器(文件所在的机器)上进行编译和调试。这应该是自动的并且相对无缝的。查看remote processes的文档。

票数 23
EN

Stack Overflow用户

发布于 2009-05-11 05:38:29

别担心。只需一次击键,就可以在Emacs中运行任何东西。其他人已经注意到使用TRAMP可以优雅地完成此任务的方法,但如果不适合(无论出于何种原因),您也可以使用以下命令编写自己的函数:

代码语言:javascript
复制
(defun arbitrary-remote-command ()
  (interactive)
  (shell-command
   "ssh user@remotehost arbitrary-command"))


(global-set-key (kbd "<f5>") 'arbitrary-remote-command)
票数 20
EN

Stack Overflow用户

发布于 2009-05-11 03:40:19

在进行远程开发时,我使用screen,它提供了多个虚拟远程终端,只需按几个键即可使用。这对我来说是不可或缺的。它不仅提供虚拟终端,而且如果您的连接由于任何原因而中断,您的会话也会保留在服务器上。

有关screen入门的更多信息,请参阅GNU Screen Survival Guide问题。

我通常打开一个终端用于源代码控制操作,一个用于编辑,一个用于编译(我只需切换到它并点击UpArrow+Enter),还有一个用于调试。根据我正在工作的环境和应用程序,我可能会有更多或更少,但这是一般布局。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/846608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档