Compare commits

..

35 Commits

Author SHA1 Message Date
kj
52a7058da6 On daemon mode, kill all buffer except dashboard on close frame. 2022-05-18 03:31:22 -04:00
kj
290243835f Enable lsp on Rust. 2022-05-18 03:08:59 -04:00
kj
f75b9eda35 Update gitignore. 2022-05-18 03:08:39 -04:00
kj
e98d12e7e8 Change windmove shortcut keys. 2022-05-18 03:07:54 -04:00
kj
0411b624da Fix lsp to works with another company-backends. 2022-05-18 03:07:05 -04:00
kj
97ec0558dd Change to alphabetical order. 2022-05-16 00:13:25 -04:00
kj
cfb3279f52 Disable maximize at start. 2022-05-09 21:16:56 -04:00
kj
1ade083d25 Move notes and agenda to another path. 2022-05-09 20:28:50 -04:00
kj
18a43a404c Change C-c C-d shortcut to C-c l d. 2022-05-08 19:06:23 -04:00
kj
f654c2889b Add shortcut to duplicate line. 2022-05-08 19:00:49 -04:00
kj
28e1e3d4b1 Add org-roam-ui... and it's beautifull :D. 2022-05-08 19:00:07 -04:00
kj
935cb9e70b Set org-mode case-sensitive at autocompete. 2022-05-07 23:33:21 -04:00
kj
97c7ea774b Reorder config and php-doc-block shortcut now works only on php-mode. 2022-05-07 14:21:20 -04:00
kj
87c61ac6e9 Fix origami-toggle-all-nodes shortcut. 2022-05-07 14:20:41 -04:00
kj
e7750197c9 Update readme.md 2022-05-07 11:32:39 -04:00
kj
19750d202d Fix indentation in org files. 2022-05-06 19:56:31 -04:00
kj
9166630294 Configure Agenda dashboard. 2022-05-06 18:37:31 -04:00
kj
d1c00e505c Add rust lang. 2022-05-06 17:29:24 -04:00
kj
9cddf59c1d Improve yasnippets and enable yas-minor-mode on html-mode. 2022-05-06 16:07:54 -04:00
kj
0aed1d01a2 Fix autostart of smoothscrolling-mode. 2022-05-06 12:36:46 -04:00
kj
d39a050a04 Add org-roam. 2022-05-05 20:04:23 -04:00
kj
38b36468f8 Add comments to base-functions.el. 2022-05-05 02:08:01 -04:00
kj
aced36ad35 Refining org config. 2022-05-05 01:59:45 -04:00
kj
7b0757f128 Start emacs maximized. 2022-05-05 01:47:17 -04:00
kj
0522d5085f Show recent files on startup dashboard. 2022-05-05 01:46:16 -04:00
kj
0e48c679ef Fix error of recompiling (native comp) every emacs startup. 2022-05-04 00:12:32 -04:00
kj
fe386ce0d8 Move al keybindings to base-keys. 2022-05-03 23:55:00 -04:00
kj
25e4d3ec05 Update readme.md 2022-05-03 23:54:22 -04:00
kj
52f8c664e6 Improve emacs startup. 2022-05-03 23:25:07 -04:00
kj
b4e1c001ab Add shortcuts to origami (code folding). 2022-05-03 23:24:33 -04:00
kj
1678f7b283 Add some prettify changes to org-mode. 2022-05-03 23:23:46 -04:00
kj
5536818ec3 Move org config to 'org-config.el' file. 2022-04-21 13:45:31 -04:00
kj
9125667700 remove all evil and treemacs related. 2022-04-13 00:44:58 -04:00
kj
6598b63079 set font height. 2022-04-13 00:41:13 -04:00
kj
b7bd232410 update gitignore. 2022-04-12 23:39:48 -04:00
291 changed files with 475 additions and 2434 deletions

7
.gitignore vendored
View File

@ -4,5 +4,8 @@ eln-cache
private/.*
private/cache
bookmarks
.lsp-session-v1
projectile-bookmarks.eld
.lsp-session*
projectile-bookmarks.eld
.org-id-locations
org-roam.db
lsp-cache/

View File

