mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-04-22 11:00:27 +10:00
Adding claude code and rules for splits in vterm/claude
This commit is contained in:
@@ -21,6 +21,20 @@
|
||||
;; Optional: Start the Emacs server if not already running
|
||||
(unless (server-running-p) (server-start)))
|
||||
|
||||
(setq claude-code-terminal-backend 'vterm)
|
||||
(setq claude-code-optimize-window-resize t)
|
||||
(setq claude-code-no-delete-other-windows t)
|
||||
(setq claude-code-toggle-auto-select t)
|
||||
|
||||
(with-eval-after-load 'claude-code
|
||||
(add-to-list 'display-buffer-alist
|
||||
'((lambda (buffer-or-name _)
|
||||
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
|
||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||
(side . right)
|
||||
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
|
||||
(window-width . 0.4))))
|
||||
|
||||
(use-package company
|
||||
:defer 2
|
||||
:diminish
|
||||
@@ -301,6 +315,13 @@
|
||||
"b S" '(save-some-buffers :wk "Save multiple buffers")
|
||||
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
|
||||
|
||||
(dt/leader-keys
|
||||
"c" '(:ignore t :wk "Claude")
|
||||
"c c" '(claude-code :wk "Start claude in a vterm")
|
||||
"c k" '(claude-code-kill :wk "Kill claude process and its window")
|
||||
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
|
||||
"c t" '(claude-code-transient :wk "Claude command menu"))
|
||||
|
||||
(dt/leader-keys
|
||||
"d" '(:ignore t :wk "Dired")
|
||||
"d d" '(dired :wk "Open dired")
|
||||
@@ -762,6 +783,8 @@
|
||||
(setq shell-file-name "/bin/sh"
|
||||
vterm-max-scrollback 5000))
|
||||
|
||||
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
|
||||
|
||||
(use-package vterm-toggle
|
||||
:ensure t
|
||||
:after vterm
|
||||
@@ -770,20 +793,19 @@
|
||||
;; kills the program as it would in most standard terminal programs.
|
||||
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
|
||||
(setq vterm-toggle-fullscreen-p nil)
|
||||
(setq vterm-toggle-scope 'project)
|
||||
(setq vterm-toggle-scope 'project))
|
||||
|
||||
(with-eval-after-load 'vterm
|
||||
(add-to-list 'display-buffer-alist
|
||||
'((lambda (buffer-or-name _)
|
||||
(let ((buffer (get-buffer buffer-or-name)))
|
||||
(with-current-buffer buffer
|
||||
(or (equal major-mode 'vterm-mode)
|
||||
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
|
||||
(display-buffer-reuse-window display-buffer-at-bottom)
|
||||
;;(display-buffer-reuse-window display-buffer-in-direction)
|
||||
;;display-buffer-in-direction/direction/dedicated is added in emacs27
|
||||
;;(direction . bottom)
|
||||
;;(dedicated . t) ;dedicated is supported in emacs27
|
||||
(reusable-frames . visible)
|
||||
(window-height . 0.4))))
|
||||
(let ((buffer (get-buffer buffer-or-name)))
|
||||
(with-current-buffer buffer
|
||||
(or (equal major-mode 'vterm-mode)
|
||||
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
|
||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||
(side . right)
|
||||
(reusable-frames . visible)
|
||||
(window-width . 0.4))))
|
||||
|
||||
(use-package sudo-edit)
|
||||
|
||||
|
||||
@@ -108,6 +108,20 @@ By default, Emacs creates automatic backups of files in their original directori
|
||||
;; Optional: Start the Emacs server if not already running
|
||||
(unless (server-running-p) (server-start)))
|
||||
|
||||
(setq claude-code-terminal-backend 'vterm)
|
||||
(setq claude-code-optimize-window-resize t)
|
||||
(setq claude-code-no-delete-other-windows t)
|
||||
(setq claude-code-toggle-auto-select t)
|
||||
|
||||
(with-eval-after-load 'claude-code
|
||||
(add-to-list 'display-buffer-alist
|
||||
'((lambda (buffer-or-name _)
|
||||
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
|
||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||
(side . right)
|
||||
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
|
||||
(window-width . 0.4))))
|
||||
|
||||
#+end_src
|
||||
|
||||
* COMPANY
|
||||
@@ -471,6 +485,13 @@ mouse wheel for zooming in/out.
|
||||
"b S" '(save-some-buffers :wk "Save multiple buffers")
|
||||
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
|
||||
|
||||
(dt/leader-keys
|
||||
"c" '(:ignore t :wk "Claude")
|
||||
"c c" '(claude-code :wk "Start claude in a vterm")
|
||||
"c k" '(claude-code-kill :wk "Kill claude process and its window")
|
||||
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
|
||||
"c t" '(claude-code-transient :wk "Claude command menu"))
|
||||
|
||||
(dt/leader-keys
|
||||
"d" '(:ignore t :wk "Dired")
|
||||
"d d" '(dired :wk "Open dired")
|
||||
@@ -1088,6 +1109,9 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
|
||||
:config
|
||||
(setq shell-file-name "/bin/sh"
|
||||
vterm-max-scrollback 5000))
|
||||
|
||||
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Vterm-Toggle
|
||||
@@ -1102,20 +1126,19 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
|
||||
;; kills the program as it would in most standard terminal programs.
|
||||
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
|
||||
(setq vterm-toggle-fullscreen-p nil)
|
||||
(setq vterm-toggle-scope 'project)
|
||||
(setq vterm-toggle-scope 'project))
|
||||
|
||||
(with-eval-after-load 'vterm
|
||||
(add-to-list 'display-buffer-alist
|
||||
'((lambda (buffer-or-name _)
|
||||
(let ((buffer (get-buffer buffer-or-name)))
|
||||
(with-current-buffer buffer
|
||||
(or (equal major-mode 'vterm-mode)
|
||||
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
|
||||
(display-buffer-reuse-window display-buffer-at-bottom)
|
||||
;;(display-buffer-reuse-window display-buffer-in-direction)
|
||||
;;display-buffer-in-direction/direction/dedicated is added in emacs27
|
||||
;;(direction . bottom)
|
||||
;;(dedicated . t) ;dedicated is supported in emacs27
|
||||
(reusable-frames . visible)
|
||||
(window-height . 0.4))))
|
||||
(let ((buffer (get-buffer buffer-or-name)))
|
||||
(with-current-buffer buffer
|
||||
(or (equal major-mode 'vterm-mode)
|
||||
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
|
||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||
(side . right)
|
||||
(reusable-frames . visible)
|
||||
(window-width . 0.4))))
|
||||
|
||||
#+end_src
|
||||
|
||||
|
||||
Reference in New Issue
Block a user