考えてみてください: 私の emacs ウィンドウを eshells で並べて表示すると、la xmonad になります。これは可能ですか?Mx eshell で最初の eshell インスタンスを開くことができますが、その後の呼び出しでは最初のインスタンスにフォーカスするだけです。
1306 次
7 に答える
13
あなたはこれを行うことができます:
`C-u M-x eshell`
これにより*eshell*
、*eshell*<2>
、 などが作成されます。
于 2010-03-29T20:36:44.907 に答える
7
私の推奨するアプローチは、名前付きシェルを作成することです。
(defun make-shell (name)
"Create a shell buffer named NAME."
(interactive "sName: ")
(setq name (concat "$" name))
(eshell)
(rename-buffer name))
要点です。次にM-x make-shell name
、目的のシェルを作成します。
于 2010-03-29T21:52:01.280 に答える
4
eshell の docstring には、「数値以外のプレフィックス arg は、新しいセッションを作成することを意味します」と記載されています。何度も入力M-- M-x eshellしましたが、そのたびに新しい eshell バッファーが開かれました。
于 2010-03-29T20:26:17.577 に答える
1
Cu Mx eshell はうまく機能しますが、私は名前付きシェルを好みます - make-shellアプローチは、バッファを切り替えるときに便利です
于 2011-05-18T06:10:24.810 に答える
0
おそらく、次の解決策の方が優れています。eshell バッファは eshell-buffer-name の値によって決定されるためです。バッファの名前を変更する必要はありません。
(defun buffer-exists (bufname)
(not (eq nil (get-buffer bufname))))
(defun make-shell (name)
"Create a shell buffer named NAME."
(interactive "sName: ")
(if (buffer-exists "*eshell*")
(setq eshell-buffer-name name)
(message "eshell doesnot exists, use the default name: *eshell*"))
(eshell))
于 2014-05-06T01:52:22.630 に答える
0
make-eshellを拡張すると、次のカウンターを追加する eshell が作成されるため、 eshell1、eshell2などのようになります。
(lexical-let ((count 1))
(defun make-eshell-next-number ()
(interactive)
(eshell)
(rename-buffer (concat "*eshell" (number-to-string count) "*"))
(setq count (1+ count))))
于 2015-11-21T01:35:24.777 に答える
0
ansi-term を使用する場合は、GNU Screen の呼び出しもオプションの 1 つです。
于 2010-11-10T10:40:02.663 に答える