Table of Contents

1 Instalar Emacs in linux mint 17.2

Documentacion ingles: https://www.gnu.org/software/emacs/manual/ Documentacion español: https://www.nongnu.org/emacs-man-es/index_toc.html#SEC_Contents

https://www.addictivetips.com/ubuntu-linux-tips/install-the-emacs-text-editor-on-linux/

Voy a instalar la version GUI pero voy a instalar desde la pagina : https://community.linuxmint.com/software/view/emacs desde alli esta instalando emacs24 listo

Información variada y útil de emacs https://davidam9.wordpress.com/category/emacs/

2 #####CREAR UNA MACRO:

Para inicar a grabar una macro: presiona C-x ( ó con la Tecla F3 y empieza a grabar tu macro.

cuando termines escribe

C-x ) ó F4 para finalizar de grabar la macro.

3 #### Para USAR LA MACRO

Oprime C-x e. Este comando ejecuta la ultima macro que definiste

4 #### DARLE NOMBRE A LA MACRO

Teclea M-x name-last-kbd-macro

dale un nombre corto. por ejemplo: versos

ya puedes ejecutar la macro tecleando M-x versos

5 #### GRABANDO UNA MACRO PARA FUTURAS SESIONES

M-x insert-kbd-macro te pregunta el nombre de tu macro. se lo das y te escribira el codigo de tu macro que empieza con (fset 'versos "macro")

ahora copia ese codigo e insertalo en tu archivo .emacs. Ahora podrás usar la macro en futuras sesiones de Emacs.

el archivo .emacs está en $HOME/.emacs en emacs24 si no aparece puede crear uno o usar init.el que suele estar en $HOME/.emacs.d/init.el que es el archivo de configuracion que se utiliza mas recientemente

https://kb.iu.edu/d/aaxw

MACROS CREADAS POR MI M-x versos – Hace espaciado organiza archivo abierto de versos M-x tg2w – Convierte los ** dobles a * simples y los __ dobles a _ simple

6 #### INSTALAR MELPA

MELPA es un repositorio de paquetes compatible con ELPA que contiene una enorme número de paquetes útiles de Emacs. En contraste a ELPA, Emacs no está configurado de fábrica para instalar paquetes desde MELPA. Tendrás que configurar Emacs para usarlo.

6.1 Comenzando

Para agregar MELPA a tu package-archives, pon esto en tu archivo init:

(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))

Si prefiere versiones que han sido marcadas para liberación por sus mantenedores, puedes usar esto en su lugar:

(require 'package) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/"))

Después, puedes usar 'M-x package-list-packages' e instalar nuevas cosas a tu gusto.

7 #### Leer ePUBs desde Emacs

https://depp.brause.cc/nov.el/ nov mode funciona en L5 así. Abre el archivo .epub activa nov mode M-x nov-mode

Navegación: SPC - scroll n - next chapter p - previous chapter m - metadata del epub < - beginning of buffer > - end of buffer

F1 m - keybinds

8 ##### ELMACRO.EL. CONVIERTE KEYBOARD MACROS A ELISP #####

M-x package-list-packages y buscar elmacro.el

Para usarlo hay que grabar una macro ejemplo: F3 C-e M-b M-u C-a C-n F4

luego M-x elmacro-show-last-macro y un nombre para la macro, produce un buffer con (defun upcase-last-word () "Change me!" (interactive) (move-end-of-line 1) (backward-word 1) (upcase-word 1) (move-beginning-of-line 1) (next-line 1 1)) 18

The elmacro package lets you view the last recorded macro as proper Emacs Lisp with M-x elmacro-show-last-macro. Fuente: https://emacs.stackexchange.com/questions/70/how-to-save-a-keyboard-macro-as-a-lisp-function

###################################################################### Tue Sep 14 18:32:04 -04 2021

9 DESHACER EN EMACS

C-x C-u Para deshacer una vez C-/ para deshacer multiples veces No funciona en emacs 24.3.1. Si en emacs 27.2 C-x u C-x z z z z z funciona en 24.3.1 y 27.2

https://stackoverflow.com/questions/15228883/is-fast-repeated-undo-possible-in-emacs ###################################################################### mié 24 nov 2021 17:53:17 -03

10 COMENTARIOS EN ELISP

Se recomienda usar ';' Comentarios que comienzan con un solo punto y coma ';', deben todos estar alineados en la misma columna a la derecha del código fuente. Tales comentarios usualmente explican cómo el código en esa linea hace su trabajo.

Ejemplo: base-version-list ; There was a base (assoc (substring fn 0 start-vn) ; version to which file-version-assoc-list)) ; this looks like ; a subversion.

https://emacsdocs.org/docs/elisp/Comment-Tips

11 PONER MARCA - AGREGAR UNA FRASE AL INICIO DE CADA LINEA DE UN ARCHIVO DE TEXTO

Para poner una marca se usa C-@ ó C-SPC ó C-x C-x

Estos marcan el inicio y activan la selección Ahora mueve el cursor hasta el punto donde quieres terminar la selección

Luego teclea C-x r t y escribe lo que quieras que aparezca al inicio. Cuando termines oprime RET. Y listo!

############################################################

12 CONVERTIR 2 LISTAS DE 1 COLUMNA EN 1 LISTA DE 2 COLUMNAS

Primero selecciona la lista que quieras que quede en la columna derecha y luego haz ‘C-x r M-w’ para grabar el texto de la region-rectangle como el last killed rectangle (‘copy-rectangle-as-kill’). Ahora ubica el point al lado derecho del primer articulo de la otra columna y pega el rectangulo con ‘C-x r y’ Yank the last killed rectangle con su la esquina superior izquierda en el point (‘yank-rectangle’). Y listo. ####OJO: Se copia un rectangulo por tanto la ultima linea debe tener el mismo numero de columnas de la linea mas larga. Si tiene menos saldra recortada. Para evitar eso por ahora manualmente busca cuantos caracteres tiene la linea mas larga y has una resta asi: LineamasLarga - CaracteresUltimaLinea : El resultado son los caracteres de espacio que debes agregar a la ultima linea del rectangulo para que salga completa. Cuando lo pegues tendras que eliminar cada espacio que se agrego en la(s) lineas que lo necesitaron.

