diff options
author | William Carroll <wpcarro@gmail.com> | 2020-02-08T16·00+0000 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-02-10T10·06+0000 |
commit | 2af05f698c583bb71f318352e1da3b9ae2d1ae31 (patch) | |
tree | 8db766d3c0cc78496ec1113e912fc537c8add74a /emacs/.emacs.d/wpc/keybindings.el | |
parent | 8584059e7cd72656b3e90785c25d2fbb5b350229 (diff) |
Support vterm-mgt.el
I enjoyed using term-switcher so much that I ended up adopting vterm as my primary terminal. After reaching for vterm as often as I did, I realized that I would enjoy supporting cycling through instances, creating new instances, deleting existing instances, renaming instances. Thus spawned vterm-mgt.el. I'm particularly excited about the KBD to toggle between vterm instances and source code buffers.
Diffstat (limited to 'emacs/.emacs.d/wpc/keybindings.el')
-rw-r--r-- | emacs/.emacs.d/wpc/keybindings.el | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/emacs/.emacs.d/wpc/keybindings.el b/emacs/.emacs.d/wpc/keybindings.el index 53ea9683c8ec..5cebf34b8f0a 100644 --- a/emacs/.emacs.d/wpc/keybindings.el +++ b/emacs/.emacs.d/wpc/keybindings.el @@ -15,9 +15,10 @@ (require 'chrome) (require 'scrot) (require 'ivy-clipmenu) -(require 'term-switcher) (require 'general) (require 'window-manager) +(require 'vterm-mgt) +(require 'buffer) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration @@ -43,7 +44,27 @@ (keybinding/exwm "<C-M-tab>" #'exwm/switch-to-exwm-buffer) -(general-define-key (kbd/raw 'x11 "t") #'ts/switch-to-terminal) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Vterm +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Show or hide a vterm buffer. I'm intentionally not defining this in +;; vterm-mgt.el because it consumes `buffer/show-previous', and I'd like to +;; avoid bloating vterm-mgt.el with dependencies that others may not want. +(general-define-key (kbd/raw 'x11 "t") + (lambda () + (interactive) + (if (vterm-mgt--instance? (current-buffer)) + (switch-to-buffer (first (buffer/source-code-buffers))) + (call-interactively #'vterm-mgt-find-or-create)))) + +(general-define-key + :keymaps '(vterm-mode-map) + "C-S-n" #'vterm-mgt-instantiate + "C-S-w" #'vterm-mgt-kill + "<C-tab>" #'vterm-mgt-next + "<C-S-iso-lefttab>" #'vterm-mgt-prev + "<s-backspace>" #'vterm-mgt-rename-buffer) (provide 'keybindings) ;;; keybindings.el ends here |