我想知道是否有人在emacs shell中使用ssh。我可以连接到远程机器,但我无法使用“emacs filename”打开文件以在emacs中查看/编辑,因为“终端类型“dumb”不足以运行emacs”(通常情况下,通过终端连接时,emacs会在控制台中打开)。
尝试以这种方式使用emacs是个坏主意吗,还是可能需要进行一些修复?非常感谢!
乍一看可能不明显,但是用Emacs Lisp实现的终端eshell
可以很好地与tramp
一起使用:
Welcome to the Emacs shell
~ $ uname -a
Linux local-machine 2.6.30-1-686 #1 SMP Thu Jul 30 14:45:30 UTC 2009 i686 GNU/Linux
~ $ cd /ssh:user@remote-machine:~
/ssh:user@remote-machine:/home/user $ uname -a
Linux remote-machine 2.6.18-6-686 #1 SMP Thu Aug 20 21:56:59 UTC 2009 i686 GNU/Linux
/ssh:user@remote-machine:/home/user $
两个建议:
. ~/.bashrc
明确地引用 .bashrc 文件,或重新排列 bash 初始化文件和 ~/.profile
文件,使其在 Emacs shell 中加载;然后在 Emacs shell 中运行 ssh
就可以正常工作了。Emacs有term-mode,它是一个完整的终端仿真器,你可以在其中运行emacs。你在终端中运行的任何东西都将在term-mode中运行。
此外,Emacs还具有tramp模式,可以通过ssh打开文件。
/scp:user@ipOrHost#port:/
它可以将文件来回传输。您可以像编辑本地文件一样编辑它们。
无需进行X11转发或其他花式操作。
我一直在苦苦挣扎Xming,虽然它能用,但由于我的网络连接不是最快的,我必须等待30秒以上才能看到emacs或任何X应用程序。而且,在打开缓冲区后滚动时,有时会冻结 => 非常烦人
试试No machine(nxserver-freenx服务器/客户端)。有免费版服务器,绝对是连接到Linux框并通过X使用xterm和emacs的最佳和最快的解决方案。它立即显示并响应非常快。即使在非常慢的连接下 :-) 客户端可用于Windows、Mac OS、Linux。
C-x C-f
可以工作,一些像find-file
这样的 elisp 也可以 :) http://wikemacs.org/wiki/Eshell#Built-In_Commands - Ehvincecd
命令正常吗?对我来说,如果我最初使用cd
进入我的主目录,那么cd ..
无法将我带到上一级目录,而cd /
会将我带到本地根目录。你知道有什么技巧可以帮助避免eshellcd
命令混淆吗? - Gordon Gustafson/ plink:user@remote-machine:/ some / path
。plink是随putty一起提供的实用程序。 - rorsach