Restore terminal integration for evil+vterm

This commit is contained in:
Nikolai Shields 2024-05-23 10:05:39 -05:00
parent 14512fa38e
commit b22ec41b3c
Signed by: nikolaishields
SSH key fingerprint: SHA256:gcG2rc5bPVo4dQ6xICvEeOylJjHYUehCFFNrjjm+c50

54
init.el
View file

@ -268,15 +268,57 @@
(use-package multi-vterm :ensure t)
(use-package multi-vterm
:ensure t
:config
(add-hook 'vterm-mode-hook
(lambda ()
;; Disable evil-mode in vterm
(evil-emacs-state))))
:ensure t
:config
(add-hook 'vterm-mode-hook
(lambda ()
(setq-local evil-insert-state-cursor 'box)
(evil-insert-state)))
(define-key vterm-mode-map [return] #'vterm-send-return)
(setq vterm-keymap-exceptions nil)
(evil-define-key 'insert vterm-mode-map (kbd "C-e") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-f") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-a") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-v") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-b") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-w") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-u") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-n") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-m") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-p") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-j") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-k") #'Vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-r") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-t") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-g") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-c") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-SPC") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd ",c") #'multi-vterm)
(evil-define-key 'normal vterm-mode-map (kbd ",n") #'multi-vterm-next)
(evil-define-key 'normal vterm-mode-map (kbd ",p") #'multi-vterm-prev)
(evil-define-key 'normal vterm-mode-map (kbd "i") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "o") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "<return>") #'evil-insert-resume))
(use-package orderless
:ensure t
:custom
(completion-styles '(orderless basic))
(completion-category-overrides '((file (styles basic partial-completion)))))
(use-package gptel
:ensure t
:config
(setq gptel-api-key "sk-proj-uk1aiEdBmPThYf3XIXzyT3BlbkFJVjKC2dDapa5MsttCsnTv"))
;; Install and configure chatgpt-shell
(use-package chatgpt-shell
:ensure t
:config
;; Set your OpenAI API key here
(setq chatgpt-shell-api-key "sk-proj-uk1aiEdBmPThYf3XIXzyT3BlbkFJVjKC2dDapa5MsttCsnTv"))
;; Optional: Bind chatgpt-shell to a key for quick access
(global-set-key (kbd "C-c C-g") 'chatgpt-shell)