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)
:general
(:keymaps '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)
(:keymaps '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)
:preface
(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