سؤال

فكر: تبليط نافذة emacs الخاصة بي مع Eshells ، La Xmonad. هل هذا ممكن؟ يمكنني MX Eshell فتح مثيل Eshell الأول ولكن الدعوات المستقبلية تركز فقط على الحالة الأولى.

هل كانت مفيدة؟

المحلول

يمكنك ان تفعلها:

`C-u M-x eshell`

هذا سوف يخلق *eshell*, *eshell*<2>, ، وهلم جرا.

نصائح أخرى

النهج المفضل لدي هو إنشاء قذائف مسماة:

(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 سيخلق القشرة المطلوبة.

ينص Docstring لـ Eshell على أن "البادئة غير الرقمية ARG تعني إنشاء جلسة جديدة." كتبت م- MX Eshell مرارا وتكرارا ، وفي كل مرة فتحت عازلة eshell جديدة.

يعمل Cu MX Eshell بشكل رائع ، لكني أفضل اسمه - صنع قشرة النهج ، مفيد عند تبديل المخازن المؤقتة

يعد استدعاء شاشة GNU خيارًا آخر لأولئك الذين يستخدمون ANSI

mybe ، الحل التالي أفضل. لأن المخزن المؤقت 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))

التوسع على صنع, ، هذا يخلق 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))))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top