几天前,我开始使用emacs作为我的主编辑器,我正在收集我需要的所有定制。
我给它的主要用途是在远程Linux机器(RHEL 5)上开发一个C项目。到目前为止,我使用的是纯vim (仅用作文本编辑器)和一堆shell脚本,有一天我决定尝试emacs。到目前为止,我很喜欢它。
但作为一个缺点,我看到设置运行emacs的环境是一条很长的路要走,而不是直接在开发机器上使用它(并在我使用的每一台机器上设置环境),我会尝试从我的笔记本电脑上使用它并进行远程开发。
我知道TRAMP,但据我所知,它只编辑远程文件。最大的障碍是通过一次击键在远程机器上运行shell命令(我绑定了F5,以便在远程机器的emacs上运行一个自定义编译命令)。
如何通过一次emacs击键在远程计算机上运行shell命令?你知道做完全远程开发的其他技巧和诀窍吗?
发布于 2009-05-11 03:59:19
TRAMP支持在远程机器(文件所在的机器)上进行编译和调试。这应该是自动的并且相对无缝的。查看remote processes的文档。
发布于 2009-05-11 05:38:29
别担心。只需一次击键,就可以在Emacs中运行任何东西。其他人已经注意到使用TRAMP可以优雅地完成此任务的方法,但如果不适合(无论出于何种原因),您也可以使用以下命令编写自己的函数:
(defun arbitrary-remote-command ()
(interactive)
(shell-command
"ssh user@remotehost arbitrary-command"))
(global-set-key (kbd "<f5>") 'arbitrary-remote-command)发布于 2009-05-11 03:40:19
在进行远程开发时,我使用screen,它提供了多个虚拟远程终端,只需按几个键即可使用。这对我来说是不可或缺的。它不仅提供虚拟终端,而且如果您的连接由于任何原因而中断,您的会话也会保留在服务器上。
有关screen入门的更多信息,请参阅GNU Screen Survival Guide问题。
我通常打开一个终端用于源代码控制操作,一个用于编辑,一个用于编译(我只需切换到它并点击UpArrow+Enter),还有一个用于调试。根据我正在工作的环境和应用程序,我可能会有更多或更少,但这是一般布局。
https://stackoverflow.com/questions/846608
复制相似问题