Ir al post: Emacs, el editor de una vida.
Resumen
Se ve como instalar el editor Emacs junto con Prelude ademas de unas configuraciones basicas.
Prelude
Prelude es un paquete que altera el comportamiendo default de emacs y le añade turbo (paquetes, teclas, temas, configuraciones). Para saber mas sobre prelude da click aqui.
Algunas cosas interesantes sobre Prelude
- Busqueda en google
Si seleccionas algo y despues presionas `C-c g’, automaticamente abre un nagevador y lo busca en google.
Teclas Funcion C-c g Buscar en google C-c G Buscar en github C-c y Buscar en youtube C-c U Buscar en duckduckgo C-c d Duplicar linea (o region) C-c M-d Duplicar y comentar linea (o region) C-t Abre una terminal Por supuesto estas no son todas las teclas, existe una infinidad de combinaciones que se pueden hacer ademas de que se pueden extender. Otras teclas las puedes ver aqui (aún asi no son todas)
- Helm
Helm busca archivos/comandos o sintaxis pertinente al lenguaje de programacion que estas utilizando en ese momento utilizando busqueda inteligente. En este caso escribiendo `gl se ke’ helm detecta que el comando mas cercano es `global-set-key’.
- Diccionario
Autocompleta palabras conocidas en los idiomas que eligas ademas de los propios comandos de emacs y/o los pertinentes al lenguaje de programacion que estes editando.
- Projectile
Si estas en un proyecto Git, automaticamente sortea los archivos y hace busqueda aún mas eficiente.
- Instalacion automatica de paquetes
Cuando abres un archivo `.clj’ por ejemplo instala el modo `clojure’ automaticamente. Asi aplica para distintos lenguajes de programacion y modos de emacs.
Instalacion
En Arch Linux basta con ejecutar:
sudo pacman -S emacs
Posteriormente se instala Prelude (requiere git):
curl -L https://git.io/epre | sh
Para instalar diccionario en español (corrector ortografico)
sudo pacman -S extra/aspell-es
Configuración
Por default emacs prelude se instala en `$HOME/.emacs.d/’, nuestra carpeta personal va a estar localizada dentro de esta, especificamente en `$HOME/.emacs.d/personal/’.
Emacs ya viene configurado por Prelude, solo hay que decirle en que modulos quiere que cargue automaticamente.
En este caso seria esto `$HOME/.emacs.d/prelude-modules.el’
(require 'prelude-erc) (require 'prelude-ido) (require 'prelude-helm) (require 'prelude-helm-everywhere) (require 'prelude-company) (require 'prelude-c) ;; (require 'prelude-css) (require 'prelude-emacs-lisp) (require 'prelude-js) (require 'prelude-latex) (require 'prelude-lisp) (require 'prelude-org) (require 'prelude-perl) (require 'prelude-python) (require 'prelude-scheme) (require 'prelude-shell) (require 'prelude-xml)
Despues se modifica el archivo `$HOME/.emacs.d/init.el’, justo despues de la linea que dice
;;; Code:
Agregar:
(setq prelude-user-init-file "init.el")
Esto nos permitira configurar emacs a nuestro gusto con el archivo `$HOME/.emacs.d/init.el’ sin necesidad de tocar las configuraciones de prelude (no queremos descomponer nada).
Ahora agrega en “$HOME/.emacs.d/init.el” algunas funciones propias.
(defun package-install-maybe (package) (unless (package-installed-p package) (package-install package))) (defun select-line-from-beginning-to-end () "Select current line from beggining to end." (interactive) (end-of-line) (set-mark (line-beginning-position))) (defun select-line-from-end-to-beginning () "Select current line from end to beginning" (interactive) (beginning-of-line) (set-mark (line-end-position))) (defun select-current-line (&optional end) "Select the current line" (interactive "P") (if (booleanp end) (select-line-from-end-to-beginning) (select-line-from-beginning-to-end)))
Y asignamos algunas unas teclas:
(global-set-key (kbd "C-c x") 'select-current-line) (global-set-key (kbd "C-c v") 'comment-or-uncomment-region)
`C-c x’ ahora selecciona la linea donde esta posicionado el cursor. Si presionas `C-u’ antes (es decir `C-u C-c x’) la seleccion se hace inversa. Intentalo.
Para comentar/descomentar la linea (o region) seleccionada puedes presionar `C-c v’.
Para instalar automaticamente un paquete si no esta instalado actualmente puedes poner algo asi. (la funcion esta definida mas arriba)
(package-install-maybe 'gnuplot) (package-install-maybe 'gnuplot-mode)
Cuando abras emacs por primera vez va a tardar porque esta instalando y actualizando todos sus paquetes. Mi recomendacion es ejecutarlo como demonio.
emacs --daemon
(Si no lo ejecutas como demonio va a tardar mas en cargar cada que quieras abrir emacs)
Crear un alias
alias emc='emacsclient -a "" -c'
Con esto se conecta directamente al demonio y se cargará mucho mas rapido. Ya puedes editar archivos:
emc ~/prueba.txt
Listo!
Te recomiendo que te familiarizes con el uso de emacs con el tutorial presionando `C-h t’.