(require 'cc-mode) ; modo para C/C++ (require 'speedbar); Para el speedbar ; Para que se marquen los parentesis y ; y las llaves (require 'paren) (setq search-highlight t) (setq query-replace-highlight t) (setq default-fill-column 77) (add-hook 'text-mode-hook 'turn-on-auto-fill) (add-hook 'c++-mode-hook 'turn-on-auto-fill) (add-hook 'c-mode-hook 'turn-on-auto-fill) ; no aņade lineas vacias al final (setq next-line-add-newlines nil) ; No indenta dentro de literales (setq c-tab-always-indent "other") ; Espacios en vez de tabulador (setq-default indent-tabs-mode nil) ; Coloreado automatico de sintaxis para todos ; los modos reconocidos (global-font-lock-mode t) (setq font-lock-support-mode 'lazy-lock-mode) ; No existe tamno maximo de buffer para colorear ; los buffers (setq font-lock-maximum-size nil) (require 'font-lock) (require 'lazy-lock) ; Retorno de carro identa la siguiente linea (define-key c-mode-map "\C-m" 'newline-and-indent) (define-key c++-mode-map "\C-m" 'newline-and-indent) (define-key global-map [(control return)] 'dabbrev-expand) (require 'speedbar) (require 'tempo) (setq tempo-interactive t) (defvar c-tempo-tags nil "tabla de plantillas tempo para el modo C") (defvar c++-tempo-tags nil "tabla de plantillas tempo para el modo C++") ; Asignamos la tabla de plantillas para C/C++ a los ; modos de C y C++ (add-hook 'c-mode-hook '(lambda () (tempo-use-tag-list 'c-tempo-tags) )) (add-hook 'c++-mode-hook '(lambda () (tempo-use-tag-list 'c-tempo-tags) (tempo-use-tag-list 'c++-tempo-tags) )) (define-key c++-mode-map [(control shift return)] 'tempo-expand-if-complete) (define-key c-mode-map [(control shift return)] 'tempo-expand-if-complete) (define-key c++-mode-map [(control shift left)] 'tempo-backward-mark) (define-key c-mode-map [(control shift left)] 'tempo-backward-mark) (define-key c++-mode-map [(control shift right)] 'tempo-forward-mark) (define-key c-mode-map [(control shift right)] 'tempo-backward-mark) ;; C-Mode Templates (tempo-define-template "c-if" '(> "if (" p ")" n> "{" > n > p n "}" > n> ) "if" "Inserta un if de c" 'c-tempo-tags) (tempo-define-template "c-ife" '(> "if (" p ")" n> "{" > n > p n "}" > n> "else" > n "{" > n> > p n "}" > n> ) "ife" "Inserta una construccion if-else de c" 'c-tempo-tags) (tempo-define-template "c-for" '(> "for (" p ";" p ";" p ")" n> "{" > n > p n "}" > n> ) "for" "Inserta una construccion for de c" 'c-tempo-tags) (tempo-define-template "c-switch" '(> "switch (" p ")" n> "{" > n "case " p ":" > n > p > n "break;" > n "default:" > n > "break;" > n "}" > n ) "switch" "Inserta una construccion switch de c" 'c-tempo-tags) (tempo-define-template "c-case" '(> "case " p ":" n > > p > n > "break;" > n ) "case" "Inserta una entrada case de c" 'c-tempo-tags) (tempo-define-template "c-while" '(> "while (" p ")" > n "{" > n > p > n > "}" > n ) "while" "Inserta una construccion while de c" 'c-tempo-tags) (tempo-define-template "c-dowhile" '(> "do" > n "{" > n > p > n > "} while (" p ");" > n ) "do" "Inserta una construccion do while de c" 'c-tempo-tags)