Instalación y configuración de Emacs



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.

    google.png

    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.png

    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

    diccionario.png

    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

    projectile.png

    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’.

Anuncios