clase-02.org 8.2 KB

Materiales

Material del curso
https://notabug.org/dlmayhem/emacs-hss.git
Mi config personal
https://notabug.org/dlmayhem/terror-emacs.git

Contenidos

  • Dired
  • ELPA/MELPA
  • Modo Org

Repaso

ATAJO ACCIÓN COMANDO
C-x C-f Crear/abrir archivo find-file
C-x C-s Guardar archivo save-buffer
C-x C-w Guardar como write-file
C-x C-c Cerrar Emacs save-buffers-kill-terminal

El editor de directorios

ATAJO ACCIÓN COMANDO
C-x d RET Iniciar dired dired
n Avanzar al archivo siguiente dired-next-line
p Retroceder al archivo anterior dired-previous-line
+ Crear nuevo directorio dired-create-directory
i Mostrar contenido en la misma ventana dired-maybe-insert-subdir
C Copiar archivo a dired-do-copy
R Renombrar/mover archivo a dired-do-rename
D Borrar archivo dired-do-delete
d Seleccionar archivo para borrar dired-flag-file-deletion
x Ejecutar borrado de selección dired-do-flagged-delete
M chmod dired-do-chmod
O chown dired-do-chown

Gestión de paquetes

Los repositorios elpa, melpa y nongnu

(require 'package) (setq package-archives '(("melpa" . "https://melpa.org/packages/") ("nongnu" . "https://elpa.nongnu.org/nongnu/") ("elpa" . "https://elpa.gnu.org/packages/"))) (package-initialize) (unless package-archive-contents (package-refresh-contents))

El framework use-package

(unless (package-installed-p 'use-package) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t)

Si conocemos el nombre del paquete

  • Instalar el paquete ejemplo ::
  • =M-x package-install ejemplo=
  • Desinstalar el paquete ejemplo ::
  • =M-x package-delete ejemplo=
  • Eliminar dependencias innecesarias ::
  • =M-x package-autoremove=

Si queremos ver la lista de paquetes

  • Ver los paquetes disponibles ::
  • =M-x list-packages=
  • Búsqueda incremental ::
  • | ATAJO | ACCIÓN | COMANDO | |-------+----------------+------------------| | C-s | Hacia adelante | isearch-forward | | C-r | Hacia atrás | isearch-backward |
  • Seleccionar para instalación ::
  • =i=
  • Ejecutar instalación ::
  • =x=

El framework use-package

La instrucción normal

(require ejemplo)

Con use-package

(use-package ejemplo :config instrucción-uno instrucción-dos)

Ejemplo de uso

(use-package magit :bind ("C-x g" . magit-status))

Ya que estamos...

Embark

(use-package embark :ensure t :bind (("C-." . embark-act) ("C-;" . embark-dwim) ("C-h B" . embark-bindings)) :init (setq prefix-help-command #'embark-prefix-help-command) :config (add-to-list 'display-buffer-alist '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*" nil (window-parameters (mode-line-format . none)))))

Corfu

(use-package corfu :custom (corfu-auto t) (corfu-quit-no-match t) (corfu-separator ?\s) :init (global-corfu-mode))

(use-package corfu-terminal :config (unless (display-graphic-p) (corfu-terminal-mode +1)))

PDF Tools

(use-package pdf-tools :defer t)

(pdf-loader-install)

(use-package pdf-view-restore :after pdf-tools :config (add-hook 'pdf-view-mode-hook 'pdf-view-restore-mode))

Elfeed

(use-package elfeed :no-require t :bind ("C-x w" . elfeed))

(use-package elfeed-org :ensure t :after elfeed :config (elfeed-org) (setq rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org")))

AUCTeX

(use-package latex :ensure auctex :defer t :custom (TeX-source-correlate-mode t) (TeX-source-correlate-start-server t) :config (setq TeX-view-program-selection '((output-pdf "PDF Tools"))) (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer))

Markdown Mode

(use-package markdown-mode :ensure t :commands (markdown-mode gfm-mode) :mode (("README\\.md\\'" . gfm-mode) ("\\.md\\'" . markdown-mode) ("\\.markdown\\'" . markdown-mode)))

Modos mayores y menores

Mayores

  • Configuraciones predeterminadas de Emacs.
  • Incluyen sus propias características y atajos.
  • Existen modos mayores para C, Python, LaTeX, Java, Prolog, etc.
  • Los modos mayores son incompatibles entre si.

Menores

  • Proporcionan ciertas utilidades específicas.
  • Son compatibles entre si y con los modos mayores.

Modo Org

  • Modo mayor de Emacs.
  • Entorno de cómputo multilenguaje para programación literaria y reproducibilidad.
  • Creado por Carsten Dominik.
  • Software libre bajo GPLv3.

Configuración básica

(use-package org :commands (org-capture org-agenda) :bind (("C-c l" . org-store-link) ("C-c a" . org-agenda) ("C-c c" . org-capture)) :config (setq org-agenda-files '("~/.emacs.d/agenda.org") org-ellipsis " ▾" org-footnote-auto-adjust t org-return-follows-link t org-log-done 'time org-capture-bookmark nil org-html-validation-link nil org-startup-indented t org-startup-folded nil))

Recursos

Lectura recomendada

Documentación

En YouTube

Paquetes utilizados

Próxima clase

  • Org Agenda.
  • Manejo de citas bibliográficas.
  • Presentaciones en Emacs.

¡Gracias por asistir!