####Tue 28 Dec 2021 12:14:46 PM -03

13 Leyendo PROGRAMACIÓN EN EMACS LISP. EN: https://www.davidam.com/docu/emacs-lisp-intro-es.html#Por-qu_00e9

Este mismo manual aqui se ve mejor: https://nasciiboy.github.io/book4all/elipo/emacs-lisp-intro_es.html

Emacs lisp estandar viene con un fichero opcional de extensiones, 'cl.el'. Este añade funcionalidades a Emacs lisp.

14 INDENTAR UN PARRAFO

Ejemplo. presionar M-C-\ al mismo tiempo identa una región. En mi caso indenta todo este archivo. Si quiero aplicar identación de 6 espacios a un segmento de texto, solo necesito seleccionar el texto y luego C-u 6 M-C-\ Probando en estas tres lineas. Funciona de perlas!.

'(dia tarde noche) '(and sometimes numbers) (esta lista incluye "texto entre comillas dobles.") (+ 2 (+ 3 3)) (+ 2 2) (concat "127.0.0.0 " "facebook.com") (substring "El rápido zorro marrón saltó." 10 15) (substring "The quick brown fox jumped." 16 19) (+ 2 fill-column) # suma 2 + el valor de fill-column (concat "Los " (number-to-string (+ 2 fill-column)) " zorros rojos.") #suma 2+ fill-column, convierte el resultado a cadena y lo concatena (message "This message appears in the echo area!") # muestra el mensaje en el area eco (message "Este búfer se llama: %s." (buffer-name)) # %s para string (message "Máximo número de columnas: %d" fill-column) # %d para numero entero (message "El vio %d %s" (- fill-column 32) (concat " "(substring "The quick brown foxes jumped." 16 21) " rojos saltando."))

Ejercicios: (fill-column) void (setq cont 0) (setq cont (+ 2 cont)) (message "hola %s Buenas noches" (buffer-name)) (buffer-name) (buffer-file-name) (other-buffer) (buffer-size) # el tamaño del buffer actual. (point) # La posición donde está el cursor en el buffer. Hasta aquí llegué leyendo el manual: Buffer Size and the Location Of Point

15 Escribir un mensaje en mini-buffer en emacs-lisp

(message "popup%s %s %s" PopupNum CitaB Cont) ; escribe "popup" y reemplaza las %s por el contenido de las strings PopupNum CitaB Cont)

16 crear un buffer y cerrar un buffer en emacs-lisp

(get-buffer-create "sisepudo") ; crea el buffer llamado sisepudo ((kill-buffer "sisepudo") ; lo elimina el buffer y de la memoria de emacs

17 escribir algo en el buffer "sisepudo"

(with-current-buffer "sisepudo" (insert "Contiene: " PopupNum CitaB Cont)) ;;

############################################# Thu 24 Feb 2022 05:45:00 PM -03

18 ELIMINAR ESPACIOS AL INICIO DE CADA LINEA DE TEXTO

Fuente: https://emacs.stackexchange.com/questions/45498/how-remove-whitespaces-in-the-beginning-of-lines

Go to the top of your buffer. Type C-M-% for query-replace-regexp. Input ^\s-+ as regular expression and RET. (See explanation below.) Leave the replacement string empty, i.e., press RET again. You are prompted by query-replace-regexp in the minibuffer. Press ! to perform all replacements at once.

Explanation of the regular expression:

The caret ^ stands for the beginning of line. The \s- stands for any character designated as space by the current modes syntax table. The + stands for one or more contiguous matches. ##################################################

19 ELIMINAR TODAS LAS LINEAS QUE COMIENCEN CON UN TEXTO ESPECÍFICO

por ejemplo las lineas que comiencen con https://telegra.ph

M-x flush-lines RET ^https://telegra.ph/ RET

y listo!

https://stackoverflow.com/questions/47561988/emacs-how-to-delete-a-line-starting-with-specific-text

#############################################

20 ORDENAR LINEAS DE UN TEXTO

M-sort-lines ########################################

21 ELIMINAR LINEAS DUPLICADAS

Seleccionar la región de texto donde quieres que se busque y eliminen las lineas repetidas.

M-x delete-duplicate-lines RET

https://stackoverflow.com/questions/13046791/how-to-delete-the-repeat-lines-in-emacs #################################################################

22 PONER TODO EL TEXTO EN MINUSCULAS

M-x downcase-word ó M-x downcase-region ############################################# Thu 21 Jul 2022 08:47:15 PM -03

23 SELECCIONAR TEXTO SIN USAR EL MOUSE

C-SPC y moverse con teclas hasta el sitio que deseamos marcar

############################################# Thu 28 Jul 2022 01:59:25 PM -03

24 INSTALAR TEXLIVE

guix install texlive The following package will be installed: texlive 20210325 3,533.8 MB will be downloaded

25 COMO ESCRIBIR LATEX EN EMACS

Escribe el documento .tex con sus códigos y lo compilas ejecutando C-c C-c te aparece command [pdflatex]: oprime RET y se genera el .pdf cierra el buffer abierto con C-x C-k y abre en un nuevo buffer el archivo pdf generado. Puedes pasar entre el PDF y su código tecleando C-c C-c

###########################################################

26 HOW TO MERGE 2 FILES IN ONE WITH EMACS?

I want to add different icon to the begining of every line in phrases file. How I do that in Emacs?

I have one icons file with this:

🍼 🥭 🥝 🍇 🧄 🥦 🌽 🍒 🍋 🥛

And the phrases file with this: EL SÁBADO ENSEÑ L7: Esperanza ind RESEÑA Texto clave: Roma Enfoque del estud Introducción: Como el Posm En tiempos d En primer luga En segundo lug

I want the merge file with this: 🍼 EL SÁBADO ENSE 🥭 L7: Esperanza i 🥝 RESEÑA 🍇 Texto clave: Ro 🧄 Enfoque del est 🥦 Introducción: 🌽 Como el Po 🍒 En tiempos 🍋 En primer lu 🥛 En segundo l

Nowadays I do this in linux shell with paste command

paste -d " " icons phrases > mergefile

https://stackoverflow.com/questions/16394176/how-to-merge-two-files-consistently-line-by-line

27 ========ESTO SE LOGRA CONVIRTIENDO 2 LISTAS DE 1 COLUMNA EN 1 LISTA DE 2 COLUMNAS LINEA 75

28 ############### ORDENAR PARRAFOS ALEATOREAMENTE ##############

Se agrega esta funcion:

Adapted from sort-paragraphs:

(defun sort-paragraphs-randomly (beg end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (point-min) (point-max)))) (save-excursion (save-restriction (narrow-to-region beg end) (goto-char (point-min)) (sort-subr nil (lambda () (while (and (not (eobp)) (looking-at paragraph-separate)) (forward-line 1))) 'forward-paragraph nil nil (lambda (_ _) (= (random 2) 0))))))

Luego se carga con C-x C-e en el ultimo parentesis del codigo. Ahora se selecciona el texto de los iconos de frutas.

se ejecuta M-x sort-paragraphs-randomly

y listo!. ####################

29 #######ESCRIBIR ACENTOS Y CARACTERES ESPECIALES#######

Con Input Methods.

Es la manera de introducir caractéres que no están soportados por tu teclado.

teclea C-\ por primera vez y te pregunta "Input method:" escribe tex y RET A partir de ahí al usar la \ tienes para poner acentos a las vocales con \'a y la ñ con \~n

C-x C-m C-\ ó M-x set-input-method para conmutar a un nuevo método de entrada.

C-h C-\ ó C-h I para describir el método de entrada actual.

C-\ para conmutar el método de entrada (Encender y Apagar) pero si es la primera vez que lo usas entonces sirve para introducir el nuevo método de entrada.

30 #MOSTRAR DE BIBLEGATEWAY UN VERSICULO BIBLICO EN LA VERSIÓN QUE ELIJAS

El siguiente código se escribe en scratch o guardalo con el nombre que quieras. Es de una funcion que se llamará vb de Verso Bíblico. ======================================

(defun vb (Cita BibVer) "Buscar Cita biblica en biblegateway" (interactive (list (read-string "Versículo bíblico: ") (read-string "Versión: "))) (browse-url-chromium (format "https://www.biblegateway.com/passage/?search=%s&version=%s&interface=print" Cita BibVer)))

====================================== Con C-x C-e cargas la función y con M-vb la ejecutas Te pregunta por el versículo y luego por la versión

Más información en: https://www.emacswiki.org/emacs/InputdMethods

#############################################

31 ####CAMBIAR EL COLOR DE TEXTO SELECCIONADO

poner esta linea en el archivo de configuracion de emacs:

(set-face-attribute 'region nil :background "#666")

o también modificar el color de texto ademas del color de fondo asi

(set-face-attribute 'region nil :background "#666" :foreground "#ffffff") El archivo de configuración de emacs puede estar en ~/.emacs ó en ~/.emacs.d/init.el ############################################# Thu 13 Oct 2022 07:41:10 PM -03

32 HACER ZOOM EN EMACS

C-x + Aumentar C-x - Disminuir ################################################## Fri 28 Oct 2022 02:21:43 PM -03

33 USANDO HTML MODE EN EMACS.

USANDO HTML MODE. C-c C-c # (ID Anchor) C-c C-c n (name Anchor) C-c C-c h (href Anchor) C-c C-c i (image) C-c C-c o (ordered list) C-c C-c u (unordered list) C-c C-c l (list item) C-c C-c c (check box) C-c C-c - (horizontal break) C-c C-c r (ratio button) C-c C-j (line break) C-c RET (paragraph) C-c 1 (heading 1) C-c 2 (heading 2) C-c 3 (heading 3) C-c 4 (heading 4) C-c 5 (heading 5) C-c 6 (heading 6) C-c C-o (insert tag) C-c C-a (insert attributes) C-c C-b (backward tag) C-c C-f (forward tag) C-c Backspace (delete tag) C-c ? (describe tag) C-c TAB (toggle tag visibility) M-o i (old school italic tag) M-o b (old school bold tag) M-o u (underline) C-c C-d (sgml-delete-tag) C-c C-e 2 (sgml-close-tag) C-c / (sgml-close-tag) C-c ] (sgml-close-tag) C-c C-d (sgml-delete-tag) C-M-i (ispell-complete-word) C-x C-; (comment lo que selecciones) C-c <left> (sgml-skip-tag-backward) C-c <right> (sgml-skip-tag-backward)

Fuente: https://y.com.sb/watch?v=CztlFGGRrpk

##################################################

34 PAGINA MODELO ADAPTABLE A CUALQUIER PANTALLA

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Esta es una pagina ejemplo de html."> <title>Ejemplo</title> <link rel="stylesheet" type="text/css" href="./style.css"> </head> <body> <header> <h1>Página modelo</h1> </header> <p> ESTA PAGINA MODELO SE PROPONE MOSTRAR CON EL CODIGO EN META PUEDE VERSE BIEN Y DE MANERA AJUSTABLE A CUALQUIER PANTALLA, SEA ESTA UNA PANTALLA DE PC, TABLET, O CELULAR. EL contenido se ajusta automáticamente y se puede ver bien independientemente del tamaño de la pantalla. Por ejemplo este párrafo se ve en 14" actualmente. Maximizado se hasta la columna 148. </body> </html>

############################################################

35 #### USAR IMPATIENT MODE ####

Fuente: https://y.com.sb/watch?v=mnfPRLlsXqU Sirve para ver en vivo los cambios que haces en un html en el navegador Requiere: descargar e instalar de melpa, -impatient mode -httpd-start

######################################################################

36 HACER UNA PAGINA WEB EN ORG-MODE

Hay mucho material pero: PONER ENCABEZADO: (eliminar los ' al inicio para que funcione) '#+TITLE: ÉL MURIÓ POR NOSOTROS '#+AUTHOR: Tony '#+EXPORTFILENAME: /tmp/Elmuriopornosotros.html '#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup '#+OPTIONS: num:nil

Grabar el archivo como .org los links se insertan con C-c C-l (poner link y descripcion) cursiva negrita las fotos en la web simplemente agregar el enlace pelado 685dd7e818e2a8d820768.png y las fotos en el almacenamiento local agregan con doble corchete L4ElDiluvio.png Se exporta el HTML con C-c C-e h h

  • * Los encabezados comienzan con asterisco

Para comentar una linea agregar asi:

#Este no es un comentario

o también determinar un bloque como comentario se hace asi:

#################################################################

37 BUSCAR Y REEMPLAZAR UNA CADENA DE TEXTO EN MAS DE UN ARCHIVO

Fuente: https://www.gnu.org/software/emacs/manual/html_node/efaq/Replacing-text-across-multiple-files.html

Entra en modo Dired (Mx dired RET, o C-x d) y le dices el directorio donde estan los archivos que quieres modificar

Luego debes marcar con usando m cada archivo a modificar, o usando t para marcar todos los archivos en el Dired resultante.

Luego usas M-x dired-do-find-regexp-and-replace (Q) para escribir la frase a buscar y luego escribir la nueva frase y enter si presionas Y cambiará cada uno de los archivos que contengan la frase. Luego tendras que grabar cada uno de ellos, Tecleando C-x C-c y respondiendo Y para guardar cada buffer modificado.

OJO: SI VAS A REEMPLAZAR CARACTERES ESPECIALES COMO estos tres : [ * ] necesitas anteponerles \ al buscarlos, y NO anteponerles \ en la frase nueva.

En general los caracteres especiales son $^.*+?[\

Mas info en: gnu.org/software/emacs/manual/htmlnode/emacs/Regexps.html

38 ######### BUSCAR UNA EXPRESIÓN REGULAR EN VARIOS ARCHIVOS DENTRO DE DIRED MODE #########

M-x dired en la carpeta donde están los archivos %g salmos [RET] esto marcará los archivos que contengan la palabra salmos.

39 #### ENCONTRAR LOS ARCHIVOS QUE CONTIENEN UNA FRASE ESPECIFICA ####

#EMACS #DIRED . find and grep from emacs https://irreal.org/blog/?p=10276

M-x find-grep-dired RET

Select the FOLDER where to search the PATRON and RET. You will have a buffer with all files containing PATRON in FOLDER.

Example: find string "Salmos 19" on Folder ~/gendoc

M-x find-grep-dired RET folder: ~/gendoc/ RET pattern: Salmos 19 RET

that's it!

40 #### Anteponer un <p> a cada superscript del texto ####

M-x query-replace-regexp [¹²³⁴⁵⁶⁷⁸⁹⁰] <p>\&

[¹²³⁴⁵⁶⁷⁸⁹⁰] buscará por un numero en superscript del 0-9 <p>\& Le antepone <p> y escribe el mismo número que apareció.

41 #### Convertir un digito en superscript ####

Fuente: https://irreal.org/blog/?p=305

query-replace-regexp with a regular expression of \([0-9]\) and the replacement string \,(format "%c" (+ \#1 8320))

42 ############### ABRIR ARCHIVOS EXTERNAMENTE EN DIRED MODE #####

Usa ! mientras estás en dired mode para correr un comando shell sobre un archivo. ejemplo ! RET cvlc Abrir un video.mp4 con cvlc para consola.

43 #### SELECCIONAR ARCHIVOS POR PATRON EN DIRED ####

%m patron - ejemplo: %m vid selecciona todo archivo que contenga "vid" en su nombre %m ^IMG selecciona todo archivo que comience con IMG %m txt$ marca todo archivo que termine con "txt" %m ^test.*org$ marca archivos que empiezan con "test" y terminan en "org" %m [kxj] marca archivos que contengan letras k, x ó j %m [6-9] marca archivos que contengan digitos 6,7,8, o 9

https://pragmaticemacs.wordpress.com/2015/05/07/dired-marking-copying-moving-and-deleting-files/

############################################################

44 AGREGAR UN PIE DE PAGINA EN ORG MODE

C-c C-x f

######################################################

45 HACER UN SALTO DE LINEA EN ORG MODE

agregarle \\ al final de la linea. Ejemplo

Linea 1
Linea 2

############################################# Fri 16 Dec 2022 04:00:06 PM -03

46 CREAR UNA LINEA VACÍA PARA FIRMAR EN ORG-MODE

Envuelve la linea en signos de igual _____ o signos _____ Otra forma es usar LaTeX, ejemplo:

47 LIMPIAR EL CACHE DE TELEGA DESDE EMACS. código de null @Ox0NgSxIYT


(defun telega-cache-cleaner () (interactive) (let ((guardar '("db" "td" "telega-server" "telega-server.log"))) (mapc (lambda (archivo) (if (not (member (file-name-base archivo) guardar)) (delete-file archivo))) (directory-files-recursively "~/.telega" ".*")) (message "cache borrada")))


⟹ C-x C-e en el último paréntesis del código. {carga}

Ejecucion: M-x telega-cache-cleaner Archivo guardado en ~/scripts/telega-cache-cleaner.sh Ya haba hecho esto pero en bash, que informa los mb de datos borrados del cache: ~/scripts/tgcc.sh

##################################################

48 VER EL UNICODE DE UN CARACTER

Teclea M-describe-char con el cursor en el carácter del que quieres conocer su unicode.

PARA ESCRIBIR UN UNICODE teclear C-x 8 RET y el numero hexadecimal del unicode. Veamos algunos útiles ejemplos:

á C-x 8 RET e1 é C-x 8 RET e9 í C-x 8 RET ed ó C-x 8 RET f3 ú C-x 8 RET fa ñ C-x 8 RET f1 ¿ C-x 8 RET bf Á C-x 8 RET c1 É C-x 8 RET c9 Í C-x 8 RET cd Ó C-x 8 RET d3 Ú C-x 8 RET da Ñ C-x 8 RET d1 ☒ C-x 8 RET 2612 ■ C-x 8 RET 25a0 or C-x 8 RET BLACK SQUARE ⛶ C-x 8 RET SQUARE FOUR CORNERS 🞖 C-x 8 RET SQUARE TARGET ▤ C-x 8 RET SQUARE WITH HORIZONTAL FILL ⧠ C-x 8 RET SQUARE WITH CONTOURED OUTLINE ⟹ C-x 8 RET 27f9 … C-x 8 RET 2026 or C-x 8 RET HORIZONTAL ELLIPSIS

49 ####COMO ENUMERAR LAS LINEAS DE TEXTO SELECCIONADAS#####

C-u C-x r N RET DEL . SPC RET

50 #### Continuar numeración de lista después de un encabezado

https://emacs.stackexchange.com/questions/51050/org-mode-numbered-list-across-headings

It is possible to define the item number of any entry of a numbered list. For setting the item number to 3 one inserts [@3] between the item number and the item text. If you apply that syntax in your example you get:

51 Heading 1

  1. Item
  2. Item

52 Heading 2

  1. Item
  2. Item
  3. Item

53 #### VER LISTADO DE PAQUETES DE EMACS ####

M-x package-list-packages ó M-x list-packages

54 #### VER GIFS EN EMACS DIRED ####

Después de abrir la imagen Teclear M-x i-t-an RET (image-toggle-animation

55 #### VER IMAGENES EN EMACS DIRED ####

Abrir dired M-x dired M-x image-mode

puedes usar ahora n para ver la siguente imagen p para ver la imagen previa f para ver el siguiente frame b para ver el frame anterior

56 #### QUE SE VEAN LOS emoji iconos unicode glyphs ####

Funcionó así con emacs 27.2 en gnu guix. Agregar la siguiente linea en archivo $HOME/.emacs

(set-fontset-font t 'symbol "Noto Color Emoji" nil)

No sale en colores pero si se ven los iconos excepto los iconos de números 0 a 9, el 10 si aparece.

Otras posibles opciones: set-face-attribute 'default nil :family "Droid Sans Mono")

En emacs 27.1 que viene en pureOS 10 bullseye funciona con el primer comando y los iconos salen a colores

57 #### Usar text to speak desde Emacs ####

1- Instalas espeak : sudo apt get install espeak 2- instalas greader dentro de Emacs: – M-x package-list-packages -> Buscar Greader -> Install 3- activar greader para usar en Emacs> agregar esto en init.el o .emacs (require 'greader) 4- Usarlo Comandos:- Activar el modo greader => M-x greader-mode C-r SPC iniciar lectura del buffer a partir de donde se encuentra el puntero. SPC detener lectura C-r l cambiar lenguaje (es, en, pt..)

58 ########## ENCOGER UN BUFFER EN EMACS CUANDO ESTOY VIENDO DOS SIMULTANEAMENTE #########

C-x { encoge buffer horizontal Funciona en Emacs 27.1 pureOS C-x } alarga buffer horizontal C-x + balancea igual alto y ancho C-x - acorta ventana C-x ^ agranda el buffer activo vertical

Fuente: https://emacs.stackexchange.com/questions/582/how-to-change-size-of-split-screen-emacs-windows

59 #### ABRIR UN ENLACE WEB DESDE EMAC EN UN BUFFER CON EWW ####

Seleccionar el enlace y M-x ew-i RET

funciona abriendo el archivo desde dired o si el buffer no esta en modo org

60 ######### ABRIR EMACS EN LA LINEA DE COMANDOS SIN MODO GRAFICO #########

emacs -nw

61 ######### ABRIR EMACS SIN MOSTRAR LA PANTALLA DE INICIO SPLASH SCREEN ########

emacs –no-splash

62 ####### ABRIR ARCHIVO REMOTAMENTE #######

Usar C-x C-f para iniciar find-file, introducir la parte TRAMP (Transparently Accessing Remote Files) para el archivo en cuestion. Basta con escribir / y ssh: [TAB] Te mostrará opciones de acceder por sshx o ssh, elige ssh: y sigue las opciones incluyendo introducir la clave de acceso hasta llega al archivo en cuestion. Ej:

C-x C-f /ssh: [TAB] purism@ [TAB] 192.168.0.6 [TAB] Password: ** [TAB] Documents [TAB] DTG-Erratas.org [TAB] [RET]

63 ######### USAR SUPERSCRIPT Y SUBSCRIPT EN EMACS ORG MODE ########

https://orgmode.org/manual/Subscripts-and-Superscripts.html#Subscripts-and-Superscripts

‘^’ y ‘_’ se usan para indicar superíndice y subíndice. Para que el texto ASCII sea más legible, no es necesario, pero está bien, rodear los caracteres múltiples de superíndice o subíndice con corchetes {}. Por ejemplo:

El radio del sol es Rsun = 6.96 x 108 m. Por otro lado, el radio de Alpha Centauri es RAlpha Centauri = 1.28 x Rsol.

Nota que el guión bajo es precedido por un carácter de tamaño normal

Por ejemplo un número de página 92 entre corchetes se pone así:

[92]

Para activar/desactivar la visualización de superíndices y subíndices :

C-c C-x | *(org-toggle-pretty-entities)

Este comando formatea subíndices y superíndices visualmente.

64 ######### INSTALAR PDFLATEX PARA EXPORTAR .ORG A PDF ######

PdfLatex is a tool that converts Latex sources into PDF. This is specifically very important for researchers, as they use it to publish their findings. It could be installed very easily using Linux terminal, though this seems an annoying task on Windows. Installation commands are given below.

sudo apt-get install texlive-latex-base

The following additional packages will be installed: dvisvgm fonts-lmodern libkpathsea6 libptexenc1 libsynctex2 libteckit0 libtexlua53 libtexluajit2 libzzip-0-13 lmodern t1utils tex-common texlive-base texlive-binaries Suggested packages: debhelper xzdec texlive-latex-base-doc The following NEW packages will be installed: dvisvgm fonts-lmodern libptexenc1 libteckit0 libtexlua53 libtexluajit2 libzzip-0-13 lmodern t1utils tex-common texlive-base texlive-binaries texlive-latex-base The following packages will be upgraded: libkpathsea6 libsynctex2 2 upgraded, 13 newly installed, 0 to remove and 308 not upgraded. Need to get 48,4 MB of archives. After this operation, 159 MB of additional disk space will be used.

Listo!

Also install the recommended and extra fonts to avoid running into the error [1], when trying to use pdflatex on latex files with more fonts.

sudo apt-get install texlive-fonts-recommended

The following additional packages will be installed: fonts-texgyre tex-gyre tipa Suggested packages: texlive-fonts-recommended-doc The following NEW packages will be installed: fonts-texgyre tex-gyre texlive-fonts-recommended tipa 0 upgraded, 4 newly installed, 0 to remove and 308 not upgraded. Need to get 24,4 MB of archives. After this operation, 62,5 MB of additional disk space will be used.

sudo apt-get install texlive-fonts-extra

Install the extra packages, sudo apt-get install texlive-latex-extra

the following additional packages will be installed: javascript-common libapache-pom-java libcommons-logging-java libcommons-parent-java libfontbox-java libjs-jquery libpdfbox-java libruby2.7 preview-latex-style rake ruby ruby-minitest ruby-net-telnet ruby-power-assert ruby-rubygems ruby-test-unit ruby-xmlrpc ruby2.7 rubygems-integration texlive-latex-recommended texlive-pictures texlive-plain-generic

The following NEW packages will be installed: javascript-common libapache-pom-java libcommons-logging-java libcommons-parent-java libfontbox-java libjs-jquery libpdfbox-java libruby2.7 preview-latex-style rake ruby ruby-minitest ruby-net-telnet ruby-power-assert ruby-rubygems ruby-test-unit ruby-xmlrpc ruby2.7 rubygems-integration texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-plain-generic 0 upgraded, 23 newly installed, 0 to remove and 307 not upgraded. Need to get 73,5 MB of archives. After this operation, 234 MB of additional disk space will be used.

Once installed as above, you may be able to create PDF files from latex sources using PdfLatex as below.

pdflatex latex_source_name.tex

65 #### AGREGAR IMAGENES EN EMACS ORG MODE ####

agregar el path precedido por doble corchetes cuadrados y la palabra file:/ así:

[[file:/path/to/an/image.png]]

para se vea se puede hacer un suiche con C-c C-x C-v

66 #### COLOREAR TEXTO EN EMACS ORG MODE PARA EXPORTARLO A HTML ####

Se puede hacer enviando etiquetas HTML directo con el org mode según menciona en https://orgmode.org/manual/Quoting-HTML-tags.html

Una aplicación de esto se encuentra aquí: https://newbedev.com/changing-color-of-text-in-html-export-from-org-mode y lo hace usando una macro. Basicamente copias este código personalizando el texto y el color que quieres usar:

  • This is a test

This is a sample sentence in normal text color.

This is a sample sentence in red text color.

This is a sample sentence in green text color.

Tiene la limitación que el segundo argumento no debe contener comas , y tal vez otros caracteres especiales.

67 #### HACER TEXTO VERTICAL CON CSS EN ORG-MODE ####

Fuente: https://webdesign.tutsplus.com/the-easiest-way-to-create-vertical-text-with-css--net-15284t

Hay 9 métodos de hacerlo con CSS y el método 8 writing-mode fue el que utilicé

Básicamente hay que agregar lo siguiente en el archivo CSS

.vericaltext{ writing-mode: vertical-lr; text-orientation: mixed; }

y en el html agregar esto:

<p class="vericaltext"> VERTICAL TEXT </p>

donde VERTICAL TEXT es el rótulo que quiero en vertical

pero para que funcione en org-mode hay que meterle código html con una macro así:

ANALGESICOS . y . AINE

En este ejemplo el rótulo es ANALGESICOS . y . AINE

los puntos son para darle un espacio separador en la conjunción y.

68 #### QUITAR SANGRÍAS EN LINEA INICIAL DE CADA PÁRRAFO EN ORG MODE ####

69 #### REDUCIR ESPACIO VERTICAL ENTRE ITEMS DE UN LISTADO ####

70 #### Forzar una nueva pagina ORG-MODE latex

71 ### INSTALAR TELEGA 0.8.3 en Emacs 27.1 desde Melpa. ###

M-x package-list-packages buscar telega que está en melpa-stable y es version 0.8.3 actualmente. Toca donde dice Install y luego x para proceder

Packages to install: 1 (telega-0.8.3). Proceed? (y or n) y

Operation finished. Salir de emacs.

72 ### INSTALAR telega.el version 0.8.3 en emacs 27.1 usando melpa ###

M-x package-list-packages buscar telega y teclear i para instalar. Te pregunta si procede? responde y. Instalado.

en el init.el o .emacs file te agrega algo como :

(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/")) (add-to-list 'package-pinned-packages '(telega . "melpa-stable"))

Al iniciar telega con M-x telega te pregunta si quieres construir el servidor telega. dile Yes a ver qué pasa.

Arroja el siguiente error:

usr/bin/gmake -C server clean gmake[1]: Entering directory '/home/tonyp.emacs.d/elpa/telega-0.8.3/server' gmake[1]: Leaving directory 'home/tonyp.emacs.d/elpa/telega-0.8.3/server' usr/bin/gmake -C server install gmake[1]: Entering directory '/home/tonyp.emacs.d/elpa/telega-0.8.3/server' cc -I/usr/local/include -Wall -g -pthread -o telega-server telega-server.c telega-dat.c telega-pngext.c -L/usr/local/lib -Wl,-rpath,/usr/local/lib -ltdjson telega-server.c:30:10: fatal error: td/telegram/tdjsonclient.h: No such file or directory 30 | #include <td/telegram/tdjsonclient.h>

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. gmake[1]: * [Makefile:35: telega-server] Error 1 gmake[1]: Leaving directory 'home/tonyp.emacs.d/elpa/telega-0.8.3/server' gmake: * [Makefile:12: server-reinstall] Error 2

Evgeny Zajcev me responde: Install TDLib, if installed to custom path, don’t foregt to specify it with telega-server-libs-prefix https://t.me/emacs_telega/36503

Procedo a instalar telega desde git directamente https://zevlg.github.io/telega.el/#linux-users

$ git clone https://github.com/zevlg/telega.el

respuest de la terminal: Cloning into 'telega.el'… remote: Enumerating objects: 8233, done. remote: Counting objects: 100% (724/724), done. remote: Compressing objects: 100% (151/151), done. remote: Total 8233 (delta 596), reused 674 (delta 573), pack-reused 7509 Receiving objects: 100% (8233/8233), 5.69 MiB | 1.55 MiB/s, done. Resolving deltas: 100% (6239/6239), done.

Finally load telega into Emacs using: (use-package telega :load-path "~/telega.el" :commands (telega) :defer t)

Da error Symbol's function definition is void: use-package en home/tonyp.emacs.d/init.el. Eliminando las lineas.

Agrego estas lineas (add-to-list 'load-path "~/telega.el") (require 'telega)

*allí no me da error pero al iniciar M-x telega pregunta build telega-server? respondo no.

*Voy a instalar el telega-server con docker como dice en manual https://zevlg.github.io/telega.el/#building-tdlib

Running telega-server in docker Pull latest telega-server image: $ docker pull zevlg/telega-server:latest Make telega know you want to use docker by adding this to your init.el: (setq telega-use-docker t) That's it, you are ready to get starting. However, you might anyway need to have local ffmpeg installation to utilize some telega features, such as playing audio/voice messages, capturing video/voice notes, etc.

Se complica con el docker, me instaló wmdocker y no funciona igual.

73 Desinstalando telega.el

M-x package-delete telega-0.8.3 listo!

74 #### RENOMBRAR MUCHOS ARCHIVOS ####

-Abre dired (M-x dired - RET) en la carpeta con los archivos a renombrar -Entra al modo dired "editable" usando M-x wdired-change-to-wdired-mode -Edita los nombres de archivos como quieras. Puedes usar M-x replace-string en el búfer, y otras herramientas de edición de texto. -Los cambios no son en vivo, debes someter tus cambios con C-c C-c o abortar todos tus cambios con C-c ESC

75 #### Convertir texto separado por comas en una tabla ####

M-x org-table-convert-region en el texto seleccionado

76 ### Que aparezcan lineas cuadriculadas de una tabla ####

Agregar el estilo de tablas en LaTeX

antes de la tabla

77 #### No poner números de página al exportar PDF ####

78 #### Separar 1cm vertical el texto ####

79 # *Instalar ledger-mode para llevar cuenta de gastos ####

Una guia de ledger: https://notxor.nueva-actitud.org/blog/2018/10/30/ledger-cli-y-el-ledger-mode-de-emacs/

Primer hay que instalar ledger con sudo apt install ledger

y luego en emacs instalar el modo ledger

M-x package-install RET ledger-mode RET

Le configuro la moneda guarani

commodity Gs note Euros format Gs 1,000.00 default

80 #### REEMPLAZAR UNA CADENA DADA CON NÚMEROS INCREMENTALES ####

sáb 02 mar 2024 19:49:00 -03 Fuente: https://emacs.stackexchange.com/questions/37898/incrementally-replace-a-given-string

Dada una cadena de texto X quiero reemplazar la primera vez por 0, la segunda vez que aparece por 1 y así sucesivamente

M-x replace-regexp X RET \#

Dada una cadena de texto X quiero reemplazar la primera vez por 2, la segunda vez que aparece por 3 y así sucesivamente

M-x replace-regexp X RET \,(+ 2 \#)

puedes reemplazar M-x replace-regexp por C-M-%


81 #### Ver pdf, odt ods files

82 #### QUITAR TÍTULO Contents EN LOS .PDF GENERADOS A PARTIR DE ORG-MODE ####

https://notxor.nueva-actitud.org/2021/03/03/publicar-con-org-mode.html

Poner esto al inicio de archivo .org # #+OPTIONS: toc:nil num:nil \n:t *:t toc:nil no hace tabla de contenidos num:nil no enumera los encabezados \n:t preserva los saltos de linea al exportar el documento *:t activa la exportacion de negritas, cursiva, subrayado.

83 #### Quitar autor, fecha y título al exportar a pdf a partir de org-mode

84 #### PONER MARGENES EN ORG-MODE ####

85 ### CENTRAR TEXTO EN ORG-MODE ###

86 #### PRESENTAR Y PREPARAR DOCUMENTOS USANDO EMACS y SOFT LIBRE ####

https://emacsconf.org/2023/talks/uni/ EmacsConf/ 2023/ talks/ Authoring and presenting university courses with Emacs and a full libre software stack

Su hardware para presentar cursos en universidad y hacer documentos:

Tablet Surface con Linux en ella. Laptop. Desk mic: https://www.iptt.co.uk/desk-mic-interface/ https://bestofreviewgeeks.com/usb-desk-mic/ Lapel mic: https://www.ericsardinas.com/best-lapel-mic-for-preaching/ Stylus Camara Video converter Green Screen

Software Emacs (laptop) Firefox (laptop) VLC (laptop) Xournal++ (en la tablet) OBS Studio (laptop) Jitsi Meet for streaming (laptop)

Haciendo slides y handouts con org mode Mas en el enlace inicial.

87 Emacs Keyboard Shortcuts

https://www.maketecheasier.com/cheatsheet/emacs-keyboard-shortcuts/

Shortcut,Function General Emacs Controls C-g,Cancel or suspend a command C-g C-g C-g,Forcibly suspend a command. C-l,Refresh the current screen.

88 Create beautiful beamer slides with Emacs

89 ### SELECCIONAR MUCHOS ARCHIVOS A LA VEZ DIRED ###

https://www.gnu.org/software/emacs/manual/html_node/emacs/Flagging-Many-Files.html 31.4 Flagging Many Files at Once

The #, ~, ., % &, and % d commands flag many files for deletion, based on their file names:

Flag all auto-save files (files whose names start and end with ‘#’) for deletion (see Auto-Saving: Protection Against Disasters). ~

Flag all backup files (files whose names end with ‘~’) for deletion (see Backup Files). . (Period)

Flag excess numeric backup files for deletion. The oldest and newest few backup files of any one file are exempt; the middle ones are flagged. % &

Flag for deletion all files with certain kinds of names which suggest you could easily create those files again. % d regexp RET

Flag for deletion all files whose names match the regular expression regexp.

~ (dired-flag-backup-files) flags all files whose names say they are backup files—that is, files whose names end in ‘~’. See Backup Files.

. (period, dired-clean-directory) flags just some of the backup files for deletion: all but the oldest few and newest few backups of any one file. Normally, the number of newest versions kept for each file is given by the variable dired-kept-versions (not kept-new-versions; that applies only when saving). The number of oldest versions to keep is given by the variable kept-old-versions.

Period with a positive numeric argument, as in C-u 3 ., specifies the number of newest versions to keep, overriding dired-kept-versions. A negative numeric argument overrides kept-old-versions, using minus the value of the argument to specify the number of oldest versions of each file to keep.

% & (dired-flag-garbage-files) flags files whose names match the regular expression specified by the variable dired-garbage-files-regexp. By default, this matches certain files produced by TeX, ‘.bak’ files, and the ‘.orig’ and ‘.rej’ files produced by patch.

% d flags all files whose names match a specified regular expression (dired-flag-files-regexp). Only the non-directory part of the file name is used in matching. You can use ‘^’ and ‘$’ to anchor matches. You can exclude certain subdirectories from marking by hiding them while you use % d. See Hiding Subdirectories. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31.4 Marcar Muchos Archivos Simultáneamente Los comandos #, ~, ., % &, y % d marcan (seleccionan) muchos archivos para eliminar, basado en sus nombres de archivo:

Marca todos los archivos que se graban automáticamente (archivos cuyos nombres inician y terminan con '#') para eliminación (vea Grabación Automática: Protección Contra Desastres).

~ Marca todos los archivos de respaldo (backup) (archivos cuyos nombres terminan con '~') para eliminación (Vea Archivos de Respaldo).

. (Punto) Marca para eliminación los archivos de respaldo excesivos en número. Los archivos de respaldo mas antiguos y los mas nuevos de cualquier archivo están exentos; los del medio se marcan.

% & Marca para eliminación todos los archivos con cierta clase de nombres que sugieren que puedes crearlos de nuevo fácilmente.

% d regexp RET Marca para eliminación todos los archivos cuyos nombres concuerdan con la expresión regular regexp.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

90 Formularios y datos con forms-mode de Emacs

https://notxor.nueva-actitud.org/blog/2020/06/23/formularios-y-datos-con-forms-mode-de-emacs/

Estructura de los datos

Los datos para forms-mode tienen una estructura muy básica: son ficheros de texto, conde cada registro se encuentra en una línea y cada campo está separado por un carácter especial. Si no se especifica cual, forms-mode entiende que es \t (un tabulador). Los campos pueden mostrarse también en varias líneas. Esas líneas se separan dentro del campo utilizando un carácter "\k" (C-k), por defecto, aunque se puede definir el que queramos con la variable forms-multi-line. Si se establece ese valor a nil deshabilita los campos en varias líneas.

Los campos son posicionales de izquierda a derecha y cuando definamos la estructura del formulario en pantalla, los podemos insertar mediante su número de orden en el fichero de datos. Sin embargo, veremos que hay una forma más cómoda de hacerlo y dotar de nombre a cada campo.

En el caso del ejemplo, se hizo un volcado de datos desde una hoja de cálculo a CSV, pero utilizando como separador de campos el carácter |, porque si se hubiera utilizado la prosaica , hubiera cortado los títulos que contienen comas, aunque estén delimitados por comillas, forms ignora esas estructuras y se fija sólo en el separador establecido.

Aunque es un código corto y suficientemente autoexplicativo lo cuento más despacio. Con la variable forms-read-only establecemos que inicie los datos en modo de sólo lectura ─luego veremos que podemos cambiar ese estado con una simple combinación de teclas─. La variable forms-field-sep se establece al carácter que hemos utilizado para exportar el fichero CSV: |. La variable forms-file establece el nombre del fichero donde se guardan los datos, en este caso ./FratecoBiblioteko.csv. En caso de no existir el fichero, forms lo crea. La variable forms-number-of-fields estable el número de columnas o campos que tiene cada línea. En este caso 4, pero se ha utilizado la función forms-enumerate para establecer ese número de columnas. Dicha función lo que hace es proveer de nombres, emparejando cada nombre con su número de posición y devolviendo el número más alto asignado. De esa manera, cuando en la definición de forms-format-list, que establece la estructura del formulario, podemos utilizar los nombres anteriores en lugar de su número correspondiente ─como se puede apreciar en el código─, porque a veces el orden de las columnas no es el que interesa mostrar. El truco de los nombres además nos ahorra muchos quebraderos de cabeza en caso de que los campos no sigan el mismo orden que en el fichero de datos. En la variable form-format-list se especifica el formato de los datos en el fichero de datos.

En la lista de formato se pueden proporcionar una serie de valores para especificar lo que se mostrará:

Cadena: Una cadena se mostrará tal cual está escrita. Número: Indica el número de campo del registro. En nuestro ejemplo, los hemos sustituido con forms-enumerate por atoms con el nombre. Lista: O mejor dicho, una forma. Especifica una llamada a una función. La función se la llama cada vez que se muestra un registro y su resultado ─que debe ser una cadena─ se muestra en pantalla.

Si no se especifica una lista de formato, forms genera una simple lista, cada campo en una línea con la etiqueta del número correspondiente delante de cada campo.

Created: 2025-10-16 jue 14:07