{"id":96,"date":"2010-06-22T00:24:26","date_gmt":"2010-06-21T22:24:26","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?page_id=96"},"modified":"2022-08-23T09:33:33","modified_gmt":"2022-08-23T07:33:33","slug":"emacs","status":"publish","type":"page","link":"https:\/\/www.blackhats.es\/wordpress\/?page_id=96","title":{"rendered":"Configuraciones"},"content":{"rendered":"<p>En caso de configuraciones con distintas secciones, estas estan separadas por lineas marcadas en rojo, los comentarios con un ; seran lineas elisp validas comentadas por alguna razon, mientras que las que posean dos ;; implicara algun comentario clarificatorio. Intento mantener una estructura y formato bastante estricto pero creo que se me puede haber pasado alguna linea.<\/p>\n<p>Tambien debo indicar que muchas funcionalidades dependen de programas o aplicaciones externas al propio entorno emacs (por lo que requiere de su instalacion) y que las rutas no tienen porque coincidir (dependiendo de version, lugar donde se instalaron, etc.) otras lineas dependen de ficheros externos como .authinfo, asi que tened todo esto en cuenta a la hora de copiar las lineas en las que esteis interesados. Sin mas dilacion, os dejo aqui mi .emacs:<\/p>\n<h2 style=\"text-align: justify;\">.emacs<\/h2>\n<pre><span style=\"color: #808080;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #808080;\">;; File: .emacs<\/span>\r\n<span style=\"color: #808080;\">;; Author: Overdrive &lt;overdrive@blackhats.es&gt;<\/span>\r\n<span style=\"color: #808080;\">;; Description: emacs configuration file<\/span>\r\n<span style=\"color: #808080;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n<span style=\"color: #808080;\">;;<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/--&gt; Major (Global change)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \/ \u00a0 \u00a0 \u00a0\u00a0 \/--&gt; Emacs version<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/ \u00a0 \u00a0 \u00a0 \/<\/span>\r\n<span style=\"color: #808080;\">;; Version 1.0(28)-l --&gt; Platform version<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \\<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\-&gt; Minor (Local change)<\/span>\r\n<span style=\"color: #808080;\">;;<\/span>\r\n<span style=\"color: #808080;\">;; Major could be:<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; 0 (old)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; 1 (stable)<\/span>\r\n<span style=\"color: #808080;\">;;\u00a0 ==&gt; 2 (testing raw)<\/span>\r\n<span style=\"color: #808080;\">;; Minor could be:<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; 0 (pair, release, stable)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; 1 (odd, current, unstable)<\/span>\r\n<span style=\"color: #808080;\">;;<\/span>\r\n<span style=\"color: #808080;\">;; Emacs version:<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; 28 (Emacs 28)<\/span>\r\n<span style=\"color: #808080;\">;;<\/span>\r\n<span style=\"color: #808080;\">;; Platform version:<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; l (Linux)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; n (netbsd)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; o (openbsd)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; w (windows)<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; x (os x)<\/span>\r\n<span style=\"color: #808080;\">;;<\/span>\r\n<span style=\"color: #808080;\">;; Last summary changelog: 0.3(23)-l - 1.0(28)-l<\/span>\r\n<span style=\"color: #808080;\">;; \u00a0==&gt; Ported all features to a stable version<\/span>\r\n\r\n<\/pre>\n<pre><span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Important keybindings<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Selective undo\r\n;; modify a buffer, select region, Control+_, and undo the region\r\n\r\n;; Disabling Transient Mark Mode\r\n;; M-x transient-mark-mode\r\n;; Then use regions and use C-x C-x to exchange cursor and mark.\r\n;; Normally M-% (query-replace) performs replacements within the region,\r\n;; if the mark is active.\r\n\r\n;; C-x C-u in a region, put in upper case the text in a region\r\n;; (put 'upcase-region 'disabled nil)\r\n\r\n;; Other common or useful tasks\r\n\r\n;; Track changes;\r\n;; http:\/\/www.emacswiki.org\/emacs\/TrackChanges\r\n\r\n;; Revert buffer\r\n;; http:\/\/www.emacswiki.org\/emacs\/RevertBuffer\r\n\r\n;; Mark commands\r\n;; http:\/\/www.emacswiki.org\/emacs\/MarkCommands<\/pre>\n<pre><span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Highlighting<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n<span style=\"color: #888888;\">;; highlight region between point and mark<\/span>\r\n(transient-mark-mode t)\r\n<span style=\"color: #888888;\">;; highlight during query<\/span>\r\n(setq query-replace-highlight t)\r\n\r\n<span style=\"color: #888888;\">;; highlight incremental search<\/span>\r\n(setq search-highlight t)\r\n\r\n<span style=\"color: #888888;\">;; Show matching parenthesis. How can you live without it.<\/span>\r\n(show-paren-mode t)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Behaviour<\/span>\r\n<span style=\"color: #ff0000;\">;; --------------------------------------------------------------------------<\/span>\r\n\r\n<span style=\"color: #888888;\">;; don't make pesky backup files<\/span>\r\n(setq make-backup-files nil)\r\n<span style=\"color: #888888;\">;; don't use version numbers for backup files<\/span>\r\n(setq version-control 'never)\r\n<span style=\"color: #888888;\">;; Open unidentified files in text mode<\/span>\r\n(setq default-major-mode 'text-mode)\r\n<span style=\"color: #888888;\">;; Do only one line scrolling.<\/span>\r\n(setq scroll-step 1)\r\n<span style=\"color: #888888;\">;; Don't wrap long lines.<\/span>\r\n(set-default 'truncate-lines t)\r\n<span style=\"color: #888888;\">;; Make the region visible (but only up to the next operation on it)<\/span>\r\n(setq transient-mark-mode t)\r\n<span style=\"color: #888888;\">;; Colours (\"Colors\" in some other languages)<\/span>\r\n<span style=\"color: #888888;\">;; Give me colours in major editing modes!<\/span>\r\n(require 'font-lock)\r\n(global-font-lock-mode t)\r\n<span style=\"color: #888888;\">;; Don't add new lines to the end of a file when using down-arrow key<\/span>\r\n(setq next-line-add-newlines nil)\r\n<span style=\"color: #888888;\">;; Dont show the GNU splash screen<\/span>\r\n;(setq inhibit-startup-message t)\r\n<span style=\"color: #888888;\">;; Make all \"yes or no\" prompts show \"y or n\" instead<\/span>\r\n(fset 'yes-or-no-p 'y-or-n-p)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Editing modes<\/span>\r\n<span style=\"color: #ff0000;\">;; ----------------------------------------------------------------------------<\/span>\r\n\r\n(setq auto-mode-alist\r\n'((\"\\\\.[Cc][Oo][Mm]\\\\'\" . text-mode)\r\n(\"\\\\.bat\\\\'\" . bat-generic-mode)\r\n(\"\\\\.inf\\\\'\" . inf-generic-mode)\r\n(\"\\\\.rc\\\\'\" . rc-generic-mode)\r\n(\"\\\\.reg\\\\'\" . reg-generic-mode)\r\n(\"\\\\.cob\\\\'\" . cobol-mode)\r\n(\"\\\\.cbl\\\\'\" . cobol-mode)\r\n(\"\\\\.te?xt\\\\'\" . text-mode)\r\n(\"\\\\.c\\\\'\" . c-mode)\r\n(\"\\\\.h\\\\'\" . c++-mode)\r\n(\"\\\\.tex$'\". LaTeX-mode)\r\n(\"\\\\.sty$'\". LaTeX-mode)\r\n(\"\\\\.bbl$'\". LaTeX-mode)\r\n(\"\\\\.bib$'\". BibTeX-mode)\r\n(\"\\\\.el\\\\'\" . emacs-lisp-mode)\r\n(\"\\\\.scm\\\\'\" . scheme-mode)\r\n(\"\\\\.l\\\\'\" . lisp-mode)\r\n(\"\\\\.lisp\\\\'\" . lisp-mode)\r\n(\"\\\\.f\\\\'\" . fortran-mode)\r\n(\"\\\\.F\\\\'\" . fortran-mode)\r\n(\"\\\\.for\\\\'\" . fortran-mode)\r\n(\"\\\\.p\\\\'\" . pascal-mode)\r\n(\"\\\\.pas\\\\'\" . pascal-mode)\r\n(\"\\\\.ad[abs]\\\\'\" . ada-mode)\r\n(\"\\\\.\\\\([pP][Llm]\\\\|al\\\\)\\\\'\" . perl-mode)\r\n('\\\\.cgi\"'\" . perl-mode)\r\n(\"\\\\.s?html?\\\\'\" . sgml-mode)\r\n(\"\\\\.idl\\\\'\" . c++-mode)\r\n(\"\\\\.cc\\\\'\" . c++-mode)\r\n(\"\\\\.hh\\\\'\" . c++-mode)\r\n(\"\\\\.hpp\\\\'\" . c++-mode)\r\n(\"\\\\.C\\\\'\" . c++-mode)\r\n(\"\\\\.H\\\\'\" . c++-mode)\r\n(\"\\\\.cpp\\\\'\" . c++-mode)\r\n(\"\\\\.[cC][xX][xX]\\\\'\" . c++-mode)\r\n(\"\\\\.hxx\\\\'\" . c++-mode)\r\n(\"\\\\.c\\\\+\\\\+\\\\'\" . c++-mode)\r\n(\"\\\\.h\\\\+\\\\+\\\\'\" . c++-mode)\r\n(\"\\\\.m\\\\'\" . objc-mode)\r\n(\"\\\\.java\\\\'\" . java-mode)\r\n(\"\\\\.ma?k\\\\'\" . makefile-mode)\r\n(\"\\\\(M\\\\|m\\\\|GNUm\\\\)akefile\\\\(\\\\.in\\\\)?'\". makefile-mode)\r\n(\"\\\\.am\\\\'\" . makefile-mode)\r\n(\"\\\\.mms\\\\'\" . makefile-mode)\r\n(\"\\\\.texinfo\\\\'\" . texinfo-mode)\r\n(\"\\\\.te?xi\\\\'\" . texinfo-mode)\r\n(\"\\\\.s\\\\'\" . asm-mode)\r\n(\"\\\\.S\\\\'\" . asm-mode)\r\n(\"\\\\.asm\\\\'\" . asm-mode)\r\n(\"ChangeLog\\\\'\" . change-log-mode)\r\n(\"change\\\\.log\\\\'\" . change-log-mode)\r\n(\"changelo\\\\'\" . change-log-mode)\r\n(\"ChangeLog\\\\.[0-9]+\\\\'\" . change-log-mode)\r\n(\"changelog\\\\'\" . change-log-mode)\r\n(\"changelog\\\\.[0-9]+\\\\'\" . change-log-mode)\r\n(\"\\\\$CHANGE_LOG\\\\$\\\\.TXT'\". change-log-mode)\r\n(\"\\\\.scm\\\\.[0-9]*\\\\'\" . scheme-mode)\r\n(\"\\\\.[ck]?sh\\\\''\\|\\\\.shar\\\\'\\\\|\/\\\\.z?profile\\\\'\" . sh-mode)\r\n(\"\\\\(\/\\\\|\\\\`\\\\)\\\\.\\\\(bash_profile\\\\|z?login\\\\|bash_login\\\\|z?logout\\\\)\\\\'\" . sh-mode)\r\n(\"\\\\(\/\\\\|\\\\`\\\\)\\\\.\\\\(bash_logout\\\\|[kz]shrc\\\\|bashrc\\\\|t?cshrc\\\\|esrc\\\\)\\\\'\" . sh-mode)\r\n(\"\\\\(\/\\\\|\\\\`\\\\)\\\\.\\\\([kz]shenv\\\\|xinitrc\\\\|startxrc\\\\|xsession\\\\)\\\\'\" . sh-mode)\r\n(\"\\\\.mm\\\\'\" . nroff-mode)\r\n(\"\\\\.me\\\\'\" . nroff-mode)\r\n(\"\\\\.ms\\\\'\" . nroff-mode)\r\n(\"\\\\.man\\\\'\" . nroff-mode)\r\n(\"\\\\.[12345678]\\\\'\" . nroff-mode)\r\n(\"\\\\.TeX\\\\'\" . TeX-mode)\r\n(\"\\\\.sty\\\\'\" . LaTeX-mode)\r\n(\"\\\\.cls\\\\'\" . LaTeX-mode)\r\n(\"\\\\.clo\\\\'\" . LaTeX-mode)\r\n(\"\\\\.bbl\\\\'\" . LaTeX-mode)\r\n(\"\\\\.bib\\\\'\" . BibTeX-mode)\r\n(\"\\\\.m4\\\\'\" . m4-mode)\r\n(\"\\\\.mc\\\\'\" . m4-mode)\r\n(\"\\\\.mf\\\\'\" . metafont-mode)\r\n(\"\\\\.mp\\\\'\" . metapost-mode)\r\n(\"\\\\.vhdl?\\\\'\" . vhdl-mode)\r\n(\"\\\\.article\\\\'\" . text-mode)\r\n(\"\\\\.letter\\\\'\" . text-mode)\r\n(\"\\\\.tcl\\\\'\" . tcl-mode)\r\n(\"\\\\.exp\\\\'\" . tcl-mode)\r\n(\"\\\\.itcl\\\\'\" . tcl-mode)\r\n(\"\\\\.itk\\\\'\" . tcl-mode)\r\n(\"\\\\.icn\\\\'\" . icon-mode)\r\n(\"\\\\.sim\\\\'\" . simula-mode)\r\n(\"\\\\.mss\\\\'\" . scribe-mode)\r\n(\"\\\\.f90\\\\'\" . f90-mode)\r\n(\"\\\\.lsp\\\\'\" . lisp-mode)\r\n(\"\\\\.awk\\\\'\" . awk-mode)\r\n(\"\\\\.prolog\\\\'\" . prolog-mode)\r\n(\"\\\\.tar\\\\'\" . tar-mode)\r\n(\"\\\\.\\\\(arc\\\\|zip\\\\|lzh\\\\|zoo\\\\|jar\\\\)\\\\'\" . archive-mode)\r\n(\"\\\\.\\\\(ARC\\\\|ZIP\\\\|LZH\\\\|ZOO\\\\|JAR\\\\)\\\\'\" . archive-mode)\r\n(\"\\\\`\/tmp\/Re'\". text-mode)\r\n(\"\/Message[0-9]*\\\\'\" . text-mode)\r\n(\"\/drafts\/[0-9]+\\\\'\" . mh-letter-mode)\r\n(\"\\\\.zone\\\\'\" . zone-mode)\r\n(\"\\\\`\/tmp\/fol\/'\". text-mode)\r\n(\"\\\\.y\\\\'\" . c-mode)\r\n(\"\\\\.lex\\\\'\" . c-mode)\r\n(\"\\\\.oak\\\\'\" . scheme-mode)\r\n(\"\\\\.sgml?\\\\'\" . sgml-mode)\r\n(\"\\\\.xml\\\\'\" . sgml-mode)\r\n(\"\\\\.dtd\\\\'\" . sgml-mode)\r\n(\"\\\\.ds\\\\(ss\\\\)?l\\\\'\" . dsssl-mode)\r\n(\"\\\\.idl\\\\'\" . c++-mode)\r\n(\"[]&gt;:\/\\\\]\\\\..*emacs\\\\'\" . emacs-lisp-mode)\r\n(\"\\\\`\\\\..*emacs\\\\'\" . emacs-lisp-mode)\r\n(\"[:\/]_emacs\\\\'\" . emacs-lisp-mode)\r\n(\"\\\\.org\\\\'\" . org-mode)\r\n(\"\\\\.ml\\\\'\" . lisp-mode)\r\n(\"\\\\.tex$'\". LaTeX-mode)\r\n(\"\\\\.sty$'\". LaTeX-mode)\r\n(\"\\\\.bbl$'\". LaTeX-mode)\r\n(\"\\\\.bib$'\". BibTeX-mode)\r\n(\"\\\\.cls$'\". LaTeX-mode)\r\n(\"\\\\.clo$'\". LaTeX-mode)\r\n(\"\\\\.pdf$'\". doc-view-mode)))\r\n<span style=\"color: #ff0000;\">\r\n;; ---------------------------------------------------------------------------\r\n<\/span><span style=\"color: #ff0000;\">;; Modeline\r\n<\/span><span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Current line &amp; column of cursor in the mode line (bar at the bottom)\r\n(line-number-mode 1)\r\n(setq column-number-mode t)\r\n;; show current function in modeline\r\n(which-func-mode t)\r\n;; Display time in the mode line\r\n;; Put this line last to prove (by the time in the mode line)\r\n;; that the .emacs loaded without error to this point.\r\n\r\n;; Alternative (too long, use calendar)\r\n;;(setq display-time-day-and-date t )\r\n\r\n;; Alternative (too long, replace by short format)\r\n;;(setq display-time-24hr-format t)\r\n;;(display-time)\r\n\r\n(display-time-mode 1)<\/pre>\n<pre><span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Auto Completion<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; ensure abbrev mode is always on\r\n(setq-default abbrev-mode t)\r\n;; do not bug me about saving my abbreviations\r\n(setq save-abbrevs nil)\r\n;; load up modes I use\r\n(require 'cc-mode)\r\n(require 'perl-mode)\r\n(require 'cperl-mode)\r\n(require 'sh-script)\r\n(require 'shell)\r\n;; (require 'tex-site) ;; I use AUCTeX\r\n;; (require 'latex) ;; needed to define LaTeX-mode-hook under AUCTeX\r\n;; (require 'tex) ;; needed to define TeX-mode-hook under AUCTeX\r\n;; (require 'python) ;; I use python.el from Emacs CVS, uncomment if you do also\r\n;; load up abbrevs for these modes\r\n\r\n;; Remember that to use msf-abbrev we need to launch in emacs:\r\n;; M-x msf-abbrev-scan-modes &lt;CR&gt;\r\n;; c-mode &lt;CR&gt;\r\n\r\n;; Commented abbrev mode in macos\r\n;; (add-to-list 'load-path '~\/.emacs.d\/lisp')\r\n;; (require 'msf-abbrev)\r\n;; (setq msf-abbrev-verbose t) ;; optional\r\n;; (setq msf-abbrev-root '~\/.emacs.d\/mode-abbrevs')\r\n;; (global-set-key (kbd 'C-c l') 'msf-abbrev-goto-root)\r\n;; (global-set-key (kbd 'C-c a') 'msf-abbrev-define-new-abbrev-this-mode)\r\n\r\n;; Smart tab\r\n(define-key c-mode-map (kbd \"TAB\") 'smart-tab)\r\n(defun smart-tab ()\r\n'This smart tab is minibuffer compliant: it acts as usual in\r\nthe minibuffer. Else, if mark is active, indents region. Else if\r\npoint is at the end of a symbol, expands it. Else indents the\r\ncurrent line.'\r\n(interactive)\r\n(if (minibufferp)\r\n(minibuffer-complete)\r\n(if mark-active\r\n(indent-region (region-beginning)\r\n(region-end))\r\n(if (looking-at \"\\\\_&gt;\")\r\n(hippie-expand nil)\r\n(indent-for-tab-command)))))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; IRC \/ iMSN \/ Chat<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; ERC\r\n(require 'erc)\r\n(setq erc-mode-line-format \"%t %a\")\r\n\r\n;; Enable sound in ERC\r\n(require 'erc-sound)\r\n(erc-sound-enable)\r\n\r\n;; ERC autojoin -multiple servers with multiple channels-\r\n;;(setq erc-autojoin-channels-alist\r\n;; '(('#emacs-es' '#emacs' '#gnus' '#stumpwm' '#zsh' '##security')))\r\n\r\n;;(erc :server 'irc.freenode.net' :port 6667 nick 'nickname')\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; GTK customizing<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Change GTK fonts size, etc\r\n;; IN OS X do not change due to is cute by default\r\n;(cond\r\n; ((eq system-type 'gnu\/linux)\r\n; (custom-set-faces\r\n;; custom-set-faces was added by Custom.\r\n;; If you edit it by hand, you could mess it up, so be careful.\r\n;; Your init file should contain only one such instance.\r\n;; If there is more than one, they won't work right.\r\n; '(default ((t (:stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 70 :width normal :foundry 'unknown' :family '-cronyx-fixed-medium-r-normal--10-*-75-75-c-60-koi8-r'))))) ; DejaVu Sans\r\n; )\r\n;)\r\n\r\n;; Show in title Frame as: computer@host:\/path\/file\r\n(setq frame-title-format `(,(user-login-name) '@' ,(system-name) \":%f\" ))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Scheme<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Setting scm (requires apt-get install scm) a scheme compiler run via M-x scheme-mode\r\n(setq scheme-program-name \"scm\")\r\n(custom-set-variables\r\n;; custom-set-variables was added by Custom.\r\n;; If you edit it by hand, you could mess it up, so be careful.\r\n;; Your init file should contain only one such instance.\r\n;; If there is more than one, they won't work right.\r\n'(canlock-password \"XXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\r\n'(org-agenda-files nil)\r\n'(package-selected-packages\r\n'(remark-mode elpy markdown-mode markdown-mode+ impatient-mode magit latex-preview-pane geiser)))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Geiser with racket<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; Steps to install and configure geiser\r\n; 1. Download geiser (it is just a wrapper)\r\n; 2. Install racket (it is the scheme compiler implementation itself) apt-get install racket\r\n; 2. Add the load-file\r\n; 3. Add the binary for geiser racket\r\n; 4. M-x geiser\r\n; 5. Select racket\r\n\r\n;(load-file '~\/.emacs.d\/geiser\/elisp\/geiser.el')\r\n;; Temporary solution\r\n;(load-file '\/etc\/emacs\/site-start.d\/50geiser.el')\r\n;(load-file '\/usr\/share\/emacs\/site-lisp\/geiser\/geiser.el')\r\n(setq geiser-racket-binary \"\/usr\/bin\/racket\")\r\n(setq geiser-scheme-dir \"\/usr\/share\/geiser\")\r\n;; M-x geiser (scheme interactive for emacs)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; General keys for Lisp (autocomplete, compile, eval, indentation, etc)<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;;; some keys F5 to F9 are free examples\r\n(global-set-key [f5] 'lisp-complete-symbol)\r\n(global-set-key [f6] '(lambda () (interactive) (kill-buffer (current-buffer))))\r\n(global-set-key [S-f7] 'compile)\r\n\r\n; TAB = Autocompletion\r\n; Intro = INTRO + indentation\r\n(define-key global-map (kbd \"RET\") 'newline-and-indent)\r\n(define-key lisp-mode-map (kbd \"TAB\") 'lisp-complete-symbol)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; CLisp<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;(setq inferior-lisp-program '\/usr\/bin\/clisp')\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; SBCL<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(setq inferior-lisp-program \"\/usr\/bin\/sbcl\")\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; SLIME<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; SLIME will require set inferior-lisp-program variable\r\n\r\n; SLIME directory where it is installed\r\n;(add-to-list 'load-path \"~\/.emacs.d\/slime\/\")\r\n\r\n; Include\r\n;(require 'slime)\r\n\r\n; Setup\r\n;(slime-setup)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Development: Debugger<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; GDB (Debugger)\r\n;; Split windows for gdb screens\r\n(setq gdb-many-windows t\r\ngdb-show-main t)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Frames and windows sizes<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Initial size and position of frame and variable width font\r\n;; (sizes with menubar, toolbar and scrollbar)\r\n;; (set-frame-width (selected-frame) 177)\r\n;; (set-frame-height (selected-frame) 45)\r\n;; (set-frame-position (selected-frame) 0 0)\r\n\r\n;; (sizes without menubar, toolbar, and scrollbar) and variable width font\r\n;(set-frame-width (selected-frame) 179)\r\n;(set-frame-height (selected-frame) 47)\r\n;(set-frame-position (selected-frame) 2 2)\r\n\r\n;; default-frame-alist (properties same than initial-frame-alist) and variable width font\r\n;(setq default-frame-alist '((top . 2) (left . 2) (width . 179) (height . 47)))\r\n;; LAST OK for variable width font, next two lines, please uncomment if required\r\n;(setq default-frame-alist '((top . 3) (left . 845) (width . 162) (height . 83)))\r\n;(setq initial-frame-alist '((top . 3) (left . 2) (width . 162) (height . 83)))\r\n\r\n;; Other Alternatives (options for fonts depending of fonts installed and computer):\r\n;; Replaced GTK fonts size (above) by a fixed width font\r\n;(set-frame-font \"-cronyx-fixed-medium-r-normal--10-*-75-75-c-60-koi8-r\")\r\n;(set-default-font \"-cronyx-fixed-medium-r-normal--10-*-75-75-c-60-koi8-r\")\r\n\r\n;(add-to-list 'default-frame-alist '((font . '-*-fixed-*-*-*-*-6-*-*-*-*-*-*-*')))\r\n;(add-to-list 'default-frame-alist '((font . '-cronyx-fixed-medium-r-normal--10-*-75-75-c-60-koi8-r')))\r\n;(add-to-list 'initial-frame-alist '((font . '-cronyx-fixed-medium-r-normal--10-*-75-75-c-60-koi8-r')))\r\n\r\n;(set-frame-font \"-xos4-Terminus-bold-normal-normal-*-14-*-*-*-c-80-iso10646-1\")\r\n;(set-default-font \"-xos4-Terminus-bold-normal-normal-*-14-*-*-*-c-80-iso10646-1\")\r\n\r\n;(add-to-list 'default-frame-alist '((font . '-*-fixed-*-*-*-*-6-*-*-*-*-*-*-*')))\r\n;(add-to-list 'default-frame-alist '((font . '-xos4-Terminus-normal-normal-normal-*-14-*-*-*-c-80-iso10646-1')))\r\n;(add-to-list 'initial-frame-alist '((font . '-xos4-Terminus-normal-normal-normal-*-14-*-*-*-c-80-iso10646-1')))\r\n\r\n;; Disabling menubar, toolbar and scrollbar\r\n(menu-bar-mode -1)\r\n(scroll-bar-mode -1)\r\n(tool-bar-mode -1)\r\n\r\n;; Confortable fonts (big) - Recommended -\r\n;; Initial size and position of frame and fixed width font\r\n\r\n; Frames for T61P\r\n;(setq default-frame-alist '((top . 16) (left . 832) (width . 90) (height . 52)))\r\n;(setq initial-frame-alist '((top . 16) (left . 1) (width . 90) (height . 52)))\r\n\r\n; Frames for T61\r\n;(setq default-frame-alist '((top . 22) (left . 685) (width . 73) (height . 44)))\r\n;(setq initial-frame-alist '((top . 22) (left . 1) (width . 73) (height . 44)))\r\n\r\n; Frames for W520\r\n;(setq default-frame-alist '((top . 22) (left . 685) (width . 83) (height . 52)))\r\n;(setq initial-frame-alist '((top . 22) (left . 1) (width . 83) (height . 52)))\r\n\r\n;; Important\r\n;; ---------\r\n;; Some theme from color-themes are conflicting with the previous sets,\r\n;; as it is setting some fonts, then, not default-frame-alist have effect before,\r\n;; but here, until this conflict is fixed, it is possible to apply font to the initial\r\n;; frame, but not to the default new ones created with C-x 5 2, as it is not applying\r\n;; the theme properly.\r\n;;\r\n;; - So, this one is working without new frames, if you want small fonts.\r\n;; - If you want big fonts, just comment below lines.\r\n;; - If you want small fonts with new frames working, then conflict must be fixed\r\n;; between color-theme and those lines, too lazy to fix now\r\n\r\n;; Confortable fonts (small-medium) - Recommended - Cool fonts if want small\r\n\r\n;;(setq default-frame-alist '((top . 16) (left . 2) (width . 102) (height . 70)))\r\n;;(setq initial-frame-alist '((top . 16) (left . 1) (width . 102) (height . 70)))\r\n;;(add-to-list 'default-frame-alist\r\n;; '(font . '-xos4-Terminus-normal-normal-normal-*-12-*-*-*-c-80-iso10646-1'))\r\n\r\n;; Create fonttest.el add some lines for setting the fonts and test launching emacs with\r\n;; 'emacs -q -l fonttest.el' to test conflicts\r\n\r\n;; Specific final configuration frames for W520 frame and windows size in Emacs\r\n\r\n(setq initial-frame-alist '((top . 22) (left . 1) (width . 83) (height . 52)))\r\n;; IMPORTANT, set .Xdefaults like that:\r\n;Emacs.font:Terminus-12\r\n;Emacs*foreground: white\r\n;Emacs*background: black\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Calendar<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Show calendar on start up\r\n;(calendar)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Emacs w3m-lnum<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; This will print out the link numbers in an emacs-w3m buffer\r\n(add-to-list 'load-path \"~\/.emacs.d\/w3m-lnum\/w3m-lnum.el\")\r\n\r\n;; Load w3m\r\n;(require 'w3m-lnum)\r\n;; (defun jao-w3m-go-to-linknum ()\r\n;; 'Turn on link numbers and ask for one to go to.'\r\n;; (interactive)\r\n;; (let ((active w3m-link-numbering-mode))\r\n;; (when (not active) (w3m-link-numbering-mode))\r\n;; (unwind-protect\r\n;; (w3m-move-numbered-anchor (string-to-number (read-string 'Anchor number: ')))\r\n;; (when (not active) (w3m-link-numbering-mode)))))\r\n\r\n;; (define-key w3m-mode-map 'f' 'jao-w3m-go-to-linknum)\r\n(require 'w3m-lnum)\r\n\r\n;; (defun jao-w3m-go-to-linknum ()\r\n;; 'Turn on link numbers and ask for one to go to.'\r\n;; (interactive)\r\n;; (let ((active w3m-link-numbering-mode))\r\n;; (when (not active) (w3m-link-numbering-mode))\r\n;; (unwind-protect\r\n;; (w3m-move-numbered-anchor (string-to-number (read-string 'Anchor number: ')))\r\n\r\n;; (when (not active) (w3m-link-numbering-mode)))))\r\n\r\n;; (define-key w3m-mode-map 'f' 'jao-w3m-go-to-linknum)\r\n\r\n(add-hook 'w3m-mode-hook 'w3m-lnum-mode)\r\n\r\n;; Use:\r\n;; L i -&gt; (w3m-lnum-images) images links\r\n;; L f -&gt; (w3m-lnum-follow) follow links\r\n;; L -&gt; (w3m-lnum-goto)\r\n;; L -&gt; (w3m-lnum-mode) toggle lnum keys mode\r\n;; L -&gt; (w3m-lnum-print-this-url)\r\n;; L u -&gt; (w3m-lnum-universal)\r\n;; L -&gt; (w3m-lnum-download-this-url)\r\n;; L -&gt; (w3m-lnum-)\r\n;; L -&gt; (w3m-lnum-)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Browser: W3M<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Find w3m.el in PATH. Requires apt-get install w3m w3m-img\r\n(add-to-list 'load-path \"\/usr\/share\/emacs\/site-lisp\/w3m\")\r\n\r\n;; Load w3m\r\n(require 'w3m-load)\r\n(require 'w3m)\r\n\r\n;; Display images automatically with w3m\r\n(setq w3m-default-display-inline-images t)\r\n\r\n(setq browse-url-browser-function 'w3m-browse-url)\r\n(setq w3m-cookie-accept-bad-cookies t)\r\n\r\n(setq w3m-add-user-agent nil\r\n\r\nw3m-default-display-inline-images t\r\nw3m-default-save-directory \"~\/.emacs.d\/.w3m\"\r\n\r\nw3m-favicon-use-cache-file t\r\nw3m-init-file \"~\/.emacs.d\/.emacs-w3m\"\r\n\r\nw3m-key-binding (quote info)\r\n\r\nw3m-profile-directory \"~\/.emacs.d\/.w3m\"\r\nw3m-resize-images t\r\n\r\nw3m-use-cookies t\r\nw3m-key-binding (quote info)\r\n\r\nw3m-display-inline-image t\r\nmm-text-html-renderer 'w3m\r\nmm-inline-text-html-with-images t\r\n\r\nmm-inline-large-images t)\r\n\r\n;; The new w3m frame is in white color\r\n;(add-hook 'w3m-mode-hook 'w3m-white-color-mode)\r\n;; When killed the w3m frame will be black color again\r\n;(add-hook 'kill-buffer-hook 'w3m-dark-color-mode)\r\n\r\n; (defun w3m-dark-color-mode()\r\n; (set-background-color 'Black')\r\n; (set-foreground-color 'White')\r\n; )\r\n\r\n; (defun w3m-green-color-mode()\r\n; (set-background-color 'Green')\r\n; (set-foreground-color 'Black')\r\n; )\r\n\r\n; (defun w3m-white-color-mode()\r\n; (set-background-color 'White')\r\n; (set-foreground-color 'Black')\r\n; )\r\n\r\n;; Create new frames when opening a link\r\n;; Define the colors\r\n;; (defun black-on-white ()\r\n;; (interactive)\r\n;; (set-background-color 'black')\r\n;; (set-foreground-color 'white'))\r\n;; ;; Define the new frame\r\n;; (defun make-w3m-frame ()\r\n;; (interactive)\r\n;; (select-frame (make-frame))\r\n;; (black-on-white)\r\n;; (w3m))\r\n;; Create new frame when open a new link\r\n;(add-hook 'w3m-mode-hook 'make-w3m-frame)\r\n\r\n;; Open urls in new tabs from a new frame\r\n;; (defun w3m-new-tab ()\r\n;; (interactive)\r\n;; (w3m-copy-buffer nil nil nil t))\r\n\r\n;; (defun w3m-browse-url-new-tab (url &amp;optional new-session)\r\n;; (interactive)\r\n;; (w3m-new-tab)\r\n;; (w3m-browse-url url))\r\n\r\n;; (setq browse-url-browser-function 'w3m-browse-url\r\n;; browse-url-new-window-flag t)\r\n\r\n;;(setq browse-url-browser-function 'w3m-browse-url-new-tab)\r\n\r\n(setq browse-url-browser-function 'browse-url-firefox\r\nbrowse-url-new-window-flag t\r\nbrowse-url-firefox-new-window-is-tab t)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; EWW Browser<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Set eww the default browser\r\n;; (setq browse-url-browser-function 'eww-browse-url)\r\n\r\n;; (when (fboundp 'eww)\r\n;; (progn\r\n;; (defun xah-rename-eww-hook ()\r\n;; 'Rename eww browser's buffer so sites open in new page.'\r\n;; (rename-buffer 'eww' t))\r\n;; (add-hook 'eww-mode-hook 'xah-rename-eww-hook)))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Customizing personal keybindings<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; ZOOM KEYBINDINGS\r\n;; ----------------\r\n;; C-+ zoom in\r\n;; C-- zoom out\r\n;; C-0 zoom reset\r\n\r\n;; Firefox-like zooming of fonts.\r\n(setq default-font-zoom-index 2)\r\n(setq font-zoom-index default-font-zoom-index)\r\n\r\n;\r\n(setq font-zoom-list\r\n(list \"-*-fixed-*-*-*-*-6-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-10-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-13-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-17-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-18-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-24-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-36-*-*-*-*-*-*-*\"\r\n\"-*-fixed-*-*-*-*-48-*-*-*-*-*-*-*\"))\r\n\r\n(defun font-zoom-increase-font-size ()\r\n(interactive)\r\n(progn\r\n(setq font-zoom-index (min (- (length font-zoom-list) 1)\r\n(+ font-zoom-index 1)))\r\n(set-frame-font (nth font-zoom-index font-zoom-list))))\r\n\r\n(defun font-zoom-decrease-font-size ()\r\n(interactive)\r\n(progn\r\n(setq font-zoom-index (max 0 (- font-zoom-index 1)))\r\n(set-frame-font (nth font-zoom-index font-zoom-list))))\r\n\r\n(defun font-zoom-reset-font-size ()\r\n(interactive)\r\n(progn\r\n(set-frame-font (nth font-zoom-index font-zoom-list))))\r\n\r\n(define-key global-map (read-kbd-macro \"C--\") 'font-zoom-decrease-font-size)\r\n(define-key global-map (read-kbd-macro \"C-=\") 'font-zoom-increase-font-size)\r\n(define-key global-map (read-kbd-macro \"C-0\") 'font-zoom-reset-font-size)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; XLicense<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(load-library \"~\/.emacs.d\/xlicense.el\")\r\n\r\n(define-abbrev-table 'global-abbrev-table\r\n'(\r\n(\"$$license\" '' license-skeleton)\r\n))\r\n\r\n(add-hook 'c-mode-hook (function (lambda nil (abbrev-mode 1))))\r\n(add-hook 'c++-mode-hook (function (lambda nil (abbrev-mode 1))))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Org-mode configuration<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------\r\n<\/span>\r\n(setq org-log-done 'time)\r\n(define-key global-map \"\\C-cl\" 'org-store-link)\r\n(define-key global-map \"\\C-ca\" 'org-agenda)\r\n(setq org-log-done t)\r\n\r\n;; Connect agenda with org files\r\n(setq org-agenda-files (list \"~\/all\/NOW\/tasks.org\"))\r\n\r\n;; ORG+Tasks managing\r\n;; Use C-c C-c to finish a simple task\r\n;; Use C-c C-t to close the full set of tasks\r\n;; Use C-c a t to enter in todo 'all' list\r\n\r\n;; ORG+Tasks priorities\r\n;; C-c , to set tasks priority (priority must be on the top of org file)\r\n;; C-c , + increase priority\r\n;; C-c , - decrease priority\r\n\r\n;; ORG+Agenda\r\n;; C-c C-d for insert a deadline a set of tasks\r\n;; Use C-c C-s for schedule a set of tasks\r\n;; Once select the data press enter and\r\n;; Use C-c a a for org-agenda (investigate)\r\n;; Now pres 'l' (lower case L) to set log mode on\r\n\r\n;; ORG+check\r\n;; C-c \/ d Check deadlines\r\n;; C-c \/ b Check schedules and deadlines\r\n;; C-c \/ a Check deadlines after date\r\n\r\n;; ORG+display\r\n;; C-c - Change numeration (DO NOT USE ON THE TITLES as TODO word will be ignored)\r\n\r\n(add-to-list 'load-path (expand-file-name \"~\/.emacs.d\/ch\/\"))\r\n(require 'org-checklist)\r\n\r\n;; Tracking habits\r\n\r\n;; Show images inline when opening an org file\r\n(add-hook 'org-babel-after-execute-hook 'org-display-inline-images)\r\n(add-hook 'org-mode-hook 'org-display-inline-images)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Cscope + xcscope<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; requires apt-get install cscope and then download xcscope.el and put in place and load-file from .emacs\r\n;; Official website of cscope: http:\/\/cscope.sourceforge.net\/\r\n;; Official website of xcscope: http:\/\/linux.die.net\/man\/1\/xcscope\r\n\r\n;; With cscope\r\n;; cscope-indexer -r -v in the dir to create database (recursive and verbose)\r\n(load-file \"~\/.emacs.d\/xcscope\/xcscope.el\")\r\n(require 'xcscope)\r\n\r\n;; Some easier keybindings to remember\r\n(define-key global-map [(ctrl f3)] 'cscope-set-initial-directory)\r\n(define-key global-map [(ctrl f4)] 'cscope-unset-initial-directory)\r\n(define-key global-map [(ctrl f5)] 'cscope-find-this-symbol)\r\n(define-key global-map [(ctrl f6)] 'cscope-find-global-definition)\r\n(define-key global-map [(ctrl f7)] 'cscope-find-global-definition-no-prompting)\r\n(define-key global-map [(ctrl f8)] 'cscope-pop-mark)\r\n(define-key global-map [(ctrl f9)] 'cscope-next-symbol)\r\n(define-key global-map [(ctrl f10)] 'cscope-next-file) ; p -&gt; prev inside\r\n(define-key global-map [(ctrl f11)] 'cscope-prev-symbol) ; n -&gt; next inside\r\n\r\n(define-key global-map [(ctrl f12)] 'cscope-prev-file)\r\n(define-key global-map [(meta f9)] 'cscope-display-buffer)\r\n(define-key global-map [(meta f10)] 'cscope-display-buffer-toggle)\r\n\r\n;; Default keybindings with C-c s prefix (needs to be editing source code for that lex, yacc, c or c++)\r\n\r\n; These pertain to find symbols\r\n; C-c s s Find symbol.\r\n; C-c s d Find global definition.\r\n; C-c s g Find global definition (alternate binding).\r\n; C-c s G Find global definition without prompting.\r\n; C-c s c Find functions calling a function.\r\n; C-c s C Find called functions (list functions called from a function).\r\n; C-c s t Find text string.\r\n; C-c s e Find egrep pattern.\r\n; C-c s f Find a file.\r\n; C-c s i Find files #including a file.\r\n\r\n; These pertain to navigation through the search results:\r\n; C-c s b Display *cscope* buffer.\r\n; C-c s B Auto display *cscope* buffer toggle.\r\n; C-c s n Next symbol.\r\n; C-c s N Next file.\r\n; C-c s p Previous symbol.\r\n; C-c s P Previous file.\r\n; C-c s u Pop mark.\r\n\r\n; These pertain to setting and unsetting the variable, 'cscope-initial-directory', (location searched for the cscope database directory):\r\n; C-c s a Set initial directory.\r\n; C-c s A Unset initial directory.\r\n\r\n; These pertain to cscope database maintenance:\r\n; C-c s L Create list of files to index.\r\n; C-c s I Create list and index.\r\n; C-c s E Edit list of files to index.\r\n; C-c s W Locate this buffer's cscope directory ( 'W' --&gt; 'where' ).\r\n; C-c s S Locate this buffer's cscope directory. (alternate binding: 'S' --&gt; 'show' ).\r\n; C-c s T Locate this buffer's cscope directory. (alternate binding: 'T' --&gt; 'tell' ).\r\n; C-c s D Dired this buffer's directory.\r\n\r\n; Some interesting variables to configure are:\r\n; cscope-truncate-lines, cscope-use-relative-paths, cscope-index-recursively, cscope-name-line-width, cscope-do-not-update-database, cscope-display-cscope-buffer, cscope-database-regexps\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; TAGS, ETAGS, CTAGS<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; With ETAGS\r\n; Launch in console for the current directory in c\/c++: etags *.c *.h\r\n; Launch in console for the whole tree in c\/c++: find . -name '*.[cChH]' | etags -\r\n; M-. : \u2018find-tag\u2018; look for a tag\r\n; M-, : \u2018tags-loop-continue\u2018; continue to the same occurrence of the tag searched\r\n; M-* : \u2018pop-tag-mark\u2018; return the cursor at the starting point of the searching of the tag\r\n; (not keybinding) : \u2018tags-search\u2018; search for a tag\r\n; (not keybinding) : \u2018tags-query-replace\u2018; replace a tag\r\n; (not keybinding) : 'tags-apropos' : regexp for a tag\r\n; (not keybinding) : \u2018list-tags\u2018; list the tags from a file\r\n; C-u \u2013 M-. ; moves to the previous tag\r\n; C-u M-. ; moves to the next tag\r\n; C-x 4 . : \u2018find-tag-other-window\u2019; search for a tag and show in a different window\r\n; C-u 5 . : \u2018find-tag-other-frame\u2019; search for a tag and show in a different frame\r\n; M-\/ ; autocompletion using dabbrev (is taking care of ETAGS)\r\n; M-\/ M-\/ (or more repetitions); autocompletion with the second, third, etc... option\r\n; (not keybinding) : 'select-tags-table' : select a different table tags\r\n; (not keybinding) : 'visit-tags-table' : shows the table of tags\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; GTAGS<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; (defun gtags-root-dir ()\r\n;; 'Returns GTAGS root directory or nil if doesn't exist.'\r\n;; (with-temp-buffer\r\n;; (if (zerop (call-process 'global' nil t nil '-pr'))\r\n;; (buffer-substring (point-min) (1- (point-max)))\r\n;; nil)))\r\n\r\n;; (defun gtags-update ()\r\n;; 'Make GTAGS incremental update'\r\n;; (call-process 'global' nil nil nil '-u'))\r\n\r\n;; (defun gtags-update-hook ()\r\n;; (when (gtags-root-dir)\r\n;; (gtags-update)))\r\n\r\n;; (add-hook 'after-save-hook #'gtags-update-hook)\r\n\r\n;; ;(global-set-key (kbd 'C-c b') 'gtags-root-dir)\r\n\r\n\r\n;; Global location and ggtags\r\n(add-to-list 'load-path \"~\/.emacs.d\/ggtags\/\")\r\n(load-file \"~\/.emacs.d\/ggtags\/ggtags-0.7.12.el\")\r\n\r\n;; type M-x ggtags-mode to enable minor mode\r\n;; M-. find definitions\r\n;; M-] finds references\r\n;; M-* abort\r\n;; M-n or M-p go to next or previous tags\r\n;; M-o toggles full abbrev\r\n;; M-{ or M-} prev or next file\r\n\r\n;; ;; enable ggtags-mode for c\/c++\/java modes\r\n(add-hook 'c-mode-common-hook\r\n(lambda ()\r\n(when (derived-mode-p 'c-mode 'c++-mode 'java-mode)\r\n(ggtags-mode 1))))\r\n\r\n;; next step is enable cedet + semantic + ggtags support\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Undo<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Undo\r\n;; C-_\r\n;; Redo\r\n;; C-g C-_\r\n;; Check utree and http:\/\/stackoverflow.com\/questions\/3527142\/how-do-you-redo-changes-after-undo-with-emacs\r\n;; C-x z and type z as much as needed\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; C indentation<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; Set basic indentation in c of 4 spaces\r\n(setq-default c-basic-offset 4)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; TABs vs Spaces<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(setq-default indent-tabs-mode 'nil)\r\n;; M-x mark-defun RET TAB RET fixes the function, though %)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Linum (line numbers) M-x linum-mode to enable<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(load-file \"~\/.emacs.d\/linum\/linum.el\")\r\n(require 'linum)\r\n(setq linum-format \"%d \")\r\n;(autoload 'linum 'linum' 'Line numbers for buffers.' t)\r\n(add-hook 'find-file-hook (lambda () (linum-mode 1)))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; AucTeX<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(add-to-list 'load-path \"~\/.emacs.d\/auctex-11.87\/\")\r\n(add-to-list 'load-path \"~\/.emacs.d\/auctex-11.87\/preview\/\")\r\n(load \"auctex.el\" nil t t)\r\n(load \"preview-latex.el\" nil t t)\r\n(setq-default TeX-PDF-mode t)\r\n\r\n;; AucTeX autocompletion (it autocompletes from scratch)\r\n;; Use C-RET\r\n\r\n;; Use ESC-TAB or C-M-i for 'normal' autocompletion\r\n\r\n;; M-\/ is the default completion thing in emacs\r\n\r\n;; Re-define for LaTeX-mode, use TAB for auto-completion\r\n(eval-after-load 'latex\r\n'(define-key LaTeX-mode-map [(tab)] 'TeX-complete-symbol))\r\n\r\n;; C-c C-c to check errors in Latex (if errors check with C-c `)\r\n;; C-c C-p C-d preview-document\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Doc View<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;(add-to-list 'load-path \"~\/.emacs.d\/docview\/\")\r\n(require 'doc-view)\r\n\r\n(defun tex-view ()\r\n(interactive)\r\n(tex-send-command \"xpdf\" (tex-append tex-print-file \".pdf\")))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Column marker<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(add-to-list 'load-path \"~\/.emacs.d\/column-marker\/\")\r\n(require 'column-marker)\r\n; ; C-u 81 M-x column-marker-1\r\n(add-hook 'c-mode-hook (lambda () (interactive) (column-marker-1 81)))\r\n(add-hook 'c++-mode-hook (lambda () (interactive) (column-marker-1 81)))\r\n(add-hook 'lisp-mode-hook (lambda () (interactive) (column-marker-1 81)))\r\n\r\n; Use 'C-c m' interactively to highlight with column-marker-1\r\n(global-set-key [?\\C-c ?m] 'column-marker-1)\r\n; All you need to add column markers\r\n;(column-marker-create column-marker-4 hi-green-b)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Highlight columns<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Highlight lines with &gt;80 columns\r\n; Highlight lines with more than 80 lines in lisp, c and c++ languages\r\n;(add-hook 'emacs-lisp-mode-hook '(lambda () (highlight-lines-matching-regexp \".\\{81\\}\" \"hi-green-b\")))\r\n;(add-hook 'c++-mode-hook '(lambda () (highlight-lines-matching-regexp \".\\{81\\}\" \"hi-green-b\")))\r\n;(add-hook 'c-mode-hook '(lambda () (highlight-lines-matching-regexp \".\\{81\\}\" \"hi-green-b\")))\r\n\r\n(let ((whitespace-line-column 81) ;80 is the default\r\n(whitespace-style '(lines-tail))) ;or '(lines) for the whole line\r\n(whitespace-mode 1))\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; iswitchb (work with buffers confortably)<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; Remember use C-x b and C-s or C-r to shift or unshift the buffer\r\n; also chars could be used to filter the buffer and ENTER or TAB\r\n; could be used to confirm the switch\r\n(require 'iswitchb)\r\n(iswitchb-mode)\r\n\r\n; iswitchb ignores\r\n(add-to-list 'iswitchb-buffer-ignore \"^ \")\r\n(add-to-list 'iswitchb-buffer-ignore \"*Messages*\")\r\n(add-to-list 'iswitchb-buffer-ignore \"*ECB\")\r\n(add-to-list 'iswitchb-buffer-ignore \"*Buffer\")\r\n(add-to-list 'iswitchb-buffer-ignore \"*Completions\")\r\n(add-to-list 'iswitchb-buffer-ignore \"*ftp \")\r\n(add-to-list 'iswitchb-buffer-ignore \"*bsh\")\r\n(add-to-list 'iswitchb-buffer-ignore \"*jde-log\")\r\n(add-to-list 'iswitchb-buffer-ignore \"^[tT][aA][gG][sS]$\")\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Compile<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; Compile and handling regions for errors\r\n(global-set-key (kbd \"C-c c\") 'compile)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Comment regions<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(global-set-key (kbd \"C-c ,\") 'comment-region)\r\n(global-set-key (kbd \"C-c .\") 'uncomment-region)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; EasyPG (GPG for emacs)<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n(require 'epa)\r\n(require 'epa-file)\r\n(epa-file-enable)\r\n\r\n; EPG support for GNUS\r\n(setq gnus-treat-x-pgp-sig t\r\nmm-verify-option 'always\r\nmm-decrypt-option 'always)\r\n\r\n;; To cipher a region\r\n;; M-x epa-encrypt-region OR global F11\r\n(global-set-key [f11] 'epa-encrypt-region)\r\n\r\n\r\n;; To uncipher a region\r\n;; M-x epa-decrypt-region OR global F12\r\n(global-set-key [f12] 'epa-decrypt-region)\r\n\r\n\r\n;; To cipher a file\r\n;; Option1) create directly a .gpg file and edit with emacs\r\n;; Option2) from console use command-line gpg\r\n;; Option3) cipher the whole file using regions\r\n\r\n;; W s to gets message verified?\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Whites (white-space) show blanks<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; M-x whitespace-mode to enable\r\n\r\n;; Reduce colors and chars in whitespace-mode\r\n(setq whitespace-style (quote (spaces tabs newline space-mark tab-mark newline-mark)))\r\n\r\n;; Show Pilcrow sign, etc (xahlee.org\/emacs\/whitespace-mode.html)\r\n(setq whitespace-display-mappings\r\n'(\r\n(space-mark 32 [183] [46]) ;; Normal space\r\n(space-mark 160 [164] [95])\r\n(space-mark 2208 [2212] [95])\r\n(space-mark 2336 [2340] [95])\r\n(space-mark 3616 [3620] [95])\r\n(space-mark 3872 [3876] [95])\r\n(newline-mark 10 [182 10]) ; newline\r\n(tab-mark 9 [9655 9] [92 9]) ; TAB\r\n)\r\n)\r\n\r\n;; Remove trailing spaces\r\n(add-hook 'before-save-hook 'delete-trailing-whitespace)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Regions<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Important keybinding C-M-\\ for indent region\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; TRAMP<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;;(require 'tramp)\r\n;; changed now 2021\r\n\r\n;; C-x C-f \/remotehost:filename RET (or \/method:user@remotehost:filename)\r\n;; C-x C-f \/su::\/etc\/hosts\r\n;; C-x C-f \/sudo::\/etc\/hosts\r\n\r\n; Enable for debugging purposes\r\n;(setq tramp-debug-buffer t)\r\n;(setq tramp-verbose 10)\r\n\r\n;; \/&lt;user&gt;@&lt;host&gt;:\/path\/to\/file or\r\n;; \/&lt;protocol&gt;:&lt;user&gt;@&lt;host&gt;:\/path\/to\/file,\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Informational current character<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; M-x what-cursor-position or C-x =\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; See the power of emacs<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; M-x butterfly -&gt; amazying\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Display colours<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; M-x list-colors-display to see all colours\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Narrowing buffer contents<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; Keybindings\r\n;; C-x n w -&gt; widen\r\n;; C-x n n -&gt; narrow to region\r\n;; C-x n p -&gt; narrow to page\r\n;; C-x n d -&gt; narrow to function\r\n;; C-x n s -&gt; narrow to subtree\r\n\r\n(put 'narrow-to-region 'disabled nil)\r\n;(put 'narrow-to-defun 'disabled nil)\r\n;(put 'narrow-to-page 'disabled nil)\r\n\r\n; More info at: http:\/\/emacs-fu.blogspot.fi\/2010\/08\/narrowing-buffer-contents.html\r\n; More info at: http:\/\/www.emacswiki.org\/emacs\/BasicNarrowing\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Smooth scrolling<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; scroll one line at a time (less jumpy than defaults)\r\n;;(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time\r\n;;(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling\r\n;;(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse\r\n;;(setq scroll-step 1) ;; keyboard scroll one line at a time\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Reminders<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; Erase all reminders and rebuilt reminders for today from the agenda\r\n(defun bh\/org-agenda-to-appt ()\r\n(interactive)\r\n(setq appt-time-msg-list nil)\r\n(org-agenda-to-appt))\r\n\r\n; Rebuild the reminders everytime the agenda is displayed\r\n(add-hook 'org-finalize-agenda-hook 'bh\/org-agenda-to-appt 'append)\r\n\r\n; This is at the end of my .emacs - so appointments are set up when Emacs starts\r\n; This line is currently failing, need more investigation\r\n;(bh\/org-agenda-to-appt)\r\n\r\n; Activate appointments so we get notifications\r\n(appt-activate t)\r\n\r\n; If we leave Emacs running overnight - reset the appointments one minute after midnight\r\n(run-at-time \"24:01\" nil 'bh\/org-agenda-to-appt)\r\n\r\n;; Show agenda on startup (remember remove splash screen)\r\n;(org-todo-list t)\r\n;; FAIL\r\n;(org-agenda-list)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; MELPA packages<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;; MELPHA to get latest git version\r\n;(require 'package)\r\n;(add-to-list 'package-archives\r\n; '('marmalade' . 'http:\/\/marmalade-repo.org\/packages\/'))\r\n; You don't need this one if you prefer marmalade and released versions:\r\n; (add-to-list 'package-archives\r\n; '('melpa' . 'http:\/\/melpa.milkbox.net\/packages\/'))\r\n; (package-initialize)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; MELPA<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n; (\"melpa\" . \"http:\/\/melpa.org\/packages\/\" t)\r\n; '(\"melpa\" . \"http:\/\/melpa.milkbox.net\/packages\/\") t)\r\n\r\n; (require 'package)\r\n; (add-to-list 'package-archives\r\n; '(\"melpa\" . \"http:\/\/melpa.org\/packages\/\") t)\r\n\r\n; (require 'package)\r\n; (add-to-list 'package-archives\r\n; '(\"melpa-stable\" . \"https:\/\/stable.melpa.org\/packages\/\"))\r\n; ;(package-initialize)\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; mu4e email client<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n;(add-to-list 'load-path '~\/.emacs.d\/dotEmacs\/mu4e')\r\n;(add-to-list 'load-path '\/usr\/local\/share\/emacs\/site-lisp\/mu4e')\r\n;(add-to-list 'load-path '\/home\/LOGIN\/.emacs.d\/mu')\r\n\r\n;(require 'mu4e)\r\n;; IMPORTANT: you need to:\r\n;; 1. Create the folder 'Maildir' in case does not exist\r\n;; 2. Turn off secure apps authentication in google settings\r\n;; (normally you get a warning in your email about this option)\r\n;; 3. Check also the two steps authentication\r\n;; 4. Install sqlite and mu4e from commandline (apt or whatever)\r\n;; (setq mu4e-maildir '~\/Maildir')\r\n;; (setq mu4e-drafts-folder '\/Drafts')\r\n;; (setq mu4e-sent-folder '\/Sent')\r\n;; (setq mu4e-trash-folder '\/Trash')\r\n;; (setq mu4e-refile-folder '\/Archives')\r\n\r\n;; ;; don't save message to Sent Messages, Gmail\/IMAP takes care of this\r\n;; (setq mu4e-sent-messages-behavior 'delete)\r\n;; setup some handy shortcuts\r\n;; you can quickly switch to your Inbox -- press ``ji''\r\n;; then, when you want archive some messages, move them to\r\n;; the 'All Mail' folder by pressing ``ma''.\r\n\r\n;; (setq mu4e-maildir-shortcuts\r\n;; '( ('\/INBOX' . ?i)\r\n;; ('\/[Gmail].sent' . ?s)\r\n;; ('\/[Gmail].trash' . ?t)\r\n;; ('\/[Gmail].all' . ?a)))\r\n\r\n;; ;; allow for updating mail using 'U' in the main view:\r\n;; (setq mu4e-get-mail-command 'offlineimap')\r\n\r\n;; (setq mu4e-get-mail-command 'getmail'\r\n;; mu4e-update-interval 300\r\n;; mu4e-attachment-dir '~\/Downloads')\r\n;; (setq\r\n;; user-mail-address 'email@domain'\r\n;; user-full-name 'your full name')\r\n;;message-signature\r\n;;(concat\r\n;;'overdrive (Your Full Name)\\n'\r\n;;'Email: email@domain\\n'\r\n;;'Blog: www.blackhats.es\\n'\r\n;;'Douban: www.linkedin.com\/in\/YOURUSERNAME'\r\n;; '\\n'))\r\n\r\n;(setq message-kill-buffer-on-exit t)\r\n\r\n;(setq\r\n; mu4e-view-show-images t\r\n; mu4e-view-image-max-width 800)\r\n\r\n;(setq mu4e-compose-dont-reply-to-self t)\r\n\r\n;(add-hook 'mu4e-compose-mode-hook (lambda () (buffer-face-set 'bold-italic)))\r\n\r\n;;; Org mode compatibility\r\n\r\n;; Use `org-store-link' to store links, and `org-insert-link' to paste them\r\n\r\n;;(require 'org-mu4e)\r\n\r\n;; sending mail -- replace USERNAME with your gmail username\r\n;; also, make sure the gnutls command line utils are installed\r\n;; package 'gnutls-bin' in Debian\/Ubuntu\r\n\r\n;;(require 'smtpmail)\r\n;; (setq message-send-mail-function 'smtpmail-send-it\r\n;; starttls-use-gnutls t\r\n;; smtpmail-starttls-credentials '(('smtp.gmail.com' 587 nil nil))\r\n;; smtpmail-auth-credentials\r\n;; '(('smtp.gmail.com' 587 'renws1990@gmail.com' nil))\r\n;; smtpmail-default-smtp-server 'smtp.gmail.com'\r\n;; smtpmail-smtp-server 'smtp.gmail.com'\r\n;; smtpmail-smtp-service 587)\r\n\r\n;; don't keep message buffers around\r\n;; (setq message-kill-buffer-on-exit t)\r\n\r\n;; (setq mu4e-refile-folder\r\n;; (lambda (msg)\r\n;; (cond\r\n\r\n;; messages to the mu mailing list go to the \/mu folder\r\n;; ((mu4e-message-contact-field-matches msg :to\r\n;; 'ADDRESS')\r\n;; '\/FOLDER')\r\n\r\n;; messages with football or soccer in the subject go to \/football\r\n;; ((string-match 'PATTERN\\\\|PATTERN'\r\n;; (mu4e-message-field msg :subject))\r\n;; '\/FOLDER')\r\n\r\n;; messages sent by me go to the sent folder\r\n;; ((find-if\r\n;; (lambda (addr)\r\n;; (mu4e-message-contact-field-matches msg :from addr))\r\n;; mu4e-user-mail-address-list)\r\n;; mu4e-sent-folder)\r\n;; ;; everything else goes to \/archive\r\n;; ;; important to have a catch-all at the end!\r\n;; (t '\/archive'))))\r\n\r\n;; ;; MAILDIRS EXTENSION\r\n;; (add-to-list 'load-path '\/home\/LOGIN\/.emacs.d\/mu4e-maildirs-extension')\r\n;; (require 'mu4e-maildirs-extension)\r\n;; (mu4e-maildirs-extension)\r\n;; mu4e-maildirs-extension-parse '\/Maildir')\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; GNUS dired with mu4e<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n;; Attaching files with C-c &lt;RET&gt; C-a\r\n\r\n;; (require 'gnus-dired)\r\n;; ;; make the `gnus-dired-mail-buffers' function also work on\r\n;; ;; message-mode derived modes, such as mu4e-compose-mode\r\n;; (defun gnus-dired-mail-buffers ()\r\n;; 'Return a list of active message buffers.'\r\n;; (let (buffers)\r\n;; (save-current-buffer\r\n;; (dolist (buffer (buffer-list t))\r\n;; (set-buffer buffer)\r\n;; (when (and (derived-mode-p 'message-mode)\r\n;; (null message-sent-message-via))\r\n;; (push (buffer-name buffer) buffers))))\r\n;; (nreverse buffers)))\r\n\r\n;; (setq gnus-dired-mail-mode 'mu4e-user-agent)\r\n;; (add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode)\r\n\r\n;; ;; Viewing inline images\r\n;; ;; enable inline images\r\n;; (setq mu4e-view-show-images t)\r\n;; ;; use imagemagick, if available\r\n;; (when (fboundp 'imagemagick-register-types)\r\n;; (imagemagick-register-types))\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; LaTeX preview<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n;; Latex preview inside emacs intead okular or any ext app:\r\n;(add-hook 'doc-view-mode-hook\r\n; 'auto-revert-mode)\r\n(setq text-mode-hook '(lambda() (flyspell-mode t) ))\r\n(add-hook 'LaTeX-mode-hook 'flyspell-mode)\r\n\r\n; Preview in the next frame constantly\r\n;(add-hook 'LaTeX-mode-hook 'latex-preview-pane-mode)\r\n\r\n(add-hook 'LaTeX-mode-hook\r\n(lambda()\r\n(local-set-key [C-tab] 'TeX-complete-symbol)))\r\n(custom-set-faces\r\n;; custom-set-faces was added by Custom.\r\n;; If you edit it by hand, you could mess it up, so be careful.\r\n;; Your init file should contain only one such instance.\r\n;; If there is more than one, they won't work right.\r\n'(erc-input-face ((t (:foreground \"medium spring green\"))))\r\n'(erc-my-nick-face ((t (:foreground \"red\" :weight bold)))))\r\n;; Hack mode, you would need to remove one parenthesis from the top and disable the next line\r\n;;'(erc-notice-face ((t (:foreground \"green\" :weight bold)))))\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; org-protocol<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n(server-start)\r\n(require 'org-protocol)\r\n\r\n;; (setq org-protocol-default-template-key 'l')\r\n;; (setq org-capture-templates\r\n;; '(('t' 'Todo' entry (file+headline 'Dropbox\/LIPT\/tasks.org' 'Tasks')\r\n;; '* TODO %?\\n %i\\n %a')\r\n;; ('l' 'Link' entry (file+olp 'Dropbox\/LIPT\/tasks.org' 'Web Links')\r\n;; '* %a\\n %?\\n %i')\r\n;; ('j' 'Journal' entry (file+datetree 'ALL\/notes\/journal.org')\r\n;; '* %?\\nEntered on %U\\n %i\\n %a')))\r\n(setq org-capture-templates\r\n(quote ((\"r\" \"Reference\" entry (file \"Dropbox\/LIPT\/bookmarks.org\")\r\n\"* %?\\n\\n%u\\n\" )\r\n(\"f\" \"Firefox\" entry (file \"Dropbox\/LIPT\/bookmarks.org\")\r\n\"* %c%?\\n\" )\r\n)))\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Special characters<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n; Decode chars\r\n; Eg. C-x 8 _ 2 (sub script 2)\r\n; Eg. C-x 8 ^ 2 (super script 2)\r\n(require 'iso-transl)\r\n\r\n(iso-transl-define-keys\r\n`((\"^0\" . ,(vector (decode-char 'ucs #x2070)))\r\n(\"^4\" . ,(vector (decode-char 'ucs #x2074))) ; 1-3 already defined\r\n(\"^5\" . ,(vector (decode-char 'ucs #x2075)))\r\n(\"^6\" . ,(vector (decode-char 'ucs #x2076)))\r\n(\"^7\" . ,(vector (decode-char 'ucs #x2077)))\r\n(\"^8\" . ,(vector (decode-char 'ucs #x2078)))\r\n(\"^9\" . ,(vector (decode-char 'ucs #x2079)))\r\n(\"^+\" . ,(vector (decode-char 'ucs #x207A)))\r\n(\"^-\" . ,(vector (decode-char 'ucs #x207B)))\r\n(\"^=\" . ,(vector (decode-char 'ucs #x207C)))\r\n(\"^(\" . ,(vector (decode-char 'ucs #x207D)))\r\n(\"^)\" . ,(vector (decode-char 'ucs #x207E)))\r\n(\"_0\" . ,(vector (decode-char 'ucs #x2080)))\r\n(\"_1\" . ,(vector (decode-char 'ucs #x2081)))\r\n(\"_2\" . ,(vector (decode-char 'ucs #x2082)))\r\n(\"_3\" . ,(vector (decode-char 'ucs #x2083)))\r\n(\"_4\" . ,(vector (decode-char 'ucs #x2084)))\r\n(\"_5\" . ,(vector (decode-char 'ucs #x2085)))\r\n(\"_6\" . ,(vector (decode-char 'ucs #x2086)))\r\n(\"_7\" . ,(vector (decode-char 'ucs #x2087)))\r\n(\"_8\" . ,(vector (decode-char 'ucs #x2088)))\r\n(\"_9\" . ,(vector (decode-char 'ucs #x2089)))\r\n(\"_+\" . ,(vector (decode-char 'ucs #x208A)))\r\n(\"_-\" . ,(vector (decode-char 'ucs #x208B)))\r\n(\"_=\" . ,(vector (decode-char 'ucs #x208C)))\r\n(\"_(\" . ,(vector (decode-char 'ucs #x208D)))\r\n(\"_)\" . ,(vector (decode-char 'ucs #x208E)))))\r\n\r\n;; Greek letters\r\n;; by default can be done with C-c C-x \\ GREEK_LETTER (use TAB)\r\n;; Just type e.g.:\r\n;; M-g a to write alpha\r\n;; M-g b to write beta\r\n(global-set-key (kbd \"M-g a\") \"\u03b1\")\r\n(global-set-key (kbd \"M-g b\") \"\u03b2\")\r\n(global-set-key (kbd \"M-g g\") \"\u03b3\")\r\n(global-set-key (kbd \"M-g d\") \"\u03b4\")\r\n(global-set-key (kbd \"M-g e\") \"\u03b5\")\r\n(global-set-key (kbd \"M-g z\") \"\u03b6\")\r\n(global-set-key (kbd \"M-g h\") \"\u03b7\")\r\n(global-set-key (kbd \"M-g q\") \"\u03b8\")\r\n(global-set-key (kbd \"M-g i\") \"\u03b9\")\r\n(global-set-key (kbd \"M-g k\") \"\u03ba\")\r\n(global-set-key (kbd \"M-g l\") \"\u03bb\")\r\n(global-set-key (kbd \"M-g m\") \"\u03bc\")\r\n(global-set-key (kbd \"M-g n\") \"\u03bd\")\r\n(global-set-key (kbd \"M-g x\") \"\u03be\")\r\n(global-set-key (kbd \"M-g o\") \"\u03bf\")\r\n(global-set-key (kbd \"M-g p\") \"\u03c0\")\r\n(global-set-key (kbd \"M-g r\") \"\u03c1\")\r\n(global-set-key (kbd \"M-g s\") \"\u03c3\")\r\n(global-set-key (kbd \"M-g t\") \"\u03c4\")\r\n(global-set-key (kbd \"M-g u\") \"\u03c5\")\r\n(global-set-key (kbd \"M-g f\") \"\u03d5\")\r\n(global-set-key (kbd \"M-g j\") \"\u03c6\")\r\n(global-set-key (kbd \"M-g c\") \"\u03c7\")\r\n(global-set-key (kbd \"M-g y\") \"\u03c8\")\r\n(global-set-key (kbd \"M-g w\") \"\u03c9\")\r\n(global-set-key (kbd \"M-g A\") \"\u0391\")\r\n(global-set-key (kbd \"M-g B\") \"\u0392\")\r\n(global-set-key (kbd \"M-g G\") \"\u0393\")\r\n(global-set-key (kbd \"M-g D\") \"\u0394\")\r\n(global-set-key (kbd \"M-g E\") \"\u0395\")\r\n(global-set-key (kbd \"M-g Z\") \"\u0396\")\r\n(global-set-key (kbd \"M-g H\") \"\u0397\")\r\n(global-set-key (kbd \"M-g Q\") \"\u0398\")\r\n(global-set-key (kbd \"M-g I\") \"\u0399\")\r\n(global-set-key (kbd \"M-g K\") \"\u039a\")\r\n(global-set-key (kbd \"M-g L\") \"\u039b\")\r\n(global-set-key (kbd \"M-g M\") \"\u039c\")\r\n(global-set-key (kbd \"M-g N\") \"\u039d\")\r\n(global-set-key (kbd \"M-g X\") \"\u039e\")\r\n(global-set-key (kbd \"M-g O\") \"\u039f\")\r\n(global-set-key (kbd \"M-g P\") \"\u03a0\")\r\n(global-set-key (kbd \"M-g R\") \"\u03a1\")\r\n(global-set-key (kbd \"M-g S\") \"\u03a3\")\r\n(global-set-key (kbd \"M-g T\") \"\u03a4\")\r\n(global-set-key (kbd \"M-g U\") \"\u03a5\")\r\n(global-set-key (kbd \"M-g F\") \"\u03a6\")\r\n(global-set-key (kbd \"M-g J\") \"\u03a6\")\r\n(global-set-key (kbd \"M-g C\") \"\u03a7\")\r\n(global-set-key (kbd \"M-g Y\") \"\u03a8\")\r\n(global-set-key (kbd \"M-g W\") \"\u03a9\")\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Robot framework<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n(load-file \"~\/.emacs.d\/robot-mode\/robot-mode.el\")\r\n(require 'robot-mode)\r\n\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Python Development Setup<\/span>\r\n<span style=\"color: #ff0000;\">;;----------------------------------------------------------<\/span>\r\n\r\n;; Enable elpy\r\n;(require 'elpy)\r\n;(elpy-enable)\r\n\r\n;; Use IPython for REPL\r\n\r\n;; (setq python-shell-interpreter 'jupyter'\r\n;; python-shell-interpreter-args 'console --simple-prompt'\r\n;; python-shell-prompt-detect-failure-warning nil)\r\n;; (add-to-list 'python-shell-completion-native-disabled-interpreters\r\n;; 'jupyter')\r\n\r\n;; Enable Flycheck\r\n(when (require 'flycheck nil t)\r\n(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))\r\n(add-hook 'elpy-mode-hook 'flycheck-mode))\r\n\r\n;; Enable autopep8\r\n;; (require 'py-autopep8)\r\n;; (add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)\r\n\r\n;(require 'carbon-font)\r\n;(fixed-width-set-default-fontset\r\n; \"-apple-inconsolata-medium-r-normal--14-*-*-*-*-*-iso10646-1\")\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Color theme<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;;(add-to-list 'custom-theme-load-path\r\n;; (file-name-as-directory \"\/home\/LOGIN\/.emacs.d\/replace-colorthemes\"))\r\n\r\n;;(load-theme 'oswald t t)\r\n;;(enable-theme 'oswald)\r\n\r\n;;(set-default-font \"Terminus-12\")\r\n;(set-default-font 'set-default-font \"-xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-15\")\r\n(setq default-frame-alist '((top . 22) (left . 685) (width . 83) (height . 52)))\r\n;(add-to-list 'default-frame-alist '(font . \"-xos4-terminus-bold-r-normal--16-120-72-72-c-60-iso8859-15\"))\r\n\r\n(add-to-list 'load-path \"~\/.emacs.d\/color-theme-6.6.0_2\")\r\n(require 'color-theme)\r\n(color-theme-initialize)\r\n(color-theme-tty-dark)\r\n\r\n; Other cool themes\r\n;(color-theme-charcoal-personal)\r\n;(color-theme-hober2)\r\n;(color-theme-blackboard)\r\n;(color-theme-tomtt)\r\n;(color-theme-twilight)\r\n;(color-theme-dark-erc)\r\n;(color-theme-goldenrod)\r\n;(color-theme-less)\r\n;(color-theme-subdued)\r\n;(color-theme-akk)\r\n\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n<span style=\"color: #ff0000;\">;; Advanced highlight (see also 'highlight' section)<\/span>\r\n<span style=\"color: #ff0000;\">;; ---------------------------------------------------------------------------<\/span>\r\n\r\n;(setq search-highlight t) ; Highlight search object\r\n;(setq query-replace-highlight t) ; Highlight query object\r\n(setq mouse-sel-retain-highlight t) ; Keep mouse high-lightening\r\n(set-face-background 'region \"red\") ; Set region background color\r\n(set-face-foreground 'region \"black\") ; Set region foreground color\r\n; next to rows fails for some reason on 27.10.2018\r\n;(set-face-background 'isearch-lazy-highlight-face \"yellow\") ; Set isearch background color\r\n;(set-face-foreground 'isearch-lazy-highlight-face \"black\") ; Set isearch foreground color\r\n(set-face-background 'isearch \"white\") ; Set highlight background color\r\n(set-face-foreground 'isearch \"black\") ; Set highlight foreground color\r\n; blue-white\r\n; green-black\r\n\r\n; Disabled for a moment\r\n(set-face-background 'modeline \"blue\")\r\n(set-face-foreground 'modeline \"white\")\r\n(set-face-background 'mode-line-buffer-id \"blue\")\r\n(set-face-foreground 'mode-line-buffer-id \"white\")\r\n(set-face-foreground 'which-func \"white\")\r\n(set-face-background 'which-func \"blue\")\r\n\r\n;; Overwrite the modeline theme BUG FOUND!\r\n(set-face-background 'mode-line-buffer-id \"grey\")\r\n(set-face-foreground 'mode-line-buffer-id \"black\")\r\n\r\n;; Test change modeline (CORRECT) - Conflicting with previous set-face-background and foreground\r\n(set-face-background 'modeline \"dark slate blue\")\r\n(set-face-foreground 'modeline \"White\")\r\n\r\n; hacker mode\r\n;(add-to-list 'default-frame-alist '(foreground-color . \"green\"))\r\n;(add-to-list 'default-frame-alist '(background-color . \"black\"))\r\n\r\n;; M-x list-faces-display\r\n;; will show difference faces available\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En caso de configuraciones con distintas secciones, estas estan separadas por lineas marcadas en rojo, los comentarios con un ; seran lineas elisp validas comentadas por alguna razon, mientras que las que posean dos ;; implicara algun comentario clarificatorio. Intento mantener una estructura y formato bastante estricto pero creo que se me puede haber pasado [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":5,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-96","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/96"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=96"}],"version-history":[{"count":15,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/96\/revisions"}],"predecessor-version":[{"id":846,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/96\/revisions\/846"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}