在术语模式下自动重命名新缓冲区

在术语模式下自动重命名新缓冲区

在 Emacs 中,我们创建一个缓冲区术语模式M-x term。生成的缓冲区被命名为*terminal*。如果您想在 term 模式下创建另一个缓冲区,通常会M-x term再次创建。然而,这只是返回到第一个缓冲区。因此,必须 (1) 使用 重命名第一个缓冲区M-x rename-uniquely,该缓冲区现在被命名为*terminal*<2>,并且 (2) 使用 来创建第二个缓冲区M-x term,该缓冲区现在被命名为*terminal*

是否有一种方法可以在术语模式下创建另一个缓冲区而不重命名第一个缓冲区,以便自动命名新缓冲区在术语模式下现有缓冲区的数量在*terminal<i+1>*哪里?i

ps:我开始阅读介绍在 Emacs Lisp 中编程,以便在我的 .emacs 中编写我自己的函数重载M-x term,但我觉得非常需要任何帮助!

答案1

多项式示例

(defun my-run-term ()
    (interactive)
    (require 'multi-term)
    (command-execute 'multi-term)
    (setq-default truncate-lines nil)
    (if (not (boundp 'term-number))
        (defvar term-number 1 "term index in the current emacs session") )
    (rename-buffer (concat "Term " (int-to-string term-number)))
    (setq term-number (+ 1 term-number)))
(global-set-key (kbd "C-S-t") 'my-run-term) ;; mappe sur C-T

相关内容