Fix conflicting key binding issues
This commit is contained in:
@@ -164,11 +164,11 @@
|
|||||||
:ensure t
|
:ensure t
|
||||||
:hook (prog-mode . origami-mode)
|
:hook (prog-mode . origami-mode)
|
||||||
:bind (:map origami-mode-map
|
:bind (:map origami-mode-map
|
||||||
("C-c f f" . origami-toggle-node)
|
("C-c o f" . origami-toggle-node)
|
||||||
("C-c f o" . origami-open-node)
|
("C-c o o" . origami-open-node)
|
||||||
("C-c f c" . origami-close-node)
|
("C-c o c" . origami-close-node)
|
||||||
("C-c f a" . origami-close-all-nodes)
|
("C-c o a" . origami-close-all-nodes)
|
||||||
("C-c f A" . origami-open-all-nodes))))
|
("C-c o A" . origami-open-all-nodes))))
|
||||||
|
|
||||||
(defun dev-mode-modern-setup-keybindings ()
|
(defun dev-mode-modern-setup-keybindings ()
|
||||||
"Setup development-specific keybindings."
|
"Setup development-specific keybindings."
|
||||||
|
|||||||
@@ -153,20 +153,20 @@
|
|||||||
(use-package origami
|
(use-package origami
|
||||||
:ensure t
|
:ensure t
|
||||||
:config
|
:config
|
||||||
;; Define global keybindings for origami
|
;; Define global keybindings for origami (using C-c o prefix to avoid conflict)
|
||||||
(global-set-key (kbd "C-c f f") 'origami-toggle-node)
|
(global-set-key (kbd "C-c o f") 'origami-toggle-node)
|
||||||
(global-set-key (kbd "C-c f o") 'origami-open-node)
|
(global-set-key (kbd "C-c o o") 'origami-open-node)
|
||||||
(global-set-key (kbd "C-c f c") 'origami-close-node)
|
(global-set-key (kbd "C-c o c") 'origami-close-node)
|
||||||
(global-set-key (kbd "C-c f a") 'origami-close-all-nodes)
|
(global-set-key (kbd "C-c o a") 'origami-close-all-nodes)
|
||||||
(global-set-key (kbd "C-c f A") 'origami-open-all-nodes)
|
(global-set-key (kbd "C-c o A") 'origami-open-all-nodes)
|
||||||
(global-set-key (kbd "C-c f t") 'origami-toggle-all-nodes)
|
(global-set-key (kbd "C-c o t") 'origami-toggle-all-nodes)
|
||||||
(global-set-key (kbd "C-c f r") 'origami-recursively-toggle-node)
|
(global-set-key (kbd "C-c o r") 'origami-recursively-toggle-node)
|
||||||
(global-set-key (kbd "C-c f R") 'origami-open-node-recursively)
|
(global-set-key (kbd "C-c o R") 'origami-open-node-recursively)
|
||||||
(global-set-key (kbd "C-c f n") 'origami-next-fold)
|
(global-set-key (kbd "C-c o n") 'origami-next-fold)
|
||||||
(global-set-key (kbd "C-c f p") 'origami-previous-fold)
|
(global-set-key (kbd "C-c o p") 'origami-previous-fold)
|
||||||
(global-set-key (kbd "C-c f s") 'origami-show-only-node)
|
(global-set-key (kbd "C-c o s") 'origami-show-only-node)
|
||||||
(global-set-key (kbd "C-c f u") 'origami-undo)
|
(global-set-key (kbd "C-c o u") 'origami-undo)
|
||||||
(global-set-key (kbd "C-c f d") 'origami-redo)
|
(global-set-key (kbd "C-c o d") 'origami-redo)
|
||||||
|
|
||||||
;; Setup origami
|
;; Setup origami
|
||||||
(setq origami-show-fold-header t)
|
(setq origami-show-fold-header t)
|
||||||
@@ -197,8 +197,8 @@
|
|||||||
("C-S-d" . mc/mark-all-like-this)
|
("C-S-d" . mc/mark-all-like-this)
|
||||||
("C->" . mc/mark-next-like-this)
|
("C->" . mc/mark-next-like-this)
|
||||||
("C-<" . mc/mark-previous-like-this)
|
("C-<" . mc/mark-previous-like-this)
|
||||||
("C-c m n" . mc/skip-to-next-like-this)
|
("C-c M n" . mc/skip-to-next-like-this)
|
||||||
("C-c m p" . mc/skip-to-previous-like-this)
|
("C-c M p" . mc/skip-to-previous-like-this)
|
||||||
("C-S-<mouse-1>" . mc/add-cursor-on-click)))
|
("C-S-<mouse-1>" . mc/add-cursor-on-click)))
|
||||||
|
|
||||||
(use-package expand-region
|
(use-package expand-region
|
||||||
|
|||||||
@@ -52,5 +52,14 @@ With argument ARG, make ARG copies."
|
|||||||
|
|
||||||
(global-set-key (kbd "C-c b") 'switch-to-previous-buffer)
|
(global-set-key (kbd "C-c b") 'switch-to-previous-buffer)
|
||||||
|
|
||||||
|
;;; Alt-Tab style buffer cycling
|
||||||
|
;; Cycle through buffers with M-Tab (Alt-Tab)
|
||||||
|
(global-set-key (kbd "M-<tab>") 'next-buffer)
|
||||||
|
(global-set-key (kbd "M-S-<tab>") 'previous-buffer)
|
||||||
|
|
||||||
|
;; Alternative: Use C-Tab if M-Tab is captured by window manager
|
||||||
|
(global-set-key (kbd "C-<tab>") 'next-buffer)
|
||||||
|
(global-set-key (kbd "C-S-<tab>") 'previous-buffer)
|
||||||
|
|
||||||
(provide 'init-keybindings)
|
(provide 'init-keybindings)
|
||||||
;;; init-keybindings.el ends here
|
;;; init-keybindings.el ends here
|
||||||
@@ -40,23 +40,29 @@
|
|||||||
(local-set-key (kbd "C-c C-n") 'eat-next-shell-prompt)))
|
(local-set-key (kbd "C-c C-n") 'eat-next-shell-prompt)))
|
||||||
|
|
||||||
;; Auto-close on exit codes
|
;; Auto-close on exit codes
|
||||||
(defun eat-close-on-exit ()
|
(defun eat-close-on-exit (process event)
|
||||||
"Close eat buffer automatically when shell exits."
|
"Close eat buffer automatically when shell exits.
|
||||||
(when (and (eq major-mode 'eat-mode)
|
PROCESS is the eat process, EVENT is the exit event string."
|
||||||
(not (process-live-p (get-buffer-process (current-buffer)))))
|
(when (and (string-match-p "\\(finished\\|exited\\)" event)
|
||||||
(kill-buffer)))
|
(buffer-live-p (process-buffer process)))
|
||||||
|
(with-current-buffer (process-buffer process)
|
||||||
|
(when (eq major-mode 'eat-mode)
|
||||||
|
(kill-buffer)))))
|
||||||
|
|
||||||
;; Add hook to close buffer when process exits
|
;; Add hook to close buffer when process exits
|
||||||
(add-hook 'eat-exit-hook 'eat-close-on-exit)
|
(add-hook 'eat-exit-hook 'eat-close-on-exit)
|
||||||
|
|
||||||
;; Alternative: Close with a delay to see exit message
|
;; Alternative: Close with a delay to see exit message
|
||||||
(defun eat-close-on-exit-with-delay ()
|
(defun eat-close-on-exit-with-delay (process event)
|
||||||
"Close eat buffer with a small delay after exit."
|
"Close eat buffer with a small delay after exit.
|
||||||
(run-with-timer 0.5 nil
|
PROCESS is the eat process, EVENT is the exit event string."
|
||||||
(lambda (buf)
|
(when (and (string-match-p "\\(finished\\|exited\\)" event)
|
||||||
(when (buffer-live-p buf)
|
(buffer-live-p (process-buffer process)))
|
||||||
(kill-buffer buf)))
|
(run-with-timer 0.5 nil
|
||||||
(current-buffer)))
|
(lambda (buf)
|
||||||
|
(when (buffer-live-p buf)
|
||||||
|
(kill-buffer buf)))
|
||||||
|
(process-buffer process))))
|
||||||
|
|
||||||
;; Uncomment this and comment the previous hook if you want a delay
|
;; Uncomment this and comment the previous hook if you want a delay
|
||||||
;; (add-hook 'eat-exit-hook 'eat-close-on-exit-with-delay)
|
;; (add-hook 'eat-exit-hook 'eat-close-on-exit-with-delay)
|
||||||
|
|||||||
Reference in New Issue
Block a user