在 emacs 中创建多个 eshell 实例
想一想:用 eshell 平铺我的 emacs 窗口,就像 xmonad 一样。这可能吗?我可以 Mx eshell 打开第一个 eshell 实例,但以后的调用仅关注第一个实例。
Think: tiling my emacs window with eshells, a la xmonad. Is this possible? I can M-x eshell to open the first eshell instance but future invocations just focus the first instance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
您可以这样做:
这将创建
*eshell*
、*eshell*<2>
等。You can do this:
This will create
*eshell*
,*eshell*<2>
, and so on.我的首选方法是创建命名 shell:
这是要点。然后
Mx make-shell name
将创建所需的shell。My preferred approach is to create named shells:
is the gist. Then
M-x make-shell name
will create the desired shell.eshell 的文档字符串指出“非数字前缀 arg 意味着创建一个新会话”。我一遍又一遍地输入 M-- Mx eshell,每次它都会打开一个新的 eshell 缓冲区。
The docstring for eshell states that "A nonnumeric prefix arg means to create a new session." I typed M-- M-x eshell over and over, and each time it opened a new eshell buffer.
Cu Mx eshell 效果很好,但我更喜欢命名 shell - make-shell 方法,在切换缓冲区时很有用
C-u M-x eshell works great, but I prefer named shells - make-shell approach, is useful when switching buffers
对于使用 ansiterm 的用户来说,调用 GNU Screen 是另一种选择
Invoking GNU Screen is another option for those using ansi-term
也许,下面的解决方案更好。因为eshell缓冲区是由eshell-buffer-name的值决定的。您无需重命名缓冲区。
Mybe, the following solution is better. Because the eshell buffer is determined by the value of eshell-buffer-name. You need not to rename the buffer.
扩展make-eshell,这会创建附加下一个计数器的 eshell,因此类似于 eshell1、eshell2 等:
Expanding on make-eshell, this creates an eshell appending the next counter, so it's like eshell1, eshell2, etc.:
这是我对新 eshell 缓冲区/实例的实现。
Here is my implementation of new eshell buffer / instance.