Emacs: (Better) new vterm

a terminal screenshot with lines about vterm

I use vterm as my terminal emulator in Emacs. Out of the box it has an annoying behavior: when you run vterm it opens a vterm session. If you run it again, it opens the same one. I usually have many terminals open at one time so this won’t do.

Here’s some code that creates a new vterm instance and names it uniquely. This provides the behavior you might expect with a “normal” terminal emulator: Run vterm, get a new terminal.

I use Doom Emacs so the mapping part might be different, but the function should work for you as long as vterm is installed.

(defun cb/new-vterm(&optional x)
  ;; make a new vterm with a unique name
  (interactive)
  (call-interactively 'vterm)
  (rename-uniquely)
  )

(map! :leader
      :desc "new vterm" "n v"#'cb/new-vterm)

I also just noticed the syntax highlighter on my site doesn’t have elisp or even lisp. Hmmm I need to figure that out.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.