diff --git a/config.org b/config.org index 2566fee..639bfb9 100644 --- a/config.org +++ b/config.org @@ -38,6 +38,11 @@ customize settings in [[file:init.el][init.el]]. (load custom-file) #+end_src +Keep the .emacs.d clean by moving user files into a separate dir +#+BEGIN_SRC emacs-lisp +(setq bookmark-default-file "~/.emacs.d/user-dir/bookmarks") +#+END_SRC + * Theme ** Font @@ -456,6 +461,19 @@ begin_src emacs-lisp end_src + +* Recentf +Requires counsel +#+begin_src emacs-lisp + (use-package recentf +; :bind ("C-x C-r" . counsel-recentf) + :config + (recentf-mode t) + (setq recentf-max-saved-items 200) + ) +#+end_src + + * ivy / counsel / swiper Flx is required for fuzzy-matching @@ -484,13 +502,6 @@ Ivy displays a window with suggestions for hotkeys and M-x ) #+end_src -Counsel replaces: -- M-x -- C-x C-f find-file -- C-c h f describe-function -- C-c h v describe-variable -- M-i imenu - The find-file replacement is nicer to navigate #+begin_src emacs-lisp @@ -499,6 +510,8 @@ The find-file replacement is nicer to navigate :bind* ;; load counsel when pressed (("M-x" . counsel-M-x) ("C-x C-f" . counsel-find-file) + ("C-x C-r" . counsel-recentf) + ("C-c C-f" . counsel-git) ("C-c h f" . counsel-describe-function) ("C-c h v" . counsel-describe-variable) ("M-i" . counsel-imenu) @@ -517,19 +530,6 @@ Swiper ivy-enhances isearch ) ) #+end_src - - -* Recentf -Requires counsel -#+begin_src emacs-lisp - (use-package recentf - :bind ("C-x C-r" . counsel-recentf) - :config - (recentf-mode t) - (setq recentf-max-saved-items 200) - ) -#+end_src - * Latex Requirements for Linux: @@ -680,6 +680,7 @@ Highlight whitespaces, tabs, empty lines. (use-package whitespace :demand t :ensure nil + :diminish whitespace-mode;;mode shall be active, but not shown in mode line :init (dolist (hook '(prog-mode-hook text-mode-hook @@ -709,6 +710,7 @@ Colorize colors as text with their value :ensure t :init (add-hook 'prog-mode-hook 'rainbow-mode t) + :diminish rainbow-mode ;; :hook prog-mode ;; not working in use-package 2.3 :config (setq-default rainbow-x-colors-major-mode-list '()) @@ -804,6 +806,17 @@ Activate company and make it react nearly instantly ) #+end_src +For a nicer suggestion box: company-box ([[https://github.com/sebastiencs/company-box][Source]]) +It is only available for emacs 26 and higher. + +#+begin_src emacs-lisp +(when (> emacs-major-version 25) + (use-package company-box + :ensure t + :init + (add-hook 'company-mode-hook 'company-box-mode))) +#+end_src + *** Company backend hooks Backend configuration for python-mode @@ -869,6 +882,8 @@ Addon to sort suggestions by usage (use-package company-statistics :ensure t :after company + :init + (setq company-statistics-file "~/.emacs.d/user-dir/company-statistics-cache.el") :config (company-statistics-mode 1) ) @@ -920,11 +935,13 @@ Maybe add [[https://github.com/hlissner/emacs-company-dict][company-dict]]? It's #+begin_src emacs-lisp (use-package yasnippet :ensure t + :diminish yas-minor-mode :init - (yas-global-mode) + (setq yas-snippet-dirs (concat user-emacs-directory "user-dir/snippets")) + (yas-global-mode t) :mode ("\\.yasnippet" . snippet-mode) - :config - (setq yas-snippet-dirs (concat user-emacs-directory "snippets")) +; :config +; (yas-reload-all) ;; ensure snippets are updated and available, necessary when not using global-mode ) #+end_src ** Lisp @@ -1200,6 +1217,28 @@ _v_ verify setup _f_ check _s_ select - treemacs-find-tag +* Evil + So... Evil Mode might be worth a try + + #+BEGIN_SRC emacs-lisp +(use-package evil + :ensure t + :defer .1 ;; don't block emacs when starting, load evil immediately after startup + :init + (setq evil-want-integration nil) ;; required by evil-collection + :config + (evil-mode 0)) ;; for now deactivate per default + #+END_SRC + + Evil-collection is a bundle of configs for different modes + #+BEGIN_SRC emacs-lisp +(use-package evil-collection + :after evil + :ensure t + :config + (evil-collection-init)) + #+END_SRC + * Window Handling Some tools to easen the navigation, creation and deletion of windows