我目前正在使用emacs和iTerm。 iTerm只是因为我无法编辑文本而让我发疯,并且在尝试将光标从长命令的一端移动到中间时我正在睡着。
所以,我想用Emacs做终端。
但是,我觉得要坚持“终极世界”和“编程世界”的分离。
我有一个Mac OS命令用于切换到iTerm(从任何窗口),这是我想在Emacs中做的事情:在操作系统的任何地方,按一个键命令,最后进入Emacs中的终端。
iTerm中的 C-w
允许我关闭终端,C-t
会打开一个新标签。运行良好(虽然我认为在Emacs中只需要在单个命令中使用“杀死当前终端并生成新的终端”这样的东西是多么容易)。
请注意,在iTerm中切换缓冲区也很容易,没有机会切换到“无用”缓冲区(对于终端),例如*scratch*
或*messages*
。不过,我发现它们在编程世界中很有用。
每当我专门进入Emacs时,我的编程环境就准备好了。
我怎样才能充分利用这两个世界?即让它们分开并且易于访问,或者将Emacs设置为使得它们可以在没有麻烦的情况下生活在同一个空间中?
答案 0 :(得分:1)
无论您是使用Emacs GUI(推荐)还是终端版本,无论您是使用新的Emacs实例还是使用emacsclient连接到服务器或守护程序中的另一个实例模式,你可能想要的是:
M-x ansi-term
它将使用您的默认shell提示您,通常是/ bin / bash,按回车键,您在缓冲区中有一个完整的shell。这里最棒的是你可以用你喜欢的任何类似的交互式东西替换默认的shell,让它按照你在终端中所期望的那样运行。所以在我的情况下,我会定期使用Python解释器而不是bash。在更多类似Emacs的行为和更类似终端的行为之间进行交换有一些小怪癖,但除此之外。默认情况下,它们与C-c C-j和C-c C-k绑定。
我建议你和他们一起玩一段时间来适应他们。我最终将M-x ansi-term位绑定到其中一个功能键。
答案 1 :(得分:0)
我使用了很多emacs的shell-mode
:http://wikemacs.org/wiki/Shell
我喜欢shell缓冲区就像一个常规的emacs缓冲区,即:它是全文。所以我可以
helm-swoop
),我经常使用两个技巧:包shell-here
在当前目录中打开一个shell(不确定它是否是正常行为)和shell-pop
,弹出一个shell窗口。在结合中,我大量使用elscreen
来拥有更多的工作区域。链接中还有更多提示,请告诉我您的想法!