Files
.emacs.d/modules/shell/siren-vterm.el

47 lines
1.1 KiB
EmacsLisp

;;; siren-vterm.el --- jimeh's Emacs Siren: vterm configuration.
;;; Commentary:
;; Basic configuration for vterm.
;;; Code:
(require 'siren-windmove)
(use-package vterm
:defer t
:hook
(vterm-mode . siren-vterm-mode-setup)
:bind
(:map vterm-mode-map
("C-c [" . vterm-copy-mode)
("M-i" . windmove-up)
("M-k" . windmove-down)
("M-j" . windmove-left)
("M-l" . windmove-right)
("M-K" . windmove-swap-states-down)
("M-I" . windmove-swap-states-up)
("M-J" . windmove-swap-states-left)
("M-L" . windmove-swap-states-right))
(:map vterm-copy-mode-map
("C-g" . siren-vterm-copy-mode-cancel)
("C-c [" . vterm-copy-mode))
:custom
(vterm-always-compile-module t)
(vterm-kill-buffer-on-exit t)
(vterm-max-scrollback 50000)
:init
(defun siren-vterm-mode-setup ()
(hl-line-mode -1))
(defun siren-vterm-copy-mode-cancel ()
"Clear mark if mark is active, otherwise exit vterm-copy-mode."
(interactive)
(if mark-active (deactivate-mark) (vterm-copy-mode -1))))
(provide 'siren-vterm)
;;; siren-vterm.el ends here