diff options
| author | cashmere <cashmere@autistici.org> | 2025-12-30 17:34:35 +0100 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2025-12-30 17:34:35 +0100 |
| commit | 6565f8516d92a7e819f5265fbbfb84c265324946 (patch) | |
| tree | 5cbed3d90dbb937e2bf3604d6dadd203045d42cd | |
| parent | 991561b9b95458593f42a535e4d9043c64e01e5e (diff) | |
| download | emacs-6565f8516d92a7e819f5265fbbfb84c265324946.tar.gz | |
sync
| -rw-r--r-- | config.el | 81 | ||||
| -rw-r--r-- | config.org | 94 | ||||
| -rw-r--r-- | custom-vars.el | 10 |
3 files changed, 138 insertions, 47 deletions
@@ -265,6 +265,16 @@ :password (password-store-get 'soju) :id 'libera)) +(use-package lambda-themes + :straight (:type git :host github :repo "lambda-emacs/lambda-themes") + :custom + (lambda-themes-set-italic-comments t) + (lambda-themes-set-italic-keywords t) + (lambda-themes-set-variable-pitch t) + (lambda-themes-set-theme 'dark) + :config + (load-theme 'lambda-dark-faded)) + (use-package dashboard :ensure t :config @@ -1683,6 +1693,45 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (define-key evil-inner-text-objects-map "q" 'my-evil-textobj-anyblock-inner-quote) (define-key evil-outer-text-objects-map "q" 'my-evil-textobj-anyblock-a-quote) +;; Paket für echte Multiple Cursors +(use-package evil-mc + :ensure t + :after evil + :config + (global-evil-mc-mode 1) + + ;; Hilfsfunktion: Prüfen, ob wir im Visual-Block-Mode sind + ;; Diese Funktion fängt den Fehler ab, falls Variablen nicht existieren. + (defun my/evil-visual-block-p () + (and (bound-and-true-p evil-visual-selection) + (eq evil-visual-selection 'block))) + + ;; Funktion für Insert am Anfang (I) + (defun my/evil-mc-visual-block-insert () + "Erstellt Cursor am Anfang des Blocks und wechselt in Insert-Mode." + (interactive) + (if (my/evil-visual-block-p) + (progn + (evil-mc-make-cursor-in-visual-selection-beg) + (evil-insert 1)) + ;; Fallback: normales Verhalten, falls kein Block-Mode + (call-interactively 'evil-insert))) + + ;; Funktion für Append am Ende (A) + (defun my/evil-mc-visual-block-append () + "Erstellt Cursor am Ende des Blocks und wechselt in Insert-Mode." + (interactive) + (if (my/evil-visual-block-p) + (progn + (evil-mc-make-cursor-in-visual-selection-end) + (evil-append 1)) + ;; Fallback: normales Verhalten + (call-interactively 'evil-append))) + + ;; Tastenbelegung im Visual Mode überschreiben + (define-key evil-visual-state-map (kbd "I") 'my/evil-mc-visual-block-insert) + (define-key evil-visual-state-map (kbd "A") 'my/evil-mc-visual-block-append)) + (use-package avy :ensure t :straight t @@ -2071,16 +2120,6 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi ;; :config ;; (load-theme 'kanagawa-wave t)) -(use-package lambda-themes - :straight (:type git :host github :repo "lambda-emacs/lambda-themes") - :custom - (lambda-themes-set-italic-comments t) - (lambda-themes-set-italic-keywords t) - (lambda-themes-set-variable-pitch t) - (lambda-themes-set-theme 'dark) - :config - (load-theme 'lambda-dark)) - (use-package dirvish :straight t :init @@ -2672,18 +2711,18 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (use-package emacs-everywhere :ensure t) -(use-package lispy - :ensure t - :hook ((emacs-lisp-mode . lispy-mode) - (clojure-mode . lispy-mode) - (scheme-mode . lispy-mode) - (lisp-mode . lispy-mode))) +;; (use-package lispy +;; :ensure t +;; :hook ((emacs-lisp-mode . lispy-mode) +;; (clojure-mode . lispy-mode) +;; (scheme-mode . lispy-mode) +;; (lisp-mode . lispy-mode))) -(use-package lispyville - :ensure t - :hook (lispy-mode . lispyville-mode) - :config - (lispyville-set-key-theme '(operators c-w additional))) +;; (use-package lispyville +;; :ensure t +;; :hook (lispy-mode . lispyville-mode) +;; :config +;; (lispyville-set-key-theme '(operators c-w additional))) ;; (use-package mistty ;; :ensure t @@ -303,6 +303,20 @@ #+end_src +* lambda-themes + +#+begin_src emacs-lisp +(use-package lambda-themes + :straight (:type git :host github :repo "lambda-emacs/lambda-themes") + :custom + (lambda-themes-set-italic-comments t) + (lambda-themes-set-italic-keywords t) + (lambda-themes-set-variable-pitch t) + (lambda-themes-set-theme 'dark) + :config + (load-theme 'lambda-dark-faded)) +#+end_src + * dashboard #+begin_src emacs-lisp @@ -2177,6 +2191,50 @@ ily <3. (define-key evil-outer-text-objects-map "q" 'my-evil-textobj-anyblock-a-quote) #+end_src +** evil multiple cursor + +#+begin_src emacs-lisp +;; Paket für echte Multiple Cursors +(use-package evil-mc + :ensure t + :after evil + :config + (global-evil-mc-mode 1) + + ;; Hilfsfunktion: Prüfen, ob wir im Visual-Block-Mode sind + ;; Diese Funktion fängt den Fehler ab, falls Variablen nicht existieren. + (defun my/evil-visual-block-p () + (and (bound-and-true-p evil-visual-selection) + (eq evil-visual-selection 'block))) + + ;; Funktion für Insert am Anfang (I) + (defun my/evil-mc-visual-block-insert () + "Erstellt Cursor am Anfang des Blocks und wechselt in Insert-Mode." + (interactive) + (if (my/evil-visual-block-p) + (progn + (evil-mc-make-cursor-in-visual-selection-beg) + (evil-insert 1)) + ;; Fallback: normales Verhalten, falls kein Block-Mode + (call-interactively 'evil-insert))) + + ;; Funktion für Append am Ende (A) + (defun my/evil-mc-visual-block-append () + "Erstellt Cursor am Ende des Blocks und wechselt in Insert-Mode." + (interactive) + (if (my/evil-visual-block-p) + (progn + (evil-mc-make-cursor-in-visual-selection-end) + (evil-append 1)) + ;; Fallback: normales Verhalten + (call-interactively 'evil-append))) + + ;; Tastenbelegung im Visual Mode überschreiben + (define-key evil-visual-state-map (kbd "I") 'my/evil-mc-visual-block-insert) + (define-key evil-visual-state-map (kbd "A") 'my/evil-mc-visual-block-append)) + +#+end_src + * avy #+begin_src emacs-lisp @@ -2936,20 +2994,6 @@ ily <3. ;; (load-theme 'kanagawa-wave t)) #+end_src -** lambda-themes - -#+begin_src emacs-lisp -(use-package lambda-themes - :straight (:type git :host github :repo "lambda-emacs/lambda-themes") - :custom - (lambda-themes-set-italic-comments t) - (lambda-themes-set-italic-keywords t) - (lambda-themes-set-variable-pitch t) - (lambda-themes-set-theme 'dark) - :config - (load-theme 'lambda-dark)) -#+end_src - * dirvish #+begin_src emacs-lisp @@ -3665,18 +3709,18 @@ ily <3. * lispy #+begin_src emacs-lisp -(use-package lispy - :ensure t - :hook ((emacs-lisp-mode . lispy-mode) - (clojure-mode . lispy-mode) - (scheme-mode . lispy-mode) - (lisp-mode . lispy-mode))) +;; (use-package lispy +;; :ensure t +;; :hook ((emacs-lisp-mode . lispy-mode) +;; (clojure-mode . lispy-mode) +;; (scheme-mode . lispy-mode) +;; (lisp-mode . lispy-mode))) -(use-package lispyville - :ensure t - :hook (lispy-mode . lispyville-mode) - :config - (lispyville-set-key-theme '(operators c-w additional))) +;; (use-package lispyville +;; :ensure t +;; :hook (lispy-mode . lispyville-mode) +;; :config +;; (lispyville-set-key-theme '(operators c-w additional))) #+end_src diff --git a/custom-vars.el b/custom-vars.el index c331027..27a938b 100644 --- a/custom-vars.el +++ b/custom-vars.el @@ -10,7 +10,15 @@ default)) '(lambda-themes-set-vibrant t) '(safe-local-variable-values - '((eval progn + '((eval setenv "PYTHONPATH" + "/home/cashmere/SurfSense/surfsense_backend") + (eval setenv "VIRTUAL_ENV" + "/home/cashmere/SurfSense/surfsense_backend/.venv") + (python-shell-interpreter + . "/home/cashmere/SurfSense/surfsense_backend/.venv/bin/python") + (python-shell-virtualenv-root + . "/home/cashmere/SurfSense/surfsense_backend/.venv") + (eval progn (add-to-list 'auto-mode-alist '("\\.html\\'" . jinja2-mode)) (add-to-list 'auto-mode-alist '("\\.j2\\'" . jinja2-mode))))) '(zoom-size '(0.382 . 0.618))) |
