diff --git a/lisp/icejam-avy.el b/lisp/icejam-avy.el index 9924382..01ec8eb 100644 --- a/lisp/icejam-avy.el +++ b/lisp/icejam-avy.el @@ -9,6 +9,12 @@ ;; Avy is a navigation manager. ;;; Code: -(use-package avy :straight t :defer t) +(use-package avy :straight t :defer t + :config + (setq avy-timeout-seconds 1) + :bind (:map icejam-keys-mode-map + ([(hyper j)] . avy-goto-char-timer)) ;; Jump to text. + ) + (provide 'icejam-avy) ;;; icejam-avy.el ends here diff --git a/lisp/icejam-base.el b/lisp/icejam-base.el index ce95e62..be27e54 100644 --- a/lisp/icejam-base.el +++ b/lisp/icejam-base.el @@ -44,13 +44,7 @@ :config (global-set-key [remap kill-ring-save] 'easy-kill)) ;; Move buffers around with buffer keys -(use-package buffer-move - :straight t - :defer t - :bind ("C-c m [" . buf-move-left) - ("C-c m ]" . buf-move-right) - ("C-c m {" . buf-move-up) - ("C-c m }" . buf-move-down)) +(use-package buffer-move :straight t :defer t) ;; #====================== Backup config #============================== (setq backup-directory-alist @@ -108,7 +102,6 @@ (exec-path-from-shell-initialize)) (use-package direnv :straight t :config (direnv-mode)) -;; (use-package shadowenv :straight t :config (shadowenv-global-mode)) ;; Draw underline lower (setq x-underline-at-descent-line t) @@ -120,7 +113,10 @@ indicate-empty-lines nil) ;;;;;;;;;;;;;;;;; Treemacs -(use-package treemacs :straight t :defer t) +(use-package treemacs :straight t :defer t + :bind (:map icejam-keys-mode-map + ([(hyper b)] . treemacs))) ;; Show the folder tree + (use-package treemacs-all-the-icons :defer t :requires (treemacs) :straight t :config (treemacs-load-theme "all-the-icons") diff --git a/lisp/icejam-keys-mode.el b/lisp/icejam-keys-mode.el index 062e31d..172e5a3 100644 --- a/lisp/icejam-keys-mode.el +++ b/lisp/icejam-keys-mode.el @@ -52,5 +52,10 @@ (define-key icejam-keys-mode-map [home] 'beginning-of-line) (define-key icejam-keys-mode-map [end] 'end-of-line) +;;;;;;;;; Translate keys ;;;;;;;;;;;;;;;;;;;;; +(define-key key-translation-map (kbd "") (kbd "C-c l")) ;; On F6, send C-c l +(define-key key-translation-map (kbd "") (kbd "C-c c")) ;; On F7, send C-c c +(define-key key-translation-map (kbd "") (kbd "C-c p")) ;; On F8, send C-c p + (provide 'icejam-keys-mode) ;;; icejam-keys-mode.el ends here diff --git a/lisp/icejam-magit.el b/lisp/icejam-magit.el index 47abd91..08a47c8 100644 --- a/lisp/icejam-magit.el +++ b/lisp/icejam-magit.el @@ -2,12 +2,15 @@ ;;; Commentary: ;;; Code: +(require 'icejam-keys-mode) + (use-package magit :straight t :defer t - :bind (" c" . magit-checkout) - (" b" . magit-blame-addition) - (" g" . magit-status) + :bind (:map icejam-keys-mode-map + (" c" . magit-checkout) + (" b" . magit-blame-addition) + (" g" . magit-status)) (:map magit-blame-mode-map (" b" . 'magit-blame-quit))) diff --git a/lisp/icejam-sys-specific.el b/lisp/icejam-sys-specific.el index 380cc00..be9e2cf 100644 --- a/lisp/icejam-sys-specific.el +++ b/lisp/icejam-sys-specific.el @@ -31,22 +31,23 @@ (setq mac-command-modifier 'meta)))) ;;;;;;;;; Mac binding (fix) ;;;;;;;;;;;;;;;;;; - (define-key icejam-keys-mode-map (kbd "H-") 'end-of-line) - (define-key icejam-keys-mode-map (kbd "H-") 'beginning-of-line) - (define-key icejam-keys-mode-map (kbd "H-") 'scroll-down) ; WTF is this reverse, I dunno - (define-key icejam-keys-mode-map (kbd "H-") 'scroll-up) + (define-key icejam-keys-mode-map (kbd "H-") #'end-of-line) + (define-key icejam-keys-mode-map (kbd "H-") #'beginning-of-line) + (define-key icejam-keys-mode-map (kbd "H-") #'scroll-down) ; WTF is this reverse, I dunno + (define-key icejam-keys-mode-map (kbd "H-") #'scroll-up) - (define-key icejam-keys-mode-map [(hyper a)] 'mark-whole-buffer) - (define-key icejam-keys-mode-map [(hyper v)] 'yank) - (define-key icejam-keys-mode-map [(hyper x)] 'kill-region) - (define-key icejam-keys-mode-map [(hyper c)] 'kill-ring-save) - (define-key icejam-keys-mode-map [(hyper s)] 'save-buffer) - (define-key icejam-keys-mode-map [(hyper l)] 'goto-line) - (define-key icejam-keys-mode-map [(hyper b)] 'treemacs) - (define-key icejam-keys-mode-map [(hyper w)] 'icejam-function-delete-window) - (define-key icejam-keys-mode-map [(hyper z)] 'undo) - (define-key icejam-keys-mode-map [(hyper q)] 'kill-emacs) + ;; Use CMD bindings that you know from the operating system + (define-key icejam-keys-mode-map [(hyper a)] #'mark-whole-buffer) ;; Select all + (define-key icejam-keys-mode-map [(hyper v)] #'yank) ;; Paste + (define-key icejam-keys-mode-map [(hyper x)] #'kill-region) ;; Cut + (define-key icejam-keys-mode-map [(hyper c)] #'kill-ring-save) ;; Copy + (define-key icejam-keys-mode-map [(hyper s)] #'save-buffer) ;; Save + (define-key icejam-keys-mode-map [(hyper z)] #'undo) ;; Undo + (define-key icejam-keys-mode-map [(hyper q)] #'kill-emacs) ;; Close emacs + (define-key icejam-keys-mode-map [(hyper w)] #'icejam-function-delete-window) ;; Close window + ;; And then some extras + (define-key icejam-keys-mode-map [(hyper l)] #'goto-line) ;; Goto Line ;; Disable meta on right alt (useful for Polish characters) ;; (setq mac-right-option-modifier nil) )) @@ -62,7 +63,7 @@ (setq mac-option-modifier 'meta) (setq mac-right-option-modifier nil)))) -;;;;;;;;; Mac-specific config ;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;; Linux-specific config ;;;;;;;;;;;;;;;;;;;;; (if IS-GNU (progn ;;;; Save and undo diff --git a/lisp/langs/icejam-lang-elisp.el b/lisp/langs/icejam-lang-elisp.el index c03dc4d..1968a09 100644 --- a/lisp/langs/icejam-lang-elisp.el +++ b/lisp/langs/icejam-lang-elisp.el @@ -26,7 +26,7 @@ ;; Company list override (add-to-list (make-local-variable 'company-backends) - '(company-yasnippet company-elisp))) + '(company-yasnippet company-capf))) (add-hook 'emacs-lisp-mode-hook 'icejam/activate-emacs-lisp-mode)