Improve emacs startup.

This commit is contained in:
kj 2022-05-03 23:25:07 -04:00
parent b4e1c001ab
commit 52f8c664e6

View File

@ -9,12 +9,14 @@
;; use-package - No necesita presentación ;; use-package - No necesita presentación
(use-package use-package (use-package use-package
:defer t
:config :config
(setq use-package-always-ensure t) ; auto-instalar extenciones que no lo estén (setq use-package-always-ensure t) ; auto-instalar extenciones que no lo estén
) )
;; Auto-actualizar los paquetes ;; Auto-actualizar los paquetes
(use-package auto-package-update (use-package auto-package-update
:defer t
:custom :custom
(auto-package-update-interval 7) (auto-package-update-interval 7)
(auto-package-update-prompt-before-update t) (auto-package-update-prompt-before-update t)
@ -45,12 +47,13 @@
;; Mover líneas o regiones ;; Mover líneas o regiones
(use-package drag-stuff (use-package drag-stuff
:defer t
:config :config
(drag-stuff-global-mode 1)
(drag-stuff-define-keys)) (drag-stuff-define-keys))
;; Recentf - Guarda registro de los archivos abiertos recientemente ;; Recentf - Guarda registro de los archivos abiertos recientemente
(use-package recentf (use-package recentf
:defer t
:config :config
(setq recentf-save-file (setq recentf-save-file
(recentf-expand-file-name (concat temp-dir "/recentf"))) (recentf-expand-file-name (concat temp-dir "/recentf")))
@ -59,29 +62,23 @@
;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir. ;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir.
(use-package saveplace (use-package saveplace
:defer t
:config :config
(save-place-mode 1)
(setq save-place-file (locate-user-emacs-file (concat temp-dir "/places")))) (setq save-place-file (locate-user-emacs-file (concat temp-dir "/places"))))
;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás) ;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás)
(use-package emmet-mode (use-package emmet-mode
:config :hook (html-mode . emmet-mode))
(add-hook 'sgml-mode-hook 'emmet-mode) ;; Auto-start on any markup modes
(add-hook 'html-mode-hook 'emmet-mode)
(add-hook 'css-mode-hook 'emmet-mode)
)
;; Modo markdown ;; Modo markdown
(use-package markdown-mode :defer t) (use-package markdown-mode :defer t)
;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit. ;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit.
(use-package git-gutter (use-package git-gutter :defer t)
:config
(global-git-gutter-mode +1) ; Habilitar git gutter de manera global
)
;; Mejorando el scroll ;; Mejorando el scroll
(use-package smooth-scrolling (use-package smooth-scrolling
:defer t
:config :config
(smooth-scrolling-mode 1) ; Cambia el salto de líneas cuando el cursor llega al final. (smooth-scrolling-mode 1) ; Cambia el salto de líneas cuando el cursor llega al final.
(setq mouse-wheel-scroll-amount (setq mouse-wheel-scroll-amount
@ -90,6 +87,7 @@
) )
(use-package doom-modeline (use-package doom-modeline
:defer t
:ensure t :ensure t
:init (doom-modeline-mode 1) :init (doom-modeline-mode 1)
:config :config
@ -102,10 +100,7 @@
) )
;; Code Folding ;; Code Folding
(use-package origami (use-package origami :defer t)
:defer t
:config
(global-origami-mode))
;; Reemplazar y buscar menjorado ;; Reemplazar y buscar menjorado
(use-package anzu (use-package anzu
@ -129,7 +124,7 @@
(setq company-minimum-prefix-length 1) ; mostrar autocompletado desde que se coloca la primera letra. (setq company-minimum-prefix-length 1) ; mostrar autocompletado desde que se coloca la primera letra.
(setq company-backends '((company-files :with company-yasnippet) (setq company-backends '((company-files :with company-yasnippet)
(company-capf :with company-yasnippet) (company-capf :with company-yasnippet)
(company-dabbrev-code company-gtags company-etags company-keywords :with company-yasnippet) (company-dabbrev-code company-ctags company-keywords :with company-yasnippet)
(company-dabbrev :with company-yasnippet))) (company-dabbrev :with company-yasnippet)))
) )
@ -147,10 +142,7 @@
:hook (company-mode . company-box-mode)) :hook (company-mode . company-box-mode))
;; Usar autocompletado con ctags y company ;; Usar autocompletado con ctags y company
(use-package company-ctags (use-package company-ctags :defer t)
:config
(add-to-list 'company-backends '(company-ctags))
)
;; Snippets ;; Snippets
(use-package yasnippet (use-package yasnippet
@ -165,6 +157,7 @@
;; Restaurar el estado de los frames ;; Restaurar el estado de los frames
(use-package winner (use-package winner
:defer t
:init :init
(winner-mode 1)) (winner-mode 1))
@ -174,7 +167,7 @@
:custom :custom
(lsp-headerline-breadcrumb-enable nil)) (lsp-headerline-breadcrumb-enable nil))
(use-package lsp-ui) (use-package lsp-ui :defer t)
;; Revisar sintaxis en vivo ;; Revisar sintaxis en vivo
(use-package flycheck (use-package flycheck
@ -190,6 +183,7 @@
;; Un bonito y sencillo panel de inicio ;; Un bonito y sencillo panel de inicio
(use-package dashboard (use-package dashboard
:defer t
:config :config
(setq dashboard-set-file-icons t) (setq dashboard-set-file-icons t)
(setq dashboard-startup-banner (setq dashboard-startup-banner
@ -198,7 +192,6 @@
;;(recents . 5) ;;(recents . 5)
;;(projects . 5) ;;(projects . 5)
)) ))
(dashboard-setup-startup-hook)
) )
;; Autocompletado para shell scripting. ;; Autocompletado para shell scripting.
@ -210,13 +203,15 @@
;; Autocompletado para el minibuffer (counsel e ivy) ;; Autocompletado para el minibuffer (counsel e ivy)
(use-package counsel (use-package counsel
:defer t
:bind :bind
("M-x" . counsel-M-x) ("M-x" . counsel-M-x)
("C-x C-m" . counsel-M-x) ("C-x C-m" . counsel-M-x)
("C-x C-f" . counsel-find-file) ("C-x C-f" . counsel-find-file)
("C-x c k" . counsel-yank-pop)) ("C-x y" . counsel-yank-pop))
(use-package projectile (use-package projectile
:defer t
:diminish projectile-mode :diminish projectile-mode
:config :config
(projectile-mode) (projectile-mode)
@ -231,18 +226,10 @@
;; Carpetas donde tienes tus proyectos (deben tener un archivo .projectile o un repro git iniciado). ;; Carpetas donde tienes tus proyectos (deben tener un archivo .projectile o un repro git iniciado).
(when (file-directory-p "~/Proyectos") (when (file-directory-p "~/Proyectos")
(setq projectile-project-search-path '("~/Proyectos"))) (setq projectile-project-search-path '("~/Proyectos")))
(when (file-directory-p "~/Docker/Nginx") (when (file-directory-p "~/mnt/Nginx")
(setq projectile-project-search-path (append (setq projectile-project-search-path (append
projectile-project-search-path projectile-project-search-path
'("~/Docker/Nginx")))) '("~/mnt/Nginx"))))
(when (file-directory-p "~/Docker/Nginx2")
(setq projectile-project-search-path (append
projectile-project-search-path
'("~/Docker/Nginx2"))))
(when (file-directory-p "~/Docker/NginxTwitch")
(setq projectile-project-search-path (append
projectile-project-search-path
'("~/Docker/NginxTwitch"))))
(setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto. (setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto.
;; Cambiar el título de la ventana de emacs ;; Cambiar el título de la ventana de emacs
@ -259,8 +246,8 @@
;; Autocompletado de proyectos en counsel (projectile) ;; Autocompletado de proyectos en counsel (projectile)
(use-package counsel-projectile (use-package counsel-projectile
:defer t
:config :config
(global-set-key (kbd "C-x p") 'counsel-projectile)
(counsel-projectile-mode)) (counsel-projectile-mode))
;; Mostrar info del panel inferior de otra manera ;; Mostrar info del panel inferior de otra manera
@ -280,24 +267,34 @@
;; Iconos en Ivy (allthe icons) ;; Iconos en Ivy (allthe icons)
(use-package all-the-icons-ivy-rich (use-package all-the-icons-ivy-rich
:defer t
:ensure t :ensure t
:init (all-the-icons-ivy-rich-mode 1)
:config :config
(setq all-the-icons-ivy-rich-color-icon t)) (setq all-the-icons-ivy-rich-color-icon t))
(use-package ivy-rich (use-package ivy-rich
:ensure t :ensure t
:init (ivy-rich-mode 1)) :defer t)
;; Cuando iniicias un atajo de teclas te muestra las posibilidades ;; Cuando iniicias un atajo de teclas te muestra las posibilidades
(use-package which-key (use-package which-key :defer t)
:config
(which-key-mode))
;; Autocompletado de parentesis, corchetes, llaves, etc. ;; Autocompletado de parentesis, corchetes, llaves, etc.
(use-package smartparens (use-package smartparens :defer t)
:config
(smartparens-global-mode t)) ;; Magia para git
(use-package magit :defer t)
;; Auto-inicios de major y minor modes afuera para poder hacer defer
(drag-stuff-global-mode 1)
(save-place-mode 1)
(global-git-gutter-mode +1)
(dashboard-setup-startup-hook)
(global-origami-mode)
(ivy-rich-mode 1)
(all-the-icons-ivy-rich-mode 1)
(which-key-mode)
(smartparens-global-mode t)
;; Org-Mode ;; Org-Mode
(require 'org-config) (require 'org-config)