Editado readme y reordenado el archivo de configuración.

This commit is contained in:
kj 2020-08-06 03:50:33 -04:00
parent ad181e1ac1
commit 51ea88a12b
2 changed files with 39 additions and 37 deletions

66
init.el
View File

@ -87,18 +87,23 @@
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
) )
;Configuraciones varias
(menu-bar-mode 0) ;Quitar menús (menu-bar-mode 0) ;Quitar menús
(tool-bar-mode 0) ;Quitar toolbar (tool-bar-mode 0) ;Quitar toolbar
(global-display-line-numbers-mode) ;Mostar número de línea (global-display-line-numbers-mode) ;Mostar número de línea
(setq auto-save-default nil) ;Deshabilitar #backups# de buffer (setq auto-save-default nil) ;Deshabilitar #backups# de buffer
(setq make-backup-files nil) ;Deshabilitar ~backups (setq make-backup-files nil) ;Deshabilitar ~backups
(global-auto-complete-mode 1) ;Activar auto-completar por defecto (global-auto-complete-mode 1) ;Activar auto-completar por defecto
(ac-config-default) (ac-config-default) ;Carcar configuración de auto-complete (no recuerdo bien que era esto, puedes revisar la dumentación)
(toggle-scroll-bar -1) ;Eliminar barra de desplazamiento
(show-paren-mode 1) ;Habilitar resaltado de brackets
(cua-mode t) ;Usar CTRL+X, CTRL+C, CTRL+V y CTRL+Z para cortar, copiar, pegar y deshacer (cua-mode t) ;Usar CTRL+X, CTRL+C, CTRL+V y CTRL+Z para cortar, copiar, pegar y deshacer
(setq-default cursor-in-non-selected-windows nil) ;Desaparecer el cursor en frames no activos (setq-default cursor-in-non-selected-windows nil) ;Desaparecer el cursor en frames no activos
;(global-set-key (kbd "TAB") 'tab-to-tab-stop) ;n tab = 2 espacio (global-git-gutter-mode +1) ;Git gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit
;(global-set-key "\t" (lambda () (interactive) (insert-char 32 2))) ; Un tab = 2 espacios (powerline-default-theme); Habilitar powerline (esa línea bonita de abajo del editor)
;Desabilitar tabs y usar 2 espacios en su lugar
(setq-default indent-tabs-mode nil) ;Cambiar tabs por espacios
(setq-default tab-width 2) (setq-default tab-width 2)
(setq tab-width 2 (setq tab-width 2
c-basic-offset 2 c-basic-offset 2
@ -108,17 +113,34 @@
css-indent-offset 2) css-indent-offset 2)
(c-set-offset 'case-label 2) (c-set-offset 'case-label 2)
(c-set-offset 'statement-case-intro 2) (c-set-offset 'statement-case-intro 2)
(setq-default indent-tabs-mode nil) ;Desabilitar tabs y usar espacios (require 'web-mode)
(setq web-mode-css-indent-offset 2
web-mode-code-indent-offset 2
web-mode-sql-indent-offset 2
web-mode-script-padding 2
web-mode-markup-indent-offset 2)
(require 'php-mode)
(add-hook 'php-mode-hook #'(lambda()
(php-enable-default-coding-style)
(setq c-basic-offset 2) ; Cambio los tabs por 2 espacios (PSR recomienda 4, pero editores como atom y VScode al momento de que configuro esto usan 2 y prefiero mantener esa compatibilidad entre editores)
))
(setq backward-delete-char-untabify-method 'hungry) ;Eliminar los falsos tabs con un solo delete (setq backward-delete-char-untabify-method 'hungry) ;Eliminar los falsos tabs con un solo delete
;Atajos de teclas
(global-set-key (kbd "C-a") 'mark-whole-buffer); Seleccionar todo con CTRL+a (global-set-key (kbd "C-a") 'mark-whole-buffer); Seleccionar todo con CTRL+a
(global-set-key [f9] 'neotree-toggle) ;Abrir/Cerrar neotree
(global-set-key (kbd "C-<f9>") 'shell) ;Abrir terminal (global-set-key (kbd "C-<f9>") 'shell) ;Abrir terminal
(toggle-scroll-bar -1) ;Eliminar barra de desplazamiento ;Cursores múltiples
(show-paren-mode 1) ;Habilitar resaltado de brackets (require 'multiple-cursors)
(global-set-key (kbd "C-d") 'mc/edit-lines) ;Cursor en todas las lineas seleccionadas
(global-set-key (kbd "C->") 'mc/mark-next-like-this) ;Cursor en siguiente como el actual seleccionado
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this) ;Cursor en anteriores como el actual seleccionado
(global-set-key (kbd "C-S-d") 'mc/mark-all-like-this) ;Cursor en todos como el actual selecionado
(global-set-key (kbd "C-S-<mouse-1>") 'mc/add-cursor-on-click) ;Añadir cursor con clics (Shift+CTRL+Clic)
;Neotree con iconitos y con tamaño dinámico y sin número de líneas ;Neotree con iconitos y con tamaño dinámico y sin número de líneas
(require 'all-the-icons) (require 'all-the-icons)
(require 'neotree) (require 'neotree)
(global-set-key [f9] 'neotree-toggle)
(setq neo-theme (if (display-graphic-p) 'icons 'all-the-icons)) (setq neo-theme (if (display-graphic-p) 'icons 'all-the-icons))
(setq neo-window-fixed-size nil) (setq neo-window-fixed-size nil)
(setq-default neo-show-hidden-files t) (setq-default neo-show-hidden-files t)
@ -126,25 +148,7 @@
(display-line-numbers-mode -1)) (display-line-numbers-mode -1))
(add-hook 'neo-after-create-hook 'my/disable-line-numbers) (add-hook 'neo-after-create-hook 'my/disable-line-numbers)
;Git gutter - Marca si ;Cambiar de major-mode en un archivo que tiene php, html, css y js a la vez según el fracmento de código donde pones el cursor.
(global-git-gutter-mode +1)
;Cursoles múltiples
(require 'multiple-cursors)
(global-set-key (kbd "C-d") 'mc/edit-lines) ;Editar todas las lineas seleccionadas
(global-set-key (kbd "C->") 'mc/mark-next-like-this) ;Selecionar siguiente como el actual
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this) ;Seleccionar anteriores como el actual
(global-set-key (kbd "C-S-d") 'mc/mark-all-like-this) ;Seleccionar todos como el actual
(global-set-key (kbd "C-S-<mouse-1>") 'mc/add-cursor-on-click) ;Añadir cursor con clics (Shift+CTRL+Clic)
(require 'web-mode)
(setq web-mode-css-indent-offset 2
web-mode-code-indent-offset 2
web-mode-sql-indent-offset 2
web-mode-script-padding 2
web-mode-markup-indent-offset 2)
; Cambiar de modos en un archivo que tiene php, html, css y js a la vez.
(require 'multi-web-mode) (require 'multi-web-mode)
(setq mweb-default-major-mode 'web-mode) (setq mweb-default-major-mode 'web-mode)
(setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>") (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
@ -163,11 +167,5 @@
(auto-complete-mode) (auto-complete-mode)
)) ))
(powerline-default-theme); Habilitar powerline (esa línea bonita de abajo del editor)
(require 'php-mode)
(add-hook 'php-mode-hook #'(lambda()
(php-enable-default-coding-style)
(setq c-basic-offset 2) ; Cambio los tabs por 2 espacios (PSR recomienda 4, pero editores como atom y VScode al momento de que configuro esto usan 2 y prefiero mantener esa compatibilidad entre editores)
; (web-mode) ;Pongo PHP siempre en webmode en caso de tener php-mode
))

View File

@ -1,6 +1,6 @@
# Configuración inicial de emacs # Configuración inicial de emacs
Esta configuración la he hecho para mi uso personal. Previamente he estado probando vim y si bien me gustó, la curva de aprendizaje me pareció demasido alta desde el principio, mientras que emacs tiene a su favor el que la curva inicial es batante baja: Un theme, un par de configuraciones a gusto y puedo usarlo casi de la misma manera que otros editores a los que estoy ya acostumbrado. Esta configuración la he hecho para mi uso personal. Previamente he estado probando vim y si bien me gustó, la curva de aprendizaje me pareció demasiado alta desde el principio (para acostumbrarse al modo de uso, más que nada), mientras que emacs tiene a su favor el que la curva inicial es batante baja: Un theme, un par de configuraciones a gusto y puedo usarlo casi de la misma manera que otros editores a los que estoy ya acostumbrado.
Otra cosa que me ha hecho decidirme por emacs es [spacemacs](https://www.spacemacs.org/), ya que entre ver la personalización y que luego puedo tener todo prácticamente lo que vim y emacs me ofrecen en el mismo editor. Otra cosa que me ha hecho decidirme por emacs es [spacemacs](https://www.spacemacs.org/), ya que entre ver la personalización y que luego puedo tener todo prácticamente lo que vim y emacs me ofrecen en el mismo editor.
@ -10,7 +10,7 @@ Si deseas clonar mi configuración, puedes clonar este repositorio:
`git clone https://git.kj2.me/kj/confi-emacs-inicial.git ~/.emacs.d` `git clone https://git.kj2.me/kj/confi-emacs-inicial.git ~/.emacs.d`
Finalmente, teniendo emacs adentro, si es que quieres que neotree te muestre unos íconos bonitos, debes precionar ALT+M e ingresar este comando en el minibúfer: Finalmente, teniendo emacs abierto, para que quieres que neotree te muestre unos íconos bonitos, debes presionar ALT+M e ingresar este comando en el minibúfer:
`all-the-icons-install-fonts` `all-the-icons-install-fonts`
@ -18,4 +18,8 @@ Y eso sería todo.
## Consideraciones ## Consideraciones
Esta configuración está hecha a mi medida, usos y juicio, pero el init.el lo he procurado comentar bastante para que sea sencillo entenderlo y que lo reedites a tu gusto. - Esta configuración está hecha a mi medida, usos y juicio, pero el init.el lo he procurado comentar bastante para que sea sencillo entenderlo y que lo edites a tu gusto.
- Toda la configuración la he realizado en el archivo `init.el`.
- Con F9 puedes abrir y cerrar neotree (puedes cambiarlo en la configuración).
- Igual hay otros atajos configurados por mi, como CTRL+A para seleccionar todo o CTRL+F9 para abrir una terminal. De todos modos es mejor que mires la configuración y personalices tus atajos como mejor veas.
- Por defecto he configurado que al presionar TAB se usen 2 espacios en su lugar para PHP y otros lenguajes (para mantener el mismo espaciado que en Atom o VSCode), aunque el PSR2 de php suele recomendar reemplazar TAB por 4 espacios (quizá esto si te interese cambiarlo).