2010-03-29 20 views

Trả lời

12

Bạn có thể làm điều này:

`C-u M-x eshell` 

này sẽ tạo *eshell*, *eshell*<2>, và vân vân.

4

Chuỗi tài liệu cho eshell nói rằng "Tiền tố phi số arg nghĩa là tạo phiên mới". Tôi đã nhập M-- M-x eshell lặp đi lặp lại và mỗi lần mở bộ đệm eshell mới.

+1

C-u M-x eshell làm việc quá. – ataylor

+0

Chết tiệt. Nhận xét của bạn chưa được viết khi tôi bắt đầu câu trả lời của tôi :) –

6

phương pháp ưa thích của tôi là tạo ra tên vỏ:

(defun make-shell (name) 
    "Create a shell buffer named NAME." 
    (interactive "sName: ") 
    (setq name (concat "$" name)) 
    (eshell) 
    (rename-buffer name)) 

là các ý chính. Sau đó M-x make-shell name sẽ tạo vỏ mong muốn.

0

Gọi GNU Screen là một lựa chọn cho những người sử dụng ansi hạn

1

Củ Mx eshell hoạt động tuyệt vời, nhưng tôi thích tên vỏ - make-shell cách tiếp cận, rất hữu ích khi chuyển sang bộ đệm

0

mybe, giải pháp sau đây là tốt hơn. Vì bộ đệm eshell được xác định bởi giá trị của tên đệm eshell. Bạn không cần phải đổi tên bộ đệm.

(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)) 
0

Mở rộng trên make-eshell, điều này tạo ra một eshell phụ thêm quầy tiếp theo, vì vậy nó giống như eshell1, eshell2, v.v .:

(lexical-let ((count 1)) 
    (defun make-eshell-next-number() 
    (interactive) 
    (eshell) 
    (rename-buffer (concat "*eshell" (number-to-string count) "*")) 
    (setq count (1+ count)))) 
Các vấn đề liên quan