Skip to content

flowsta/emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Mi configuración de Emacs

Algo de mi configuración de Emacs, por orden alfabético

Babel

Se puede ejecutar directamente el código en org-mode si configuramos http://orgmode.org/worg/org-contrib/babel/

;;(acons 'sh 't org-babel-load-languages)

;; Babel

;; http://stackoverflow.com/questions/15773354/indent-code-in-org-babel-src-blocks
(setq org-src-tab-acts-natively t)

;; http://stackoverflow.com/questions/10642888/syntax-highlighting-within-begin-src-block-in-emacs-orgmode-not-working
(setq org-src-fontify-natively t)

;; esto lo tenía de antes
;;(require 'calfw)
(org-babel-do-load-languages
      'org-babel-load-languages
      '((emacs-lisp . t)
        (R . t)
        (sh . t)
        (python . t)
        (ruby . t)
        (sparql . t)
        ))

;; http://stackoverflow.com/questions/4711179/auto-expanding-blocks-of-comments-in-emacs

(defun refill-when-in-comment ()
  (interactive)
  (let ((curr-face (get-char-property (point) 'face)))
    (if (member "comment" (split-string (prin1-to-string curr-face) "-"))
        (fill-paragraph t)
      )
    )
  )

(defun smart-space (arg)
  (interactive "P")
  (refill-when-in-comment)
  (self-insert-command (prefix-numeric-value arg))
  )

(global-set-key " " 'smart-space)


elpy

Elpy es el entorno Python en Emacs Lisp:

Primero añadimos a Emacs el paquete en GitHub:

;; elpy

;
(require 'package)
(add-to-list 'package-archives
             '("elpy" . "http://jorgenschaefer.github.io/packages/"))

Luego corremos en Emacas M-x package-refresh-contents para cargar los contenidos del repositorio. Entonces ya podemos añadir elpy con M-x package-install RET elpy RET.

A continuación añadimos esto al archivo de configuración de Emacs, .emacs:

(package-initialize)
(elpy-enable)

En el lado de Python, debemos instalar:

pip install flake8

Y luego tendrás que elegir entre rope o jedi:

pip install rope
pip install jedi

erc

ERC es un cliente este cliente de IRC.

(require 'erc)

Latex

Soporte para LaTeX en Emacs. Fundamental.

;; LaTeX

(require 'ox-latex)
(add-to-list 'load-path "~/.emacs.d/elisp")
(load-library "latex-templates")
;; wrap código fuente
;(add-to-list 'org-latex-packages-alist '("" "minted"))
;(setq org-latex-listings 'minted)
;
;(setq org-latex-pdf-process
;     '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;        "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;        "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f")

(setq org-export-latex-listings t)
(add-to-list 'org-latex-packages-alist '("" "listings"))
(add-to-list 'org-latex-packages-alist '("" "color"))

org-html5presentation

Presentaciones HTML5 con org-mode, una alternativa a Reveal.

;; org-html5presentation
(add-to-list 'load-path "~/ruta/org-html5presentation.el/")
(require 'ox-html5presentation)

Markdown

Aunque org-mode es maravilloso, hay que prestar atencióna Markdown.

;; Markdown
(eval-after-load "org"
  '(require 'ox-md nil t))

RefTex

Gestión de bibliografía en Emacs

;; reftex

(defun org-mode-reftex-setup ()
(load-library "reftex")
(and (buffer-file-name)
(file-exists-p (buffer-file-name))
(reftex-parse-all))
(define-key org-mode-map (kbd "C-c )") 'reftex-citation)
)
(add-hook 'org-mode-hook 'org-mode-reftex-setup)
(setq org-latex-to-pdf-process (list "latexmk -pdf -bibtex %f"))
(setq org-latex-pdf-process '("latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf -bibtex -f %f"))
(setq reftex-default-bibliography
      (quote
       ("~/Documentos/doctorado/tesis/bibliografia.bib")
))
(setq reftex-use-external-file-finders t)
(setq reftex-external-file-finders
      '(("tex" . "kpsewhich -format=.tex %f")
        ("bib" . "kpsewhich -format=.bib %f")))

Melpa

Melpa responde a Milkypostman’s Emacs Lisp Package Archive, un gestor de paquetes para Emacs Lisp con las siguientes características:

  • Paquetes actualizados en sus propios servidores.
  • Se instalan con el paquete package.el, no se necesitan herramientas de control de versiones locales.
  • Verificados, no los encontrarás obsoletos ni con otro nombre ni distintos.
  • Permite actualizaciones automáticas.
  • Una forma estándar de acceso
  • Extensible, puedes crear tu propia receta en github y Melpa creará el paquete.
;; melpa

(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.milkbox.net/packages/")))


Reveal

La maravillosa herramienta para creación de presentaciones en Reveal en org-mode:

;; Reveal
(require 'ox-reveal)

(setq org-reveal-root "~/emacs.d/elisp/org-reveal")

Sesión

Configuración que mejora tu sesión.

Debug de errores

(setq max-specpdl-size 1000)  ; default is 1000, reduce the backtrace level
(setq max-specpdl-size 32000) ; http://stackoverflow.com/questions/30736631/ess-produces-variable-binding-depth-exceeds-max-specpdl-size
(setq debug-on-error t)    ; now you should get a backtrace

Cómo guardar la sesión de Emacs

Leído en Stackoverflow, cómo guardar la sesión con Emacs, por si te da por cerrar de repente:

You can save the desktop manually with the command M-x desktop-save. You can also enable automatic saving of the desktop when you exit Emacs, and automatic restoration of the last saved desktop when Emacs starts: use the Customization buffer (see Easy Customization) to set desktop-save-mode to t for future sessions, or add this line in your ~/.emacs file:

(desktop-save-mode 1)

Sparql

Quién no ha querido hacer un poco de SPARQL en Emacs? Puedes empezar en Emacswiki o GitHub y si no lo has hecho antes, configurar Babel:

;; sparql
;;
(add-to-list 'load-path "~/.emacs.d/elisp/sparql-mode/")
(autoload 'sparql-mode "sparql-mode.el"
    "Major mode for editing SPARQL files" t)
(add-to-list 'auto-mode-alist '("\\.sparql$" . sparql-mode))
(add-to-list 'auto-mode-alist '("\\.rq$" . sparql-mode))

Web-mode

Web-mode es un modo para editar contenido web. Tienes tantas posibilidades que mejor que lo pruebes

;; web-mode
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))

Xetex

Motor de tipografías TeX que utiliza Unicode.

;; xetex

(setq-default TeX-engine 'xetex)

Zotelo

Zotelo gestiona tus colecciones de Zotero en Emacs

;; Zotelo

(require 'zotelo)
(add-hook 'TeX-mode-hook 'zotelo-minor-mode)

About

Mi configuración de Emacs, dotemacs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published