#+TITLE: VTerm #+AUTHOR: Christopher James Hayward #+EMAIL: chris@chrishayward.xyz #+PROPERTY: header-args:emacs-lisp :tangle vterm.el :comments org #+PROPERTY: header-args :results silent :eval no-export :comments org #+OPTIONS: num:nil toc:nil todo:nil tasks:nil tags:nil #+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil VTerm is an implementation of libvterm for Emacs. * Setup Install the dependencies before loading the module. #+begin_src shell RUN apt install -y cmake libtool libtool-bin #+end_src * Config I noticed ~eshell~ wasn't enough when needing interactivity from the terminal. Going through [[https://chrishayward.xyz/notes/thinking-in-cpp/][Thinking in C++]] for one of my courses required lots of terminal interaction which ~eshell~ was unable to handle. Since ~vterm~ is based on ~libvterm~, an external C library, it's blazing fast and fully interactive. Add a few configurations: + Always compile the module + Install the required packages on *Debian/Ubuntu* #+begin_src emacs-lisp (use-package vterm :commands (vterm) :custom (vterm-always-compile-module t)) #+end_src * Shortcuts Open a new ~vterm~ buffer with =SPC v=: #+begin_src emacs-lisp (dotfiles/leader "v" '(vterm-other-window :which-key "VTerm")) #+end_src * Footnotes