@ -7,356 +7,65 @@
;;; Code:
(setq evil-want-keybinding nil)
;; use-package - No necesita presentación
(use-package use-package
;; Iconos principalmente para ser usados por neotree
(use-package all-the-icons :defer t)
;; Iconos en Ivy (allthe icons)
(use-package all-the-icons-ivy-rich
:defer t
:ensure t
:init
(all-the-icons-ivy-rich-mode 1)
:config
(setq use-package-always-ensure t) ; auto-instalar extenciones que no lo estén
)
(setq all-the-icons-ivy-rich-color-icon t))
;; Reemplazar y buscar mejorado
(use-package anzu
:ensure t
:config
(global-anzu-mode +1)
(global-set-key [remap query-replace] 'anzu-query-replace)
(global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp))
;; Auto-actualizar los paquetes
(use-package auto-package-update
:defer t
:custom
(auto-package-update-interval 7)
(auto-package-update-prompt-before-update t)
(auto-package-update-hide-results t)
:config
(auto-package-update-maybe)
(auto-package-update-at-time "06:00")
:init
(setq
auto-package-update-last-update-day-filename
(expand-file-name ".last-package-update-day" private-dir)))
;; Iconos principalmente para ser usados por neotree
(use-package all-the-icons :defer t)
;; Terminal
(use-package vterm :ensure t :defer t)
;; Multiple vterm
(use-package multi-vterm :ensure t :defer t)
;; Highlight en los números.
(use-package highlight-numbers
:defer t
:ensure t
:hook
(prog-mode . highlight-numbers-mode))
;; Mover líneas o regiones
(use-package drag-stuff
:config
(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)
:config
(progn
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-deferred-git-apply-delay 0.5
treemacs-directory-name-transformer #'identity
treemacs-display-in-side-window t
treemacs-eldoc-display 'simple
treemacs-file-event-delay 5000
treemacs-file-extension-regex treemacs-last-period-regex-value
treemacs-file-follow-delay 0.2
treemacs-file-name-transformer #'identity
treemacs-follow-after-init t
treemacs-expand-after-init t
treemacs-find-workspace-method 'find-for-file-or-pick-first
treemacs-git-command-pipe ""
treemacs-goto-tag-strategy 'refetch-index
treemacs-indentation 2
treemacs-indentation-string " "
treemacs-is-never-other-window nil
treemacs-max-git-entries 5000
treemacs-missing-project-action 'ask
treemacs-move-forward-on-expand nil
treemacs-no-png-images nil
treemacs-no-delete-other-windows t
treemacs-project-follow-cleanup nil
treemacs-persist-file (expand-file-name "cache/treemacs-persist" private-dir)
treemacs-position 'left
treemacs-read-string-input 'from-child-frame
treemacs-recenter-distance 0.1
treemacs-recenter-after-file-follow nil
treemacs-recenter-after-tag-follow nil
treemacs-recenter-after-project-jump 'always
treemacs-recenter-after-project-expand 'on-distance
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
treemacs-show-cursor nil
treemacs-show-hidden-files t
treemacs-silent-filewatch nil
treemacs-silent-refresh nil
treemacs-sorting 'alphabetic-asc
treemacs-select-when-already-in-treemacs 'move-back
treemacs-space-between-root-nodes t
treemacs-tag-follow-cleanup t
treemacs-tag-follow-delay 1.5
treemacs-text-scale nil
treemacs-user-mode-line-format nil
treemacs-user-header-line-format nil
treemacs-wide-toggle-width 70
treemacs-width 35
treemacs-width-increment 1
treemacs-width-is-initially-locked t
treemacs-workspace-switch-cleanup nil)
;; The default width and height of the icons is 22 pixels. If you are
;; using a Hi-DPI display, uncomment this to double the icon size.
;;(treemacs-resize-icons 44)
(treemacs-follow-mode t)
(treemacs-filewatch-mode t)
(treemacs-fringe-indicator-mode 'always)
(pcase (cons (not (null (executable-find "git")))
(not (null treemacs-python-executable)))
(`(t . t)
(treemacs-git-mode 'deferred))
(`(t . _)
(treemacs-git-mode 'simple)))
(treemacs-hide-gitignored-files-mode nil))
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("<f9>" . treemacs)
("<f8>" . treemacs-display-current-project-exclusively)
("<f7>" . treemacs-add-and-display-current-project)
("C-x t d" . treemacs-select-directory)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-evil
:defer t
:after (treemacs evil)
:ensure t
:config
;; Atajos de tecla con leader key de evil-mode.
(evil-set-leader 'treemacs (kbd "SPC"))
(evil-define-key 'treemacs 'global (kbd "<leader>b") 'ivy-switch-buffer)
(evil-define-key 'treemacs 'global (kbd "<leader>v") 'counsel-projectile)
(evil-define-key 'treemacs 'global (kbd "<leader>p") 'counsel-projectile)
(evil-define-key 'treemacs 'global (kbd "<leader>cp") 'treemacs-projectile)
(evil-define-key 'treemacs 'global (kbd "<leader>d") 'treemacs-remove-project-from-workspace))
(use-package treemacs-projectile
:defer t
:after (treemacs projectile)
:ensure t)
(use-package treemacs-icons-dired
:defer t
:hook (dired-mode . treemacs-icons-dired-enable-once)
:ensure t)
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
:defer t
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
:ensure t
:config (treemacs-set-scope-type 'Perspectives))
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
:defer t
:after (treemacs)
:ensure t
:config (treemacs-set-scope-type 'Tabs))
;; Code Folding
(use-package origami
:defer t
:config
(global-origami-mode))
(expand-file-name ".last-package-update-day" private-dir))
(setq use-package-always-ensure t)
(auto-package-update-maybe))
;; Automcompletado
(use-package company
:defer t
:bind (:map company-active-map
("<tab>" . company-indent-or-complete-common)) ; autocompletar con tab como se haría en bash-competition en la terminal de linux
(:map company-active-map
("<escape>" . company-abort)) ; cerrar las sugerencias de autocompletado precionando escape.
:config
:init
(global-company-mode)
:config
(setq company-dabbrev-downcase nil) ; autocompletado case-sensitive.
(setq company-idle-delay 0) ; mostrar autocompletado lo más rápido posible
(setq company-minimum-prefix-length 1) ; mostrar autocompletado desde que se coloca la primera letra.
(setq company-backends '((company-files :with company-yasnippet)
(company-capf :with company-yasnippet)
(company-dabbrev-code company-gtags company-etags company-keywords :with company-yasnippet)
(company-dabbrev :with company-yasnippet)))
(setq company-backends '((company-capf :with company-yasnippet)
(company-files :with company-yasnippet)
(company-dabbrev-code company-ctags company-keywords :with company-yasnippet)
(company-dabbrev :with company-yasnippet)))
)
;; Hacer que el autocompletado se vea más bonito con íconos
(use-package company-box
:defer t
:hook (company-mode . company-box-mode))
;; Usar autocompletado con ctags y company
(use-package company-ctags :defer t)
;; Poner la info acerca del autocompletado del autocompletado mas rápido
(use-package company-quickhelp
:defer t
@ -365,40 +74,64 @@
(company-quickhelp-delay 2)
(company-quickhelp-mode))
;; Hacer que el autocompletado se vea más bonito con íconos
(use-package company-box
;; Autocompletado para shell scripting.
(use-package company-shell
:defer t
:hook (company-mode . company-box-mode))
;; Usar autocompletado con ctags y company
(use-package company-ctags
:config
(add-to-list 'company-backends '(company-ctags))
(add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell))
)
;; Snippets
(use-package yasnippet
;; Autocompletado para el minibuffer (counsel e ivy)
(use-package counsel :defer t)
;; Autocompletado de proyectos en counsel (projectile)
(use-package counsel-projectile
:defer t
:config
(counsel-projectile-mode))
;; Un bonito y sencillo panel de inicio
(use-package dashboard
:defer t
:init
(dashboard-setup-startup-hook)
:config
(setq dashboard-set-file-icons t)
(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
(setq dashboard-startup-banner
(expand-file-name "duck-small.png" user-emacs-directory))
(setq dashboard-items '(
(agenda . 10)
;;(recents . 10)
))
)
;; Mover líneas o regiones
(use-package drag-stuff
:defer t
:init
(drag-stuff-global-mode 1)
:config
(drag-stuff-define-keys))
;; La línea bonita esa de abajo
(use-package doom-modeline
:defer t
:ensure t
:custom
(yas-prompt-functions '(yas-completing-prompt))
:init (doom-modeline-mode 1)
:config
(yas-reload-all)
:hook
((prog-mode feature-mode) . yas-minor-mode))
(setq doom-modeline-project-detection 'auto
doom-modeline-buffer-file-name-style 'relative-from-project
doom-modeline-major-mode-color-icon t
doom-modeline-buffer-modification-icon t
doom-modeline-indent-info nil
doom-modeline-persp-name t))
;; Restaurar el estado de los frames
(use-package winner
:init
(winner-mode 1))
(use-package lsp-mode
;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás)
(use-package emmet-mode
:defer t
:hook (js-mode . lsp-deferred)
:custom
(lsp-headerline-breadcrumb-enable nil))
(use-package lsp-ui)
:hook (html-mode . emmet-mode))
;; Revisar sintaxis en vivo
(use-package flycheck
@ -412,43 +145,66 @@
:defer t
:hook (flycheck-mode . flycheck-popup-tip-mode))
;; Un bonito y sencillo panel de inicio
(use-package dashboard
:config
(setq dashboard-set-file-icons t)
(setq dashboard-startup-banner
(expand-file-name "duck-small.png" user-emacs-directory))
(setq dashboard-items '(
;;(recents . 5)
;;(projects . 5)
))
(dashboard-setup-startup-hook)
)
;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit.
(use-package git-gutter
:defer t
:init
(global-git-gutter-mode +1))
;; Autocompletado para shell scripting.
(use-package company-shell
;; Highlight en los números.
(use-package highlight-numbers
:defer t
:ensure t
:hook
(prog-mode . highlight-numbers-mode))
;; Mostrar info del panel inferior de otra manera
(use-package ivy
:defer t
:config
(add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell))
(ivy-mode 1)
(setq ivy-use-virtual-buffers nil)
)
;; Autocompletado para el minibuffer (counsel e ivy)
(use-package counsel
(use-package ivy-rich
:defer t
:bind
("M-x" . counsel-M-x)
("C-x C-m" . counsel-M-x)
("C-x C-f" . counsel-find-file)
("C-x c k" . counsel-yank-pop))
:ensure t
:config
(ivy-rich-mode 1))
;; Languaje server protocol
(use-package lsp-mode
:defer t
:custom
(lsp-headerline-breadcrumb-enable nil)
:config
(setq lsp-completion-provider :none))
;; Interface para lsp
(use-package lsp-ui :defer t)
;; Magia para git
(use-package magit :defer t)
;; Modo markdown
(use-package markdown-mode :defer t)
;; Multiple vterm
(use-package multi-vterm :ensure t :defer t)
;; Code Folding
(use-package origami
:defer t
:init
(global-origami-mode))
;; Paquete para manejo de proyectos
(use-package projectile
:defer t
:diminish projectile-mode
:config
(projectile-mode)
:custom ((projectile-completion-system 'ivy))
:bind-keymap
("C-c p" . projectile-command-map)
:init
;; Rutas de archivos temporales.
(setq projectile-cache-file (expand-file-name "projectile.cache" temp-dir))
@ -457,18 +213,10 @@
;; Carpetas donde tienes tus proyectos (deben tener un archivo .projectile o un repro git iniciado).
(when (file-directory-p "~/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
projectile-project-search-path
'("~/Docker/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"))))
'("~/mnt/Nginx"))))
(setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto.
;; Cambiar el título de la ventana de emacs
@ -483,168 +231,74 @@
)
)
;; Autocompletado de proyectos en counsel (projectile)
(use-package counsel-projectile
;; Recentf - Guarda registro de los archivos abiertos recientemente
(use-package recentf
:defer t
:config
(global-set-key (kbd "C-x v") 'counsel-projectile)
(counsel-projectile-mode))
(setq recentf-save-file
(recentf-expand-file-name (concat temp-dir "/recentf")))
(recentf-mode 1))
;; Mostrar info del panel inferior de otra manera
(use-package ivy
;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir.
(use-package saveplace
:defer t
:bind
("C-x s" . swiper)
("C-x C-r" . ivy-resume)
("C-x b" . ivy-switch-buffer)
:init
(save-place-mode 1)
:config
(ivy-mode 1)
(setq ivy-use-virtual-buffers nil)
(define-key ivy-minibuffer-map (kbd "TAB") 'ivy-partial)
(define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit)
)
;; Iconos en Ivy (allthe icons)
(use-package all-the-icons-ivy-rich
:ensure t
:init (all-the-icons-ivy-rich-mode 1)
:config
(setq all-the-icons-ivy-rich-color-icon t))
(use-package ivy-rich
:ensure t
:init (ivy-rich-mode 1))
;; Cuando iniicias un atajo de teclas te muestra las posibilidades
(use-package which-key
:config
(which-key-mode))
(setq save-place-file (locate-user-emacs-file (concat temp-dir "/places"))))
;; Autocompletado de parentesis, corchetes, llaves, etc.
(use-package smartparens
:config
:defer t
:init
(smartparens-global-mode t))
;; Org-Mode
(defun efs/org-font-setup ()
"ORG font faces setup."
;; Set faces for heading levels
(dolist (face '((org-level-1 . 1.2)
(org-level-2 . 1.1)
(org-level-3 . 1.05)
(org-level-4 . 1.0)
(org-level-5 . 1.1)
(org-level-6 . 1.1)
(org-level-7 . 1.1)
(org-level-8 . 1.1)))
(set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face)))
;; Ensure that anything that should be fixed-pitch in Org files appears that way
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch))
(defun efs/org-mode-setup ()
"Set some configs on 'org-mode'."
(display-line-numbers-mode 0)
(org-indent-mode)
(variable-pitch-mode 1)
(visual-line-mode 1)
(setq evil-auto-indent nil)
)
(use-package org
;; Mejorando el scroll
(use-package smooth-scrolling
:defer t
:pin org
:hook (org-mode . efs/org-mode-setup)
:init
(smooth-scrolling-mode 1)
:config
(setq org-ellipsis "")
(setq org-hide-emphasis-markers t)
(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)
)
(setq org-agenda-start-with-log-mode t)
(setq org-log-done 'time)
(setq org-log-into-drawer t)
;; use-package - No necesita presentación
(use-package use-package :defer t)
;; Terminal
(use-package vterm :ensure t :defer t)
;; Palabras claves del To Do de org-mode
(setq org-todo-keywords
;;'((sequence "☐" "✔" "⌛" "❌")))
'((sequence "TODO(t)" "DOING(n)" "WAITING(w)" "|" "DONE(d!)" "CANCELED(c!)")))
(setq org-todo-keyword-faces
'(("TODO" . "#ff6464")
("DOING" . "yellow")
("DONE" . "green")
("WAITING" . "orange")
("CANCELED" . "#aaa"))
)
;; Cuando iniicias un atajo de teclas te muestra las posibilidades
(use-package which-key
:defer t
:init
(which-key-mode))
;; Archivos a usarse en org-agenda
(setq org-agenda-files
'("~/Proyectos/ORGenda/Ideas.org"
"~/Proyectos/ORGenda/IdeasTwitch.org"
"~/Proyectos/ORGenda/Proyectos.org"
"~/Proyectos/ORGenda/Tareas.org")
)
;; Restaurar el estado de los frames
(use-package winner
:defer t
:init
(winner-mode 1))
;; Archivos entre los que se moverán las tareas
(setq org-refile-targets
'(("Archivo.org" :maxlevel . 1)
("Proyectos.org" :maxlevel . 1)
("IdeasTwitch.org" :maxlevel . 1)
("Ideas.org" :maxlevel . 1)
("Tareas.org" :maxlevel . 1)))
;; Guardar los archivos cuando se muevan tareas entre ellos
(advice-add 'org-refile :after 'org-save-all-org-buffers)
(setq org-capture-templates
`(("t" "Tareas / Projectos")
("tt" "Tareas" entry (file+olp "~/Proyectos/ORGenda/Tareas.org")
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
("tp" "Proyectos" entry (file+olp "~/Proyectos/ORGenda/Proyectos.org")
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
("i" "Ideas")
("ii" "Ideas General" entry
(file+olp "~/Proyectos/ORGenda/ideas.org")
"* TODO %?\n %a\n %i" :empty-lines 1)
("it" "Ideas Twitch" entry
(file+olp "~/Proyectos/ORGenda/IdeasTwitch.org")
"* TODO %?\n %a\n %i" :empty-lines 1)
)
)
(efs/org-font-setup))
(use-package org-superstar
;; Permitir snippets
(use-package yasnippet
:defer t
:ensure t
:custom
(yas-prompt-functions '(yas-completing-prompt))
:config
(yas-reload-all)
:hook
(org-mode . org-superstar-mode)
:config
(setq org-superstar-special-todo-items t)
)
((prog-mode feature-mode) . yas-minor-mode-on)
(html-mode . yas-minor-mode))
(defun efs/org-mode-visual-fill ()
"Visual mode fill columns."
(visual-fill-column-mode 1))
;; Coleción de snippets
(use-package yasnippet-snippets :ensure t :defer t)
(use-package visual-fill-column
:hook (org-mode . efs/org-mode-visual-fill)
:config
;; Tamaño de la columna
(setq visual-fill-column-width 150)
;; Centrar el texto
(setq-default visual-fill-column-center-text t)
)
;; Org-Mode
(require 'org-config)
(provide 'base-extensions)
;;; base-extensions.el ends here

View File

@ -1,4 +1,11 @@
(provide 'base-functions)
;;; base-functions.el --- Configuración de org-mode
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
;;; Code:
;; Buscar el texto actualmente seleccionado
(defun kj-isearch-with-region ()
@ -17,7 +24,7 @@
;; Generar archivo TAGS
(defun create-tags (dir-name)
"Create tags file."
"Create tags file in DIR-NAME."
(interactive "DDirectory: ")
(shell-command
(format "cd '%s' && ctags -f TAGS -e -R --exclude=*.min.js"
@ -29,6 +36,7 @@
;; Hacer emacs transparente (no funciona perfecto, pero sirve)
(defun toggle-transparency ()
"Cambia la transparencia de Emacs (es un poco useless)."
(interactive)
(let ((alpha (frame-parameter nil 'alpha)))
(set-frame-parameter
@ -41,6 +49,9 @@
'(60 . 60) '(100 . 100)))))
(defun transparency (value)
"Sets the transparency of the frame window. 0=transparent/100=opaque"
"Set the transparency VALUE of the frame window. 0=transparent/100=opaque."
(interactive "nTransparency Value 0 - 100 opaque:")
(set-frame-parameter (selected-frame) 'alpha value))
(provide 'base-functions)
;;; base-functions.el ends here.

View File

@ -11,12 +11,13 @@
;;; Code:
(define-key minibuffer-local-map (kbd "<escape>")
'keyboard-escape-quit) ; Cancelar el minibuffer con un solo ESC.
(global-set-key (kbd "C-x C-z") nil) ; Unbind C-x C-z (don't minimize)
(global-set-key (kbd "C-a") 'mark-whole-buffer) ; Seleccionar todo con CTRL+A.
(global-set-key (kbd "C-z") 'undo) ; Unbind C-z y hacerlo funcionar para deshacer cambios
(global-set-key (kbd "C-S-z") 'undo-redo) ; Rehacer cambios con C-S-z
(global-set-key (kbd "C-S-a") 'mark-whole-buffer) ; Seleccionar todo con CTRL+SHIFT+a.
(global-set-key (kbd "M-c") 'comment-or-uncomment-region) ; Comentar/descomentar en lote
(global-set-key (kbd "C-x c c")
'comment-or-uncomment-region) ; Comentar/descomentar en lote
(global-set-key (kbd "C-<f6>") 'create-tags) ; Generar o Regeneral el archivo TAGS
@ -25,5 +26,59 @@
(global-set-key (kbd "C-c a") 'org-agenda) ; Abrir la agenda.
(global-set-key (kbd "C-c c") 'org-capture) ; Abrir la crear una entrada.
;; Cambios rápidos de major modes
(global-set-key (kbd "C-x m") nil) ; Unbind mail on C-x m
(global-set-key (kbd "C-x mh") 'html-mode)
(global-set-key (kbd "C-x mj") 'js-mode)
(global-set-key (kbd "C-x mp") 'php-mode)
;; Vterm
(global-set-key (kbd "C-x tt") 'multi-vterm-dedicated-toggle)
(global-set-key (kbd "C-x tf") 'multi-vterm)
(global-set-key (kbd "C-x tp") 'multi-vterm-project)
;; Atajos de windmove
(global-set-key (kbd "C-x <left>") 'windmove-left)
(global-set-key (kbd "C-x <right>") 'windmove-right)
(global-set-key (kbd "C-x <up>") 'windmove-up)
(global-set-key (kbd "C-x <down>") 'windmove-down)
;; Atajos para reemplazar (los por fedecto no van bien para el teclado en español)
(global-set-key (kbd "C-x /") 'query-replace-regexp)
(global-set-key (kbd "M-/") 'query-replace)
;; Atajo para origami-mode
(global-set-key (kbd "C-<tab>") 'origami-toggle-node)
(global-set-key (kbd "C-<iso-lefttab>") 'origami-toggle-all-nodes)
;; Atajo para counsel-proyectile
(global-set-key (kbd "C-x p") 'counsel-projectile)
;; Atajos de Ivy
(global-set-key (kbd "C-x s") 'swiper)
(global-set-key (kbd "C-x C-r") 'ivy-resume)
(global-set-key (kbd "C-x b") 'ivy-switch-buffer)
(global-set-key (kbd "C-x C-b") 'ivy-switch-buffer)
(define-key ivy-minibuffer-map (kbd "TAB") 'ivy-partial)
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit)
;; Atajos projectile
(global-set-key (kbd "C-c p") 'projectile-command-map)
;; Atajos counsel
(global-set-key (kbd "M-x") 'counsel-M-x)
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
(global-set-key (kbd "M-y") 'counsel-yank-pop)
(define-key company-active-map (kbd "<tab>") 'company-indent-or-complete-common) ; autocompletar con tab como se haría en bash-competition en la terminal de linux
(define-key company-active-map (kbd "<escape>") 'company-abort) ; cerrar las sugerencias de autocompletado precionando escape.
;; Atajos org-roam
(global-set-key (kbd "C-c r i") 'org-roam-node-insert)
(global-set-key (kbd "C-c r f") 'org-roam-node-find)
(global-set-key (kbd "C-c r t") 'org-roam-buffer-toggle)
;; Meta atajos (atajos de atajos)
(global-set-key (kbd "C-c l d") "\C-a\C- \C-n\M-w\C-y") ; Duplicar línea
(provide 'base-keys)
;;; base-keys.el ends here

View File

@ -11,7 +11,8 @@
;;; Code:
;; The default is 800 kilobytes. Measured in bytes.
(setq gc-cons-threshold (* 50 1000 1000))
(setq gc-cons-threshold (* 50 1024 1024))
(setq read-process-output-max (* 1024 1024))
;; Native compilation
(when (and (fboundp 'native-comp-available-p)
@ -19,7 +20,6 @@
(progn
(setq native-comp-async-report-warnings-errors nil)
(setq comp-deferred-compilation t)
(add-to-list 'native-comp-eln-load-path (expand-file-name "private/cache/eln-cache/" user-emacs-directory))
(setq package-native-compile t)
))
@ -100,8 +100,9 @@
;; Configuración cuando es un server
(defun setup-daemon ()
"Carga la configuración del modo daemon."
(message "Corriendo en modo daemon.")
(set-face-attribute 'default nil :font "Fira Code Retina")
(set-face-attribute 'default nil :font "Fira Code Retina" :height 112)
;; Set the fixed pitch face
;;(set-face-attribute 'fixed-pitch nil :font "Fira Code Retina")
@ -115,11 +116,9 @@
;; Cerrar buffers al cerrar emacsclient
(add-hook 'delete-frame-functions
(lambda (frame)
(let* ((window (frame-selected-window frame))
(buffer (and window (window-buffer window))))
(when (and buffer (buffer-file-name buffer))
(kill-buffer buffer)))))
)
(mapc 'kill-buffer (delq (get-buffer "*dashboard*") (buffer-list)))
))
)
(if (daemonp)
(add-hook 'after-make-frame-functions
@ -128,6 +127,7 @@
(setup-daemon))))
(message "Corriendo en modo normal."))
;(add-hook 'window-setup-hook 'toggle-frame-maximized t)
(load custom-file)

View File

@ -12,14 +12,13 @@
(use-package php-mode
:defer t
:bind ("<C-tab>" . php-doc-block)
:config
(add-hook 'php-mode-hook #'(lambda()
(php-enable-default-coding-style)
(company-mode t) ; habilita company mode
(ac-php-core-eldoc-setup) ; habilita soporte para ELDoc
(add-to-list 'company-backends 'company-ac-php-backend) ; Agregar ac-php para a company
))
;; :bind ("C-c d b" . php-doc-block)
:hook (php-mode . (lambda ()
(local-set-key (kbd "C-c d b") 'php-doc-block) ;; atajo para docblock
(company-mode t) ; habilita company mode
(ac-php-core-eldoc-setup) ; habilita soporte para ELDoc
(add-to-list 'company-backends 'company-ac-php-backend) ; Agregar ac-php para a company
))
)
(use-package php-doc-block

26
configs/lang-rust.el Normal file
View File

@ -0,0 +1,26 @@
;;; lang-rust.el --- Configuración para el lenguaje PHP
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
;;; Code:
(use-package rust-mode
:defer t
:ensure t
:config
(setq rust-format-on-save t))
(use-package rustic
:defer t
:ensure t
:config
(setq rustic-lsp-server 'rls)
(setq rustic-lsp-client 'lsp)
;;(setq rustic-lsp-client nil)
(push 'rustic-clippy flycheck-checkers))
(provide 'lang-rust)
;;; lang-rust.el ends here

163
configs/org-config.el Normal file
View File

@ -0,0 +1,163 @@
;;; org-config.el --- Configuración de org-mode
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
;;; Code:
(defun kj/org-hook ()
"Configuración para el hook de 'org-mode'."
(display-line-numbers-mode 0)
(variable-pitch-mode 1)
(visual-line-mode 1)
(visual-fill-column-mode 1)
;; Configuración de fonts
;; (set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face))
;; Ensure that anything that should be fixed-pitch in Org files appears that way
(set-face-attribute 'org-hide nil :inherit 'fixed-pitch)
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
;; Tachar los elementos "DONE"
(set-face-attribute 'org-done nil :strike-through t)
(set-face-attribute 'org-headline-done nil
:strike-through t
:foreground "light gray")
)
(use-package org
:defer t
:pin org
:hook
(org-mode . kj/org-hook)
:config
(setq company-dabbrev-ignore-case nil) ; Hacer el autocompletado case-sensitive.
(setq org-ellipsis "")
(setq org-hide-emphasis-markers t)
(setq org-startup-folded 'content)
(setq org-agenda-start-with-log-mode t)
(setq org-log-done 'time)
(setq org-log-into-drawer t)
(setq org-cycle-separator-lines 2)
;; Identación
(setq org-startup-indented t)
(setq org-src-preserve-indentation nil)
(setq org-edit-src-content-indentation 0)
(setq org-src-tab-acts-natively t)
;; Palabras claves del To Do de org-mode
(setq org-todo-keywords
;;'((sequence "☐" "✔" "⌛" "❌")))
'((sequence "TODO(t)" "DOING(n)" "WAITING(w)" "|" "DONE(d!)" "CANCELED(c!)")))
(setq org-todo-keyword-faces
'(("TODO" . "#ff6464")
("DOING" . "yellow")
("DONE" . "green")
("WAITING" . "orange")
("CANCELED" . "#aaa"))
)
;; Embellecer los checkbox
;; (add-hook 'org-mode-hook (lambda ()
;; "Beautify Org Checkbox Symbol"
;; (push '("[ ]" . "☐") prettify-symbols-alist)
;; (push '("[X]" . "☑" ) prettify-symbols-alist)
;; (push '("[-]" . "❍" ) prettify-symbols-alist)
;; (prettify-symbols-mode)))
;; Tachar los checkbox marcados como terminados
(defface org-checkbox-done-text
'((t (:foreground "#71696A" :strike-through t)))
"Face for the text part of a checked org-mode checkbox.")
(font-lock-add-keywords
'org-mode
`(("^[ \t]*\\(?:[-+*]\\|[0-9]+[).]\\)[ \t]+\\(\\(?:\\[@\\(?:start:\\)?[0-9]+\\][ \t]*\\)?\\[\\(?:X\\|\\([0-9]+\\)/\\2\\)\\][^\n]*\n\\)"
1 'org-checkbox-done-text prepend))
'append)
;; Archivos a usarse en org-agenda
(setq org-agenda-files
'("~/Documentos/ORG/Agenda/Ideas.org"
"~/Documentos/ORG/Agenda/IdeasTwitch.org"
"~/Documentos/ORG/Agenda/Proyectos.org"
"~/Documentos/ORG/Agenda/Tareas.org")
)
;; Archivos entre los que se moverán las tareas
(setq org-refile-targets
'(("Archivo.org" :maxlevel . 1)
("Proyectos.org" :maxlevel . 1)
("IdeasTwitch.org" :maxlevel . 1)
("Ideas.org" :maxlevel . 1)
("Tareas.org" :maxlevel . 1)))
;; Guardar los archivos cuando se muevan tareas entre ellos
(advice-add 'org-refile :after 'org-save-all-org-buffers)
(setq org-capture-templates
`(("t" "Tareas / Projectos")
("tt" "Tareas" entry (file+olp "~/Documentos/ORG/Agenda/Tareas.org")
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
("tp" "Proyectos" entry (file+olp "~/Documentos/ORG/Agenda/Proyectos.org")
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
("i" "Ideas")
("ii" "Ideas General" entry
(file+olp "~/Documentos/ORG/Agenda/ideas.org")
"* TODO %?\n %a\n %i" :empty-lines 1)
("it" "Ideas Twitch" entry
(file+olp "~/Documentos/ORG/Agenda/IdeasTwitch.org")
"* TODO %?\n %a\n %i" :empty-lines 1)
)
)
)
(use-package org-bullets
:defer t
:hook
(org-mode . org-bullets-mode))
(use-package visual-fill-column
:config
;; Tamaño de la columna
(setq-default visual-fill-column-width 150)
;; Centrar el texto
(setq-default visual-fill-column-center-text t)
)
(use-package org-roam
:defer t
:ensure t
:init
(setq org-roam-v2-ack t)
(setq org-roam-completion-system 'ivy)
:custom
(org-roam-directory "~/Documentos/ORG/Notas")
(org-roam-completion-everywhere t)
:config
(org-roam-setup))
(use-package org-roam-ui
:defer t
:ensure t
:config
(setq org-roam-ui-sync-theme t
org-roam-ui-follow t
org-roam-ui-update-on-save t
org-roam-ui-open-on-start t))
(provide 'org-config)
;;; org-config.el ends here

View File

@ -19,6 +19,7 @@
(require 'lang-php)
(require 'lang-js)
(require 'lang-go)
(require 'lang-rust)
(provide 'init)
;;; init.el ends here

View File

@ -18,9 +18,18 @@ Al igual que la versión anterior, puede ser necesario ejecutar el siguiente com
Y eso sería todo.
## Dependencias espefícicas
Algunos lenguajes, ya sea para hacer uso de flycheck, lsp o autocompletado, pueden requerir que instales algunas cosas en específico.
- *Javascript*: Necesita de al menos [deno](https://deno.land/) para LSP y [node](https://nodejs.org/es/) para flycheck, aunque creo que con deno puede bastar para ambos.
- *PHP*: Requiere instalar php-cli (`apt install php-cli`) para flycheck.
- *GO*: Necesita etener instalado [go](https://go.dev/) para linter (gofmt) y [gopls](https://github.com/golang/tools/tree/master/gopls) para LSP.
- *Rust*: Necesita clippy para flycheck y LSP. Pare este útimo igual es posible usar [rust-analyzer](https://rust-analyzer.github.io).
## Usar el modo daemon
El modo daemon permite a emacs cargar mucho más rápido, puesto que con ello evitas volver a cargar la configuración cada vez que abres un nuevo archivo. Si quieres aprender mas sobre esto, puedes revisarlo en la [dococumentación de emacs](https://www.emacswiki.org/emacs/EmacsAsDaemon).
El modo daemon permite a emacs cargar mucho más rápido, puesto que con ello evitas volver a cargar la configuración cada vez que abres un nuevo archivo. Si quieres aprender mas sobre esto, puedes revisarlo en la [documentación de emacs](https://www.emacswiki.org/emacs/EmacsAsDaemon).
Para iniciar el daemon, puedes hacerlo desde la terminal ejecutando:
@ -41,7 +50,6 @@ Finalmente, para abrirlo, es necesaria la usar `emacsclient` en lugar de `emacs`
## Consideraciones
- Toda la configuración la he realizado en los archivos que están en los archivos de la carpeta config, el archivo `init.el` solo los llama y no guarda nada más aparte de eso.
- Puede tener activado `evil-mode` (A veces lo activo, pues quiero terminar usándolo siempre), por lo que si no lo quieres tener, recomiendo comentar la línea que lo activa (`(evil-mode 1)`) o directamente toda la sección en `base-extensions.el` que cofigura evil.
- Se puede activar/desactivar `cua-mode` (`configs/base.el`, línea 49) activado para poder copiar, cortar, pegar y deshacer cambios con las combinaciones típicas en lugar de las de emacs.
- Con F9 puedes abrir y cerrar neotree.
- Con C-F11 puedes maximizar/restaurar.

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: @import
# key: imp
# uuid: imp
# --
@import "`(doom-snippets-text nil t)`$0";

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: @import url("//fonts.googleapis...")
# key: impfont
# uuid: impfont
# --
@import url("http://fonts.googleapis.com/css?family=${1:Open+Sans}");

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: @import url(...)
# key: impurl
# uuid: impurl
# --
@import url("`(doom-snippets-text nil t)`$0");

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: margin: ...;
# key: mar
# uuid: mar
# --
margin: ${1:0 auto};

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: @media
# key: med
# uuid: med
# --
@media ${1:screen} {
`%`$0
}

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: @media (orientation: ?)
# condition: (looking-back "@media " (line-beginning-position))
# --
(orientation: ${1:landscape})

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: @media print { ... }
# --
@media print {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: padding: ...;
# key: pad
# uuid: pad
# --
padding: ${1:10px};

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: ...: ...;
# key: :
# uuid: :
# --
${1:prop}: ${2:`%`};

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: append
# --
${1:type} = append($1, ${2:elems})

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: ... := ...
# key: :=
# uuid: :=
# --
${1:x} := ${2:`%`}

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# contributor: Seong Yong-ju
# name: const ... = ...
# --
const ${1:name}${2: type} = ${3:value}$0

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: ctx context.Context
# --
ctx context.Context

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func ...(...) ... { ... }
# --
func ${1:name}(${2:args})${3: return type} {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func (target) name(args) (results) { ... }
# --
func (${1:target}) ${2:name}(${3:args})${4: return type} {
$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: for ... { ... }
# --
for $1 {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: for key, value := range ... { ... }
# --
for ${1:key}, ${2:value} := range ${3:target} {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: for key, value := range ... { ... }
# --
for ${1:key}, ${2:value} := range ${3:target} {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: for i := 0; i < n; i++ { ... }
# --
for ${1:i} := ${2:0}; $1 < ${3:10}; $1++ {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: for ... { ... }
# --
for $1 {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func ...(...) ... { ... }
# --
func ${1:name}(${2:args})${3: return type} {
`%`$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: go
# --
go ${1:func}(${2:args})$0

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: go func
# --
go func (${1:args}) {
$0
}(${2:values})

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: go func (short)
# --
go func (${1:args}) {
$0
}(${2:values})

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# contributor: Seong Yong-ju
# name: if ... { ... }
# --
if ${1:condition} {
`%`$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# contributor: Seong Yong-ju
# name: if ... { ... } else { ... }
# --
if ${1:condition} {
`%`$2
} else {
$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: if err != nil { ... }
# --
if err != nil {
`%`$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: import
# --
import ${1:package}$0

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: import
# --
import ${1:package}$0

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: type ... interface { ... }
# --
type $1 interface {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func main() { ... }
# --
func main() {
$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: map
# --
map[${1:KeyType}]${2:ValueType}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func (target) name(args) (results) { ... }
# --
func (${1:target}) ${2:name}(${3:args})${4: return type} {
$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: package
# --
package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: package (short)
# --
package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: printf
# --
fmt.Printf("$1\n"${2:, ${3:str}})

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: printf
# --
fmt.Printf("$1\n"${2:, ${3:str}})

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: println
# --
fmt.Println("${1:msg}")$0

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: println (short)
# --
fmt.Println("${1:msg}")$0

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# name: select
# --
select {
case ${1:cond}:
$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: type ... struct { ... }
# --
type $1 struct {
`%`$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: switch
# key: switch
# uuid: switch
# --
switch {
case ${1:cond}:
$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: func Test...() { ... }
# --
func Test${1:Name}(${2:t *testing.T}) {
`%`$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: var
# --
var ${1:name} ${2:type} = ${3:value}$0

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name : for ... { ... }
# --
for $1 {
`%`$0
}

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: http request writer
# --
w http.ResponseWriter, r *http.Request

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
# name: <dd> ... </dd>
# group: list
# --
<dd>$1</dd>

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
# name: <dl> ... </dl>
# group: list
# --
<dl>
$0
</dl>

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: Doctype HTML 5
# group: meta
# --
<!DOCTYPE html>

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: DocType XHTML 1.0 frameset
# group: meta
# --
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: DocType XHTML 1.1
# group: meta
# --
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: DocType XHTML 1.0 Strict
# group: meta
# --
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: DocType XHTML 1.0 Transitional
# group: meta
# --
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
# name: <dt> ... </dt>
# group: list
# --
<dt>$1</dt>

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <form method="..." id="..." action="..."></form>
# --
<form method="$1" id="$2" action="$3">
$0
</form>

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <html>...</html>
# --
<html>
$0
</html>

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <html xmlns="...">...</html>
# --
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${1:en}" lang="${2:en}">
$0
</html>

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: <link rel="stylesheet" ... />
# key: link
# uuid: link
# --
<link rel="${1:stylesheet}" href="${2:url}" type="${3:text/css}" media="${4:screen}" />

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: <!--[if IE]><link stylesheet="..." /><![endif]-->
# --
<!--[if IE${1: version}]>
<link rel="${2:stylesheet}" href="${3:url}" type="${4:text/css}" media="${5:screen}" />
<![endif]-->

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: <a href="mailto:...@...">...</a>
# --
<a href="mailto:${1:john@doe.com}">`(doom-snippets-format "%n%s%n")`$0</a>

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# contributor : Jimmy Wu <frozenthrone88@gmail.com>
# group: meta
# name: <meta name="..." content="..." />
# --
<meta name="${1:generator}" content="${2:content}" />

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <meta http-equiv="..." content="..." />
# group: meta
# --
<meta name="${1:Content-Type}" content="${2:text/html; charset=UTF-8}" />

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: <script type="text/javascript">...</script>
# --
<script type="text/javascript">
$0
</script>

View File

@ -1,4 +0,0 @@
# -*- mode: snippet -*-
# name: <script type="text/javascript" src="..."></script>
# --
<script type="text/javascript" src="$1"></script>

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <textarea ...></textarea>
# --
<textarea name="$1" id="$2" rows="$3" cols="$4" tabindex="$5"></textarea>

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
# name: <th>...</th>
# group: table
# --
<th$1>$2</th>

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# name: param
# key: @param
# uuid: @param
# condition: (sp-point-in-comment)
# --
@param ${1:paramater} $0

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# name: return
# key: @return
# uuid: @return
# condition: (sp-point-in-comment)
# --
@return ${1:description}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: apr_assert
# key: apr_assert
# uuid: apr_assert
# --
if (Globals.useAssertions) {
${1:assert ..};
}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: class
# key: class
# uuid: class
# --
${1:public }class ${2:`(f-base buffer-file-name)`} {
$0
}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: constructor
# key: __init__
# uuid: __init__
# --
public ${1:`(f-base buffer-file-name)`}($2) {
$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: doc
# key: /*
# uuid: /*
# condition: (not (use-region-p))
# --
/**
* $0
*/

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: equals
# key: eq
# uuid: eq
# --
public boolean equals(${1:Class} other) {
$0
}

View File

@ -1,10 +0,0 @@
# -*- mode: snippet -*-
# name: file_class
# key: file
# uuid: file
# --
public class ${1:`(file-name-base
(or (buffer-file-name)
(buffer-name)))`} {
$0
}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: for
# key: for
# uuid: for
# --
for (${1:int i = 0}; ${2:i < N}; ${3:i++}) {
`%`$0
}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: foreach
# key: fore
# uuid: fore
# --
for (${1:Object} ${2:var} : ${3:iterator}) {
$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: if
# key: if
# uuid: if
# condition: (not (sp-point-in-string-or-comment))
# --
if (${1:true}) {
$0
}

View File

@ -1,10 +0,0 @@
# -*- mode: snippet -*-
# name: ife
# key: ife
# uuid: ife
# --
if (${1:true}) {
`%`$2
} else {
$0
}

View File

@ -1,5 +0,0 @@
# -*- mode: snippet -*-
# name: import
# --
import ${1:System.};
$0

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: interface
# key: interface
# uuid: interface
# --
interface ${1:`(f-base buffer-file-name)`} {
$0
}

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: iterator
# key: iterator
# uuid: iterator
# --
public Iterator<${1:type}> iterator() {
$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: javadoc
# key: doc
# uuid: doc
# --
/**
* $0
*
*/

View File

@ -1,8 +0,0 @@
# -*- mode: snippet -*-
# name: main
# key: main
# uuid: main
# --
public static void main(String[] args) {
$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: method
# key: method
# uuid: method
# condition: (not (sp-point-in-string-or-comment))
# --
${1:void} ${2:name}($3) {
$0
}

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: @Override method
# key: method@
# uuid: method@
# condition: (not (sp-point-in-string-or-comment))
# --
@Override ${1:public} ${2:void} ${3:methodName}($4) {
$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: new
# key: new
# uuid: new
# --
${1:Type} ${2:obj} = new ${3:$1}($4);$0

View File

@ -1,9 +0,0 @@
# -*- mode: snippet -*-
# name: paintComponent (Swing)
# key: paintComponent
# uuid: paintComponent
# condition: (not (sp-point-in-string-or-comment))
# --
@Override public void paintComponent(Graphics g) {
`%`$0
}

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: printf
# key: printf
# uuid: printf
# --
System.out.printf("`%`$0%n");

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: println
# key: println
# uuid: println
# --
System.out.println("`%`$0");

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# name: private
# key: pri
# uuid: pri
# --
private $0

Some files were not shown because too many files have changed in this diff Show More