Skip to content

Instantly share code, notes, and snippets.

@matiasmasca
Last active December 20, 2023 11:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matiasmasca/ce9bbfd922512c0ed460de3166e0ebdb to your computer and use it in GitHub Desktop.
Save matiasmasca/ce9bbfd922512c0ed460de3166e0ebdb to your computer and use it in GitHub Desktop.
Comandos necesarios para sobrevivir en el primer uso de EMACS

¿Nuevo/a en EMACS? yo también y eso que estaba acá antes que nosotros nacieramos. Pongamos aca los comandos necesarios para poder usarlo a la primera desde una computadora normal (linux, windows). Anda soltando el mouse, esto esta pensado para manejarse solo con teclado.

Combinaciones de teclas.

[C- ] CTRL+ tecla, se escribe: C-tecla
[M- ] ALT+ tecla, se escribe: M-tecla para los EMACS commands.
[C-tecla tecla] CTRL+tecla tecla: control+tecla, soltar y presionar tecla que sigue.
[RET]: tecla ENTER (retorno de carro). Tambien con: C-m
[C-i]: tecla TAB.
C-[ : tecla ESC.

Copia, pegar, cortar, deshacer.

Copiar: M-w = ALT+W (Kill-ring-save)
Pegar: C-y = CTRL+Y (Yank)
Cortar: C-w = CTRL+W (Kill)

Deshacer: C-x <soltar> u, C-_, C-/
Rehacer: despues de deshacer, C-g y luego C-x u
Deshacer todos los cambios, no guardados: M-x revert-buffer

Buscar.

Buscar C-s
Buscar siguiente C-s C-r

Indentar (Sangrar). TABs

TAB: TAB or M-i
Back-TAB: parece que no esta definido (seria el shift+tab)
-- Pero se puede hacer: C-u -4 C-x TAB (siendo -4 lo que queres volver)
Volver pricipio: C-i
Indentar un bloque: C-x TAB

Archivos.

Open a file, existing or new: ‘C-x C-f’ y escribi el archivo que estas buscando. En linux te posiciona en el /home te ahi podes ir para adelante o para atras (borrando)

Save Buffer: ‘C-x C-s’
Save buffer as a different file (Save As): ‘C-x C-w’
Save all open buffers: ‘C-x s’
Insert a file into buffer: ‘C-x i’
Kill current buffer and open another file: ‘C-x C-v’
Kill (close) a buffer: ‘C-x k’
Buffer menu (list of buffers): ‘C-x C-b’ – save, delete, open rename buffers

Abrir archivo remoto por SSH.

1. Crear un tunel SSH: ssh -L 1009:localhost:55222 username@remotehost
   -- Donde 1009 puerto local y 55222 es el puerto remoto. Por defecto creo que es el 22.
2. C-x C-f 
3. escribir:  /ssh:USER@HOST:FILE_PATH

Ventanas.

CTRL+X 3 = partir pantalla en 2 vertical
CTRL+X o = cambiar de pantalla.
Split Window: ‘C-x 2’ or ‘C-x 3’
Unsplit windows (maximize selected window, within its Frame): ‘C-x 1’
Select next window: ‘C-x o’
Switch to another buffer: ‘C-x b’

Editar varias lineas a la vez.

1. poner el cursor en la primera linea.
2. M-x string-rectangle
3. poner el curso en la última linea.
4. C-x r t
5. Escribir el prefijo que queres.
6. Presionar ENTER (RET)

Clojure.

Instalar en linux: sudo apt-get install emacs
Correr en Ventan: emacs .
Correr en Terminal: emacs -nw
Guia: http://www.braveclojure.com/basic-emacs/

M-x cider-connect RET localhost RET puerto
C-c c-k Cargar el archivo en el repl.
C-c c-e Evaluar ultima expresion.
C-u C-x C-e, which prints the result of the evaluation after point.
C-c C-k 	Compile current buffer. 
C-c C-d C-d 	Display documentation for symbol under poin
@matiasmasca
Copy link
Author

Cuando pones unos () y queres mover algo ahi adentro, podes hacer C-rigthKey (flecha derecha)

@matiasmasca
Copy link
Author

Borrar pero dejando a EMACS Trabajar...

presionando C-k podes borrar una linea o un espacio de mas y emacs acomoda al lenguaje. Muy util para trabajar con los parentesis de Clojure.

@matiasmasca
Copy link
Author

Cambiar el tamaño de la fuente (text-scale-adjust).
C-x C-+ y C-x C--
C-x C-0 para volver al tamaño original.

@matiasmasca
Copy link
Author

Buscar en archivos
M-x rgrep : para buscar un texto en todos los archivos de un directorio. Rgrep te pregunta que buscar y apartir de que directorio indagar.

@matiasmasca
Copy link
Author

clear emacs cider-repl buffer: C-c M-o in the repl buffer is bound to cider-repl-clear-buffer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment