Fix error with evil-want-keybinding.

This commit is contained in:
kj 2022-04-06 23:34:54 -04:00
parent 55a5f04cbc
commit a964fb5f4a
1 changed files with 163 additions and 165 deletions

View File

@ -7,6 +7,7 @@
;;; Code:
(setq evil-want-keybinding nil)
;; use-package - No necesita presentación
(use-package use-package
:config
@ -49,16 +50,174 @@
(drag-stuff-global-mode 1)
(drag-stuff-define-keys))
;; Recentf - Guarda registro de los archivos abiertos recientemente
(use-package recentf
:config
(setq recentf-save-file
(recentf-expand-file-name (concat temp-dir "/recentf")))
(recentf-mode 1))
;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir.
(use-package saveplace
:config
(save-place-mode 1)
(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)
(use-package emmet-mode
:config
(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
(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.
(use-package git-gutter
:config
(global-git-gutter-mode +1) ; Habilitar git gutter de manera global
)
;; Mejorando el scroll
(use-package smooth-scrolling
:config
(smooth-scrolling-mode 1) ; Cambia el salto de líneas cuando el cursor llega al final.
(setq mouse-wheel-scroll-amount
'(8 ((shift) . 1) ((control) . nil))) ; Cambia el scroll a 8 líneas a la vez, 1 cuando se preciona SHIFT y saltos de página cuando presionas CTRL
(setq mouse-wheel-progressive-speed nil) ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va)
)
;; Esa línea bonita de abajo del editor que dice cosas xD
(use-package telephone-line
:defer t
:custom
(telephone-line-primary-left-separator 'telephone-line-cubed-left)
(telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left)
(telephone-line-primary-right-separator 'telephone-line-cubed-right)
(telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(telephone-line-evil-use-short-tag t)
(setq telephone-line-lhs
'((evil . (telephone-line-evil-tag-segment))
(accent . (telephone-line-vc-segment
telephone-line-erc-modified-channels-segment
telephone-line-process-segment))
(nil . (;telephone-line-minor-mode-segment
telephone-line-buffer-segment))))
(setq telephone-line-rhs
'((nil . (telephone-line-misc-info-segment))
(accent . (telephone-line-major-mode-segment))
(evil . (telephone-line-airline-position-segment))))
(telephone-line-mode t)
)
;; Hacer uso de Emacs con las ventajas de vim.
(use-package evil
:defer t
:init
(evil-mode 1)
(setq evil-want-keybinding nil)
:config
(setq evil-want-integration t)
(setq evil-want-keybinding nil)
(setq evil-want-C-u-scroll t)
(setq evil-want-C-i-jump nil)
(setq evil-want-fine-undo t)
(setq evil-respect-visual-line-mode t)
(setq evil-toggle-key "C-'") ; Cambiar toggle-key cambiar entre evil states y emacs.
;; (setq evil-default-state 'emacs) ; Modo por defecto en emacs mode
(define-key evil-normal-state-map (kbd "g b") 'evil-jump-backward)
;; Seleccionar todo con C-a en insert mode
(evil-global-set-key 'insert (kbd "C-a") 'mark-whole-buffer)
;; **
;; Atajos personalizados con leader key
;; **
;; Definiendo la leader key
(evil-set-leader 'normal (kbd "SPC"))
(evil-set-leader 'visual (kbd "SPC"))
;; Atajos para counsel-projectile y switch buffer con leader key
(evil-define-key 'normal 'global (kbd "<leader>b") 'ivy-switch-buffer)
(evil-define-key 'visual 'global (kbd "<leader>b") 'ivy-switch-buffer)
(evil-define-key 'normal 'global (kbd "<leader>v") 'counsel-projectile)
(evil-define-key 'normal 'global (kbd "<leader>cp") 'projectile-switch-project)
(evil-define-key 'visual 'global (kbd "<leader>v") 'counsel-projectile)
(evil-define-key 'visual 'global (kbd "<leader>cp") 'projectile-switch-project)
(evil-define-key 'normal 'global (kbd "<leader>ff") 'counsel-find-file)
(evil-define-key 'visual 'global (kbd "<leader>ff") 'counsel-find-file)
;; Atajos windmove con leader key
(evil-define-key 'normal 'global (kbd "<leader>wh") 'windmove-left)
(evil-define-key 'normal 'global (kbd "<leader>wj") 'windmove-down)
(evil-define-key 'normal 'global (kbd "<leader>wk") 'windmove-up)
(evil-define-key 'normal 'global (kbd "<leader>wl") 'windmove-right)
;; Atajos con leader key para frames
(evil-define-key 'normal 'global (kbd "<leader>0") 'delete-window)
(evil-define-key 'normal 'global (kbd "<leader>1") 'delete-other-windows)
(evil-define-key 'normal 'global (kbd "<leader>2") 'split-window-below)
(evil-define-key 'normal 'global (kbd "<leader>3") 'split-window-right)
(evil-define-key 'normal 'global (kbd "<leader>kb") 'kill-buffer)
(evil-define-key 'normal 'global (kbd "<leader>wb") 'winner-undo)
(evil-define-key 'normal 'global (kbd "<leader>wr") 'winner-redo)
;; Atajos para cambiar entre major modes
(evil-define-key 'normal 'global (kbd "<leader>mh") 'html-mode)
(evil-define-key 'normal 'global (kbd "<leader>mj") 'js-mode)
(evil-define-key 'normal 'global (kbd "<leader>mp") 'php-mode)
;; Atajo para abrir vterm
(evil-define-key 'normal 'global (kbd "<leader>tt") 'multi-vterm-dedicated-toggle)
(evil-define-key 'normal 'global (kbd "<leader>tf") 'multi-vterm)
(evil-define-key 'normal 'global (kbd "<leader>tp") 'multi-vterm-project)
;; Cambiar el cursor según el estado
(setq evil-emacs-state-cursor 'bar)
(setq evil-motion-state-cursor 'bar)
(setq evil-normal-state-cursor 'box)
(setq evil-visual-state-cursor 'box)
(setq evil-insert-state-cursor 'bar)
(setq evil-replace-state-cursor 'hollow)
(setq evil-operator-state-cursor 'hollow)
;; Establecer modos por defecto en algunos modos
(evil-set-initial-state 'shell-mode 'insert)
(evil-set-initial-state 'vterm-mode 'emacs)
(evil-set-initial-state 'term-mode 'emacs)
(evil-set-initial-state 'help-mode 'emacs)
(evil-set-initial-state 'helm-grep-mode 'emacs)
(evil-set-initial-state 'grep-mode 'emacs)
(evil-set-initial-state 'dired-mode 'emacs)
(evil-set-initial-state 'Buffer-menu-mode 'emacs)
(evil-set-initial-state 'wdired-mode 'normal)
;; Por defecto usar emcas mode.
;;(setq evil-default-state 'emacs)
)
;; Edición múltiple con evil (Atajos por defecto: C-d y C-D)
(use-package evil-multiedit
:defer t
:config
(evil-multiedit-default-keybinds)
)
;; evil keybinding
(use-package evil-collection
:custom (evil-collection-setup-minibuffer t)
:init (evil-collection-init))
;; Barra lateral de archivos
(use-package treemacs
:defer t
:ensure t
:hook (treemacs-mode . (lambda() (display-line-numbers-mode -1)))
:bind ([mouse-1] . treemacs-single-click-expand-action)
:init
(with-eval-after-load 'winum
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
:config
(progn
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
@ -174,167 +333,6 @@
:ensure t
:config (treemacs-set-scope-type 'Tabs))
;; Recentf - Guarda registro de los archivos abiertos recientemente
(use-package recentf
:config
(setq recentf-save-file
(recentf-expand-file-name (concat temp-dir "/recentf")))
(recentf-mode 1))
;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir.
(use-package saveplace
:config
(save-place-mode 1)
(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)
(use-package emmet-mode
:config
(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
(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.
(use-package git-gutter
:config
(global-git-gutter-mode +1) ; Habilitar git gutter de manera global
)
;; Mejorando el scroll
(use-package smooth-scrolling
:config
(smooth-scrolling-mode 1) ; Cambia el salto de líneas cuando el cursor llega al final.
(setq mouse-wheel-scroll-amount
'(8 ((shift) . 1) ((control) . nil))) ; Cambia el scroll a 8 líneas a la vez, 1 cuando se preciona SHIFT y saltos de página cuando presionas CTRL
(setq mouse-wheel-progressive-speed nil) ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va)
)
;; Esa línea bonita de abajo del editor que dice cosas xD
(use-package telephone-line
:defer t
:custom
(telephone-line-primary-left-separator 'telephone-line-cubed-left)
(telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left)
(telephone-line-primary-right-separator 'telephone-line-cubed-right)
(telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(telephone-line-evil-use-short-tag t)
(setq telephone-line-lhs
'((evil . (telephone-line-evil-tag-segment))
(accent . (telephone-line-vc-segment
telephone-line-erc-modified-channels-segment
telephone-line-process-segment))
(nil . (;telephone-line-minor-mode-segment
telephone-line-buffer-segment))))
(setq telephone-line-rhs
'((nil . (telephone-line-misc-info-segment))
(accent . (telephone-line-major-mode-segment))
(evil . (telephone-line-airline-position-segment))))
(telephone-line-mode t)
)
;; Hacer uso de Emacs con las ventajas de vim.
(use-package evil
:defer t
:init
(evil-mode 1)
:config
(setq evil-want-integration t)
(setq evil-want-keybinding nil)
(setq evil-want-C-u-scroll t)
(setq evil-want-C-i-jump nil)
(setq evil-want-fine-undo t)
(setq evil-respect-visual-line-mode t)
(setq evil-toggle-key "C-'") ; Cambiar toggle-key cambiar entre evil states y emacs.
;; (setq evil-default-state 'emacs) ; Modo por defecto en emacs mode
(define-key evil-normal-state-map (kbd "g b") 'evil-jump-backward)
;; Seleccionar todo con C-a en insert mode
(evil-global-set-key 'insert (kbd "C-a") 'mark-whole-buffer)
;; **
;; Atajos personalizados con leader key
;; **
;; Definiendo la leader key
(evil-set-leader 'normal (kbd "SPC"))
(evil-set-leader 'visual (kbd "SPC"))
;; Atajos para counsel-projectile y switch buffer con leader key
(evil-define-key 'normal 'global (kbd "<leader>b") 'ivy-switch-buffer)
(evil-define-key 'visual 'global (kbd "<leader>b") 'ivy-switch-buffer)
(evil-define-key 'normal 'global (kbd "<leader>v") 'counsel-projectile)
(evil-define-key 'normal 'global (kbd "<leader>cp") 'projectile-switch-project)
(evil-define-key 'visual 'global (kbd "<leader>v") 'counsel-projectile)
(evil-define-key 'visual 'global (kbd "<leader>cp") 'projectile-switch-project)
(evil-define-key 'normal 'global (kbd "<leader>ff") 'counsel-find-file)
(evil-define-key 'visual 'global (kbd "<leader>ff") 'counsel-find-file)
;; Atajos windmove con leader key
(evil-define-key 'normal 'global (kbd "<leader>wh") 'windmove-left)
(evil-define-key 'normal 'global (kbd "<leader>wj") 'windmove-down)
(evil-define-key 'normal 'global (kbd "<leader>wk") 'windmove-up)
(evil-define-key 'normal 'global (kbd "<leader>wl") 'windmove-right)
;; Atajos con leader key para frames
(evil-define-key 'normal 'global (kbd "<leader>0") 'delete-window)
(evil-define-key 'normal 'global (kbd "<leader>1") 'delete-other-windows)
(evil-define-key 'normal 'global (kbd "<leader>2") 'split-window-below)
(evil-define-key 'normal 'global (kbd "<leader>3") 'split-window-right)
(evil-define-key 'normal 'global (kbd "<leader>kb") 'kill-buffer)
(evil-define-key 'normal 'global (kbd "<leader>wb") 'winner-undo)
(evil-define-key 'normal 'global (kbd "<leader>wr") 'winner-redo)
;; Atajos para cambiar entre major modes
(evil-define-key 'normal 'global (kbd "<leader>mh") 'html-mode)
(evil-define-key 'normal 'global (kbd "<leader>mj") 'js-mode)
(evil-define-key 'normal 'global (kbd "<leader>mp") 'php-mode)
;; Atajo para abrir vterm
(evil-define-key 'normal 'global (kbd "<leader>tt") 'multi-vterm-dedicated-toggle)
(evil-define-key 'normal 'global (kbd "<leader>tf") 'multi-vterm)
(evil-define-key 'normal 'global (kbd "<leader>tp") 'multi-vterm-project)
;; Cambiar el cursor según el estado
(setq evil-emacs-state-cursor 'bar)
(setq evil-motion-state-cursor 'bar)
(setq evil-normal-state-cursor 'box)
(setq evil-visual-state-cursor 'box)
(setq evil-insert-state-cursor 'bar)
(setq evil-replace-state-cursor 'hollow)
(setq evil-operator-state-cursor 'hollow)
;; Establecer modos por defecto en algunos modos
(evil-set-initial-state 'shell-mode 'insert)
(evil-set-initial-state 'vterm-mode 'emacs)
(evil-set-initial-state 'term-mode 'emacs)
(evil-set-initial-state 'help-mode 'emacs)
(evil-set-initial-state 'helm-grep-mode 'emacs)
(evil-set-initial-state 'grep-mode 'emacs)
(evil-set-initial-state 'dired-mode 'emacs)
(evil-set-initial-state 'Buffer-menu-mode 'emacs)
(evil-set-initial-state 'wdired-mode 'normal)
;; Por defecto usar emcas mode.
;;(setq evil-default-state 'emacs)
)
;; Edición múltiple con evil (Atajos por defecto: C-d y C-D)
(use-package evil-multiedit
:defer t
:config
(evil-multiedit-default-keybinds)
)
;; evil keybinding
(use-package evil-collection
:custom (evil-collection-setup-minibuffer t)
:init (evil-collection-init))
;; Code Folding
(use-package origami
:defer t