Cuando se empieza a trabajar con un lenguaje de programación, se suele buscar un editor que nos facilite la vida. En Elixir una de las configuraciones más comunes es usar Spacemacs y Alchemist. A continuación describo los pasos que he seguido para instalar ambos usando la guía que se ha publicado en el foro de elixir.
Lo primero es instalar Emacs, después Spacemacs y por último la capa de Elixir.
Aquí están las instrucciones para OS X (de su wiki). Para otras plataformas se puede consultar la página del proyecto. Instalación habitual de Emacs:
brew update brew install emacs --with-cocoa brew linkapps emacs
O bien, la instalación recomendada de SpaceMacs:
brew tap d12frosted/emacs-plus brew install emacs-plus brew linkapps emacs-plus
Si previamente has usado emacs lo mejor es respaldar tu directorio ~/.emacs.d
mv ~/.emacs.d ~/.emacs.backup git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
Ahora se puede iniciar Emacs y dejar que se instale todo. Después hay que reiniciar y la configuración de Spacemacs se activará. Hay que seleccionar el modo VIM cuando sea requerido.
En el archivo ~ / .spacemacs
, y en dotspacemacs-configuration-layers
se agrega elixir
. Se debe ver más o menos así:
dotspacemacs-configuration-layers '( ruby ;; ---------------------------------------------------------------- ;; Example of useful layers you may want to use right away. ;; Uncomment some layer names and press <SPC f e R> (Vim style) or ;; <M-m f e R> (Emacs style) to install them. ;; ---------------------------------------------------------------- helm ;; auto-completion ;; better-defaults emacs-lisp ;; git ;; markdown ;; org ;; (shell :variables ;; shell-default-height 30 ;; shell-default-position 'bottom) ;; spell-checking ;; syntax-checking ;; version-control elixir )
Si se reinicia SpaceMacs se instalará todo. En lo personal prefiero recargar la configuración usando SPC f e R
.
Son herramientas recomendadas para aumentar la velocidad de búsqueda.
Ack es una herramienta como
grep
, optimizada para programadores. Ag es como Ack, pero afirma ser 5-10 veces más rápido.
Habilitar el desplazamiento suave (smooth scrolling), NeoTree a la derecha y restauración de sesión.
Para esto hay que agregar las últimas 5 líneas en la configuración de usuario (defun dotspacemacs/user-config ()
que debe quedar como:
(defun dotspacemacs/user-config () "Configuration function for user code. This function is called at the very end of Spacemacs initialization after layers configuration. This is the place where most of your configurations should be done. Unless it is explicitly specified that a variable should be set before a package is loaded, you should place your code here." ;; scroll one line at a time (less "jumpy" than defaults) (setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time (setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling (setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse (setq scroll-step 1) ;; keyboard scroll one line at a time )
Para que NeoTree SPC f t
se abra en el lado derecho se agrega:
'(neo-window-position (quote right))
en las variables (custom-set-variables
) dentro del archivo .spacemacs
(luego se reinicia o bien, se recarga la configuración).
Se asigna dotspacemacs-auto-resume-layouts
a t
en el archivo .spacemacs
; esto restaurará la sesión cuando se abra SpaceMacs.
La fuente predeterminada no parece ser una incluida con OS X, en el archivo .spacemacs (desde SpaceMacs SPC f e d
) y en dotspacemacs-default-font
cambiar la fuente a "Menlo"
y el tamaño a 12
.
Para que Emacs respete el archivo ~/.bash_profile
se debe instalar exec-path-from-shell
. Se puede usar SPC SPC package-install
y después ingresar exec-path-from-shell
.
Después se abre o crea el archivo .bashrc
y al final se debe escribir . ~/.bash_profile
.
Este documento está orientado a cerrar la brecha entre vim y Spacemacs.
Los paquetes se installan con Melpa, el Administrador de paquetes de Emacs. Se puede verificar si un paquete ya está instalado con SPC h SPC
seguido del nombre del paquete.
Si se desea agregar una capa (layer
), se debe agregar a la lista de layers
en el archivo .spacemacs
y reiniciar.
Si es un paquete se puede instalar con SPC SPC <package name> RET
La mayoría de los paquetes están en Melpa e incluidos por SpaceMacs, pero si no, se puede agregar el nombre del paquete a dotspacemacs-optional-packages
y reiniciar.
.spacemacs
desde SpaceMacs con SPC f e d
.spacemacs
, se puede usar SPC f e R
para recargar la configuración.SPC q r
SPC h SPC
para abrir la documentaciónSPC h d f <function-name> RETORNO
, por ejemplo, SPC h d f what-cursor-position RETURN
M-x <comando>
, quiere decir que se debe presionar SPC SPC
y luego escribir ,
es la tecla líder, cuando se hace referencia a SPC m <algo>
se puede usar , <algo>
.SPC p p
- Muestra proyectos abierto previamenteSPC p f
- Buscar archivo en el proyectoSPC s s
- Búsqueda en picada Swoop search
(búsqueda en archivo) habitualmente en vim /
SPC f f
- Buscar archivo, búsqueda difusa (),SPC f r
- Encuentra/muestra archivos recientesSPC /
- Buscar patrón (texto) en un archivo abierto (atajo de SPC s p
)SPC *
- Igual que SPC /
pero busca lo que está debajo del cursor. Si necesita buscar un término exacto, por ejemplo escapar espacios: SPC / see \ the \ posts
SPC s a p
buscar patrón (texto) en el proyectoSPC w s
divide la ventana SPC w v
la divide verticalmenteSPC w d
eliminar/cerrar ventana (o Command W
en OS X)SPC b b
lista los buffersSPC TAB
va al último bufferSPC f t
abre NeoTreeSPC 0
selecciona la ventana de NeoTreeSPC 1
selecciona la ventana (1)SPC '
abre la terminal (en el directorio donde se encuentra el archivo actual)SPC p '
abre la terminal en la raíz del proyectog c c
or SPC c l
comenta/descomenta una líneag c 3 j
comenta 3 líneas para abajog c 3 k
comenta 3 líneas para arribav
selecciona el código (y después g c
)warning
) al inicio, con SPC b b
se listan los buffers y después con Messages
.