diff --git a/config.org b/config.org index 1731311..b3d12dd 100644 --- a/config.org +++ b/config.org @@ -14,6 +14,7 @@ - [[#company][Company]] - [[#dashboard][Dashboard]] - [[#diminish][Diminish]] +- [[#dired-file-manager][DIRED (File manager)]] - [[#flycheck][FLYCHECK]] - [[#fonts][Fonts]] - [[#zooming-inout][Zooming In/Out]] @@ -53,6 +54,7 @@ - [[#descriptions][Descriptions]] - [[#theme][Theme]] - [[#theme-loading][Theme loading]] +- [[#transparency][Transparency]] - [[#which-key][WHICH-KEY]] * IMPORTANT PROGRAMS TO LOAD FIRST @@ -74,6 +76,15 @@ (evil-collection-init)) (use-package evil-tutor :ensure t) + +;; Using RETURN to follow links in Org/Evil +;; Unmap keys in 'evil-maps if not done, (setq org-return-follows-link t) will not work +(with-eval-after-load 'evil-maps + (define-key evil-motion-state-map (kbd "SPC") nil) + (define-key evil-motion-state-map (kbd "RET") nil) + (define-key evil-motion-state-map (kbd "TAB") nil)) +;; Setting RETURN key in org-mode to follow links + (setq org-return-follows-link t) #+end_src ** Recent Files #+begin_src emacs-lisp @@ -81,84 +92,90 @@ #+end_src ** General Keybindings #+begin_src emacs-lisp - (use-package general - :ensure t - :config - (general-evil-setup) - ) - (require 'general) ;; If i do this in :config, it says that function is wrong - ;; set up 'SPC' as the global leader key - (general-create-definer kylekrein/leader-keys - :states '(normal insert visual emacs) - :keymaps 'override - :prefix "SPC" ;; set leader - :global-prefix "M-SPC") ;; access leader in insert mode - (kylekrein/leader-keys - "." '(find-file :wk "Find file") - "f r" '(recentf-open :wk "Open recent file") - "TAB TAB" '(comment-line :wk "Comment lines")) - (kylekrein/leader-keys - "b" '(:ignore t :wk "buffer") - "b b" '(switch-to-buffer :wk "Switch buffer") - "b i" '(ibuffer :wk "Ibuffer") - "b k" '(kill-current-buffer :wk "Kill current buffer") - "b n" '(next-buffer :wk "Next buffer") - "b p" '(previous-buffer :wk "Previous buffer") - "b r" '(revert-buffer :wk "Reload buffer")) - - (kylekrein/leader-keys - "e" '(:ignore t :wk "Eshell/Evaluate") - "e b" '(eval-buffer :wk "Evaluate elisp in buffer") - "e d" '(eval-defun :wk "Evaluate defun containing or after point") - "e e" '(eval-expression :wk "Evaluate and elisp expression") - "e l" '(eval-last-sexp :wk "Evaluate elisp expression before point") - "e r" '(eval-region :wk "Evaluate elisp in region") - "e s" '(eshell :which-key "Eshell")) - - (kylekrein/leader-keys - "h" '(:ignore t :wk "Help") - "h f" '(describe-function :wk "Describe function") - "h v" '(describe-variable :wk "Describe variable")) - ;;"h r r" '((lambda () (interactive) (load-file "~/.config/emacs/init.el")) :wk "Reload emacs config")) - ;;"h r r" '(reload-init-file :wk "Reload emacs config")) - - (kylekrein/leader-keys - "t" '(:ignore t :wk "Toggle") - "t l" '(display-line-numbers-mode :wk "Toggle line numbers") - "t t" '(visual-line-mode :wk "Toggle truncated lines") - "t v" '(vterm-toggle :wk "Toggle vterm")) - (kylekrein/leader-keys - "o" '(:ignore t :wk "Open") - "o a" '(org-agenda :wk "Agenda") - ) - (kylekrein/leader-keys - "n" '(:ignore t :wk "Notes") - "n r" '(:ignore t :wk "Roam") - "n r f" '(org-roam-node-find :wk "Find and open") - "n r i" '(org-roam-node-insert :wk "Insert link") - "n r l" '(org-roam-buffer-toggle :wk "Show backlinks") - "n r m" '(org-roam-dailies-map :wk "Dailies") - "n r s" '(org-roam-db-sync :wk "Sync Notes DB (After changes on another device)") - ) - + (use-package general + :ensure t + :config + (general-evil-setup) + ) + (require 'general) ;; If i do this in :config, it says that function is wrong + ;; set up 'SPC' as the global leader key + (general-create-definer kylekrein/leader-keys + :states '(normal insert visual emacs) + :keymaps 'override + :prefix "SPC" ;; set leader + :global-prefix "M-SPC") ;; access leader in insert mode + (kylekrein/leader-keys + "." '(find-file :wk "Find file") + "f r" '(recentf-open :wk "Open recent file") + "TAB TAB" '(comment-line :wk "Comment lines")) (kylekrein/leader-keys - "w" '(:ignore t :wk "Windows") - ;; Window splits - "w c" '(evil-window-delete :wk "Close window") - "w n" '(evil-window-new :wk "New window") - "w s" '(evil-window-split :wk "Horizontal split window") - "w v" '(evil-window-vsplit :wk "Vertical split window") - ;; Window motions - "w h" '(evil-window-left :wk "Window left") - "w j" '(evil-window-down :wk "Window down") - "w k" '(evil-window-up :wk "Window up") - "w l" '(evil-window-right :wk "Window right") - "w w" '(evil-window-next :wk "Goto next window") - ;; Move Windows - "w H" '(buf-move-left :wk "Buffer move left") - "w J" '(buf-move-down :wk "Buffer move down") - "w K" '(buf-move-up :wk "Buffer move up") - "w L" '(buf-move-right :wk "Buffer move right")) + "b" '(:ignore t :wk "buffer") + "b b" '(switch-to-buffer :wk "Switch buffer") + "b i" '(ibuffer :wk "Ibuffer") + "b k" '(kill-current-buffer :wk "Kill current buffer") + "b n" '(next-buffer :wk "Next buffer") + "b p" '(previous-buffer :wk "Previous buffer") + "b r" '(revert-buffer :wk "Reload buffer")) + + (kylekrein/leader-keys +"e" '(:ignore t :wk "Eshell/Evaluate") + "e b" '(eval-buffer :wk "Evaluate elisp in buffer") + "e d" '(eval-defun :wk "Evaluate defun containing or after point") + "e e" '(eval-expression :wk "Evaluate and elisp expression") + "e l" '(eval-last-sexp :wk "Evaluate elisp expression before point") + "e r" '(eval-region :wk "Evaluate elisp in region") + "e s" '(eshell :which-key "Eshell")) + + (kylekrein/leader-keys + "h" '(:ignore t :wk "Help") + "h f" '(describe-function :wk "Describe function") + "h v" '(describe-variable :wk "Describe variable")) + ;;"h r r" '((lambda () (interactive) (load-file "~/.config/emacs/init.el")) :wk "Reload emacs config")) + ;;"h r r" '(reload-init-file :wk "Reload emacs config")) + + (kylekrein/leader-keys + "t" '(:ignore t :wk "Toggle") + "t l" '(display-line-numbers-mode :wk "Toggle line numbers") + "t t" '(visual-line-mode :wk "Toggle truncated lines") + "t v" '(vterm-toggle :wk "Toggle vterm")) +(kylekrein/leader-keys + "o" '(:ignore t :wk "Open") + "o a" '(org-agenda :wk "Agenda") + ) +(kylekrein/leader-keys + "n" '(:ignore t :wk "Notes") + "n r" '(:ignore t :wk "Roam") + "n r f" '(org-roam-node-find :wk "Find and open") + "n r i" '(org-roam-node-insert :wk "Insert link") + "n r l" '(org-roam-buffer-toggle :wk "Show backlinks") + "n r m" '(org-roam-dailies-map :wk "Dailies") + "n r s" '(org-roam-db-sync :wk "Sync Notes DB (After changes on another device)") + ) +(kylekrein/leader-keys + "d" '(:ignore t :wk "Dired") + "d d" '(dired :wk "Open dired") + "d j" '(dired-jump :wk "Dired jump to current") + "d n" '(neotree-dir :wk "Open directory in neotree") + "d p" '(peep-dired :wk "Peep-dired")) + + (kylekrein/leader-keys + "w" '(:ignore t :wk "Windows") + ;; Window splits + "w c" '(evil-window-delete :wk "Close window") + "w n" '(evil-window-new :wk "New window") + "w s" '(evil-window-split :wk "Horizontal split window") + "w v" '(evil-window-vsplit :wk "Vertical split window") + ;; Window motions + "w h" '(evil-window-left :wk "Window left") + "w j" '(evil-window-down :wk "Window down") + "w k" '(evil-window-up :wk "Window up") + "w l" '(evil-window-right :wk "Window right") + "w w" '(evil-window-next :wk "Goto next window") + ;; Move Windows + "w H" '(buf-move-left :wk "Buffer move left") + "w J" '(buf-move-down :wk "Buffer move down") + "w K" '(buf-move-up :wk "Buffer move up") + "w L" '(buf-move-right :wk "Buffer move right")) #+end_src @@ -409,6 +426,30 @@ This package implements hiding or abbreviation of the modeline displays (lighter #+begin_src emacs-lisp (use-package diminish :ensure t) #+end_src +* DIRED (File manager) +#+begin_src emacs-lisp +(use-package dired-open + :ensure t + :config + (setq dired-open-extensions '(("gif" . "gwenview") + ("jpg" . "gwenview") + ("png" . "gwenview") + ("mkv" . "vlc") + ("mp4" . "vlc")))) + +(use-package peep-dired + :ensure t + :after dired + :hook (evil-normalize-keymaps . peep-dired-hook) + :config + (evil-define-key 'normal dired-mode-map (kbd "h") 'dired-up-directory) + (evil-define-key 'normal dired-mode-map (kbd "l") 'dired-open-file) ; use dired-find-file instead if not using dired-open package + (evil-define-key 'normal peep-dired-mode-map (kbd "j") 'peep-dired-next-file) + (evil-define-key 'normal peep-dired-mode-map (kbd "k") 'peep-dired-prev-file) +) + +;;(add-hook 'peep-dired-hook 'evil-normalize-keymaps) +#+end_src * FLYCHECK Install luacheck from your Linux distro’s repositories for flycheck to work correctly with lua files. Install python-pylint for flycheck to work with python files. Haskell works with flycheck as long as haskell-ghc or haskell-stack-ghc is installed. For more information on language support for flycheck, [[https://www.flycheck.org/en/latest/languages.html][read this]]. #+begin_src emacs-lisp @@ -570,7 +611,8 @@ Org-bullets gives us attractive bullets rather than asterisks. Org mode source blocks have some really weird and annoying default indentation behavior. I think this has to do with electric-indent-mode, which is turned on by default in Emacs. So let's turn it OFF! #+begin_src emacs-lisp -(electric-indent-mode -1) + (electric-indent-mode -1) + (setq org-edit-src-content-indentation 0) #+end_src ** Org Level Headers @@ -959,6 +1001,11 @@ Descriptions for completions ;; Corrects (and improves) org-mode's native fontification. (doom-themes-org-config)) #+end_src +* Transparency +With Emacs version 29, true transparency has been added. +#+begin_src emacs-lisp +(add-to-list 'default-frame-alist '(alpha-background . 90)) ; For all new frames henceforth +#+end_src * WHICH-KEY #+begin_src emacs-lisp (use-package which-key @@ -976,6 +1023,6 @@ Descriptions for completions which-key-side-window-max-height 0.25 which-key-idle-delay 0.8 which-key-max-description-length 25 - which-key-allow-imprecise-window-fit t + which-key-allow-imprecise-window-fit nil which-key-separator " → " )) #+end_src