Mostrando entradas con la etiqueta emacs. Mostrar todas las entradas
Mostrando entradas con la etiqueta emacs. Mostrar todas las entradas

viernes, 19 de noviembre de 2021

Emacs: ejecutar comandos linux en windows (rgrep)

 En Emacs para windows algunos comandos se ejecutan esperando que el sistema sea linux por tanto fallan. 

Para solucionar esto debemos realizar instalaciones adicionales. 

En nuestro caso vamos a probar con el comando rgrep que depende de los comandos grep y find que en windows no encontramos. 

Para esto debemos realizar los siguientes pasos:

1. Primero vamos a http://gnuwin32.sourceforge.net/packages.html donde podemos encontrar los comandos de linux para ser ejecutados en windows. De esta web descargamos Grep y FindUtils y los instalamos. 

Por defecto este software se instalara en: C:\Program Files (x86)\GnuWin32

2. En nuestro archivo de configuración .emacs añadimos las siguientes lineas:

(setq find-program "\"c:\\Program Files (x86)\\GnuWin32\\bin\\find.exe\"")

(setq grep-program "\"c:\\Program Files (x86)\\GnuWin32\\bin\\grep.exe\"")


Con esto le estamos indicando a Emacs que use como programas para buscar los nuevos comandos ingresados.

3. Probamos realizando una búsqueda M-x rgrep 
  • Indicamos los archivos en donde buscaremos [ENTER]  Podemos usar comodines como *.org que buscara en todos los archivos que tengan extensión .org
  • Indicamos el texto a buscar [ENTER]
  • Indicamos la carpeta raíz desde donde buscaremos [ENTER]
Listo, emacs nos devolverá la lista de archivos con la línea que tiene el texto buscado. 

miércoles, 17 de noviembre de 2021

Emacs Doom y swiper

Encontré swiper (https://github.com/abo-abo/swiper) un buscador alternativo a isearch que permite mostrar todos los resultados de búsqueda. 

Para implementarlo en emacs necesitamos configurar los siguiente:

1. En .doom.d/packages.el añadimos el paquete a instalar

(package! swiper)

2, En .doom.d/init.el en la sección de :editor añadimos
swiper

3. En .doom.d/config.el añadimos el shortcut para las búsquedas:
(global-set-key (kbd "C-s") #'swiper-isearch)

4. Ejecutamos .emacs.d/bin/doom.cmd sync y reiniciamos emacs 

Listo, con esta configuración podremos realizar búsquedas de una forma mas efectiva:



martes, 23 de marzo de 2021

Instalar emacs doom en windows

 Hoy vamos a cambiar nuestro spacemacs a Doom, la razón principal es velocidad. 

0. Como pre-requisitos necesitamos tener emacs, git cmd y ripreg 

En mi caso emacs se instaló en: C:\Program Files\Emacs\x86_64\bin

En mi caso instale Ripreg en C:\Program Files (x86)\ripgrep-12.1.1-x86_64-pc-windows-msvc

1. Añadimos las variables de entorno

HOME: /Users/[USUARIO]

en PATH añadimos: C:\Program Files\Emacs\x86_64\bin y C:\Program Files (x86)\ripgrep-12.1.1-x86_64-pc-windows-msvc

2. Clonamos Doom

En Git CMD entramos a la carpeta: C:\Users\[USUARIO] y clonamos el proyecto

git clone --depth 1 https://github.com/hlissner/doom-emacs .emacs.d

con esto se debió crear la carpeta: C:\Users\[USUARIO]\.emacs.d

2. Iniciamos la instalación

Seguimos en Git CMD y ejecutamos la instalación:

.emacs.d\bin\doom.cmd install

En este punto debemos de tener un poco de paciencia ...

Listo, ya tendremos nuestra emacs con doom

viernes, 1 de mayo de 2020

spacemacs Package undo-tree is unavailable. Is the package name misspelled?

Si al iniciar la carga de spacemacs nos aparece el mensaje  "Package undo-tree is unavailable. Is the package name misspelled?" quiere decir que no tenemos acceso a una fuenta de paquetes, para habilitar el acceso ejecutamos los siguientes pasos:

1. Editar el archivo .spacemacs cambiando el valor del parámetro dotspacemacs-elpa-https de 1 a nil, si el parámetro  dotspacemacs-elpa-https esta comentado lo descomentamos.

2. Añadir la llave ELPA:
sudo gpg --homedir ~/.emacs.d/elpa/gnupg --receive-keys 066DAFCB81E42C40 

3. Reiniciamos emacs. 

lunes, 25 de junio de 2018

Emacs: Hacer consultas a base de datos en org-mode

El modo Org-mode de emacs es una herramienta de productividad increíble. Bajo esta interface es posible realizar consultas a base de datos, el resultado de estas pueden mostrarse inline en el mismo archivo .org. Para esto debemos de configurar algunas cosas pequeñas en Emacs.

1. Vamos a modificar nuestro archivo .emacs y añadir los lenguajes soportados
(org-babel-do-load-languages
'org-babel-load-languages
'((sql . t)))
;; add additional languages with '((language . t)))

(org-babel-do-load-languages
'org-babel-load-languages
'(
(emacs-lisp . t)
(org . t)
(sh . t)
(C . t)
(python . t)
(gnuplot . t)
(octave . t)
(R . t)
(dot . t)
(awk . t)
(sql . t)
))

2. Para poder conectarnos a una BD nuestro archivo .org tendremos que añadir algunos tags:
#+name: result-list
#+header: :engine mysql
#+header: :dbhost localhost
#+header: :dbuser mydbuser
#+header: :dbpassword mydbpass
#+header: :database mydatabase
#+begin_src sql :exports results
select * from table1 order by 1 desc;
#+end_src

#+RESULTS: result-list

Como observamos debemos de cambiar los valores :
engine: el motor de base de datos, en nuestro caso usamos mysql
dbhost: el host de la base de datos, en nuestro caso localhost o 127.0.0.1
dbuser: el usuario de base de datos
dbpass: la clave del usuario de base de datos
database: la base de datos a la que nos conectamos
name: indica el nombre del bloque de consulta, si observan en RESULT hay uno con el mismo nombre, quiere decir que el resultado de ejecutar el SQL se verá en el bloque RESULT
begin_src: esta es la consulta SQL que ejecutaremos

Para ejecutar la consulta nos ubicamos dentro del bloque del código y presionamos Ctrl+c Ctrl+c.

Mayor detalle en : https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sql.html

lunes, 7 de abril de 2008

Enviar correo en emacs

Hace algún tiempo publicamos el articulo Mutt+Gmail, el cual nos mostraba como configurar msmtp para el envio de correos.
Ahora vamos a configurar Emacs para que envie correos con msmtp. Suponiendo que ya tenemos configurado msmtp para el envio de correos ahora solo falta configurar emacs.

Paso 1: Configuración

Añadimos las siguientes líneas al archivo de configuración .emacs

(setq user-mail-address "micorreo@mipagina.com")
(setq sendmail-program "/usr/bin/msmtp")

Guardamos y reiciamos Emacs.

Paso 2: Probando

Abrimos Emacs y ponemos C-x m inmediatamente nos aparecerá un formulario como el siguiente:

To: (Dirección de correo del destinatario)
Subject: (Título del envio)
--Text follows this line--
(Texto del mensaje)

Luego enviamos con las teclas C-c C-s

Mayores detalles en la documentación.

martes, 26 de febrero de 2008

Emacs y RSS

En esta oportunidad vamos a instalar un lector de noticias (RSS) y añadirlo a nuestro querido Emacs. para esto vamos a instalar SnowNews, un lector de noticias en modo texto, muy fácil de usar:

#aptitude install snownews

Luego lo ejecutamos:
#snownews

Le añadimos un lugar de noticias presionando la letra "a", y escribimos
http://www.somoslibres.org/backend.php
Presionamos [Enter] y listo podemos ver las noticias de nuestro sitio favorito; podemos también añadir mas sitios. Para mayor información sobre el uso de snownews puede ejecutar la ayuda de snownews presionando la tecla h.

Para añadirlo a emacs sólo es necesario añadir las siguientes líneas a nuestro archivo .emacs
(defun rss()
(interactive)
(ansi-term "snownews" "snownews"))

Ahora para poder llamarlo solo es necesario el comando Alt+x mail y podremos ver las noticias de nuestros sitios favoritos.

viernes, 22 de febrero de 2008

Emacs y Mutt

En esta ocación solo voy a describir el proceso para poder ver correo del cliente Mutt en Emacs. Para esto solo debemos añadir a nuestro archivo .emacs las siguientes líneas:

(defun mutt()
(interactive)
(ansi-term "mutt" "Mutt"))

con esto solo es necesario ejecutar Alt+x mutt para poder ver nuestro correo en emacs.

Emacs en windows: arranque rápido

En windows la carga de emacs implica una demora en windows pero se puede mejorar usando el demonio de emacs y modificar la llamada usando el...