Tips and Tricks
(require 'iswitchb)
(iswitchb-default-keybindings)
(add-hook 'iswitchb-make-buflist-hook 'iswitchb-summaries-to-end)
(defun iswitchb-summaries-to-end ()
""
(let ((summaries (delq nil (mapcar
(lambda (x)
(if (or
(string-match "Summary" x)
(string-match "^ ?\\*.*\\*$" x))
x))
iswitchb-temp-buflist))))
(iswitchb-to-end summaries)))
(fset 'yes-or-no-p 'y-or-n-p)
(require 'uniquify) ;; /foo/bar/mumble/name and /baz/quux/mumble/name ;; will be named : nameAND name (setq uniquify-buffer-name-style 'post-forward-angle-brackets)
- C-c C-c Commente la région active
- C-u C-c C-c Décommente la région active
- C-c C-\ Rajote des backslashes à la fin de toutes les lignes (sauf la dernière) de la région active. Pratique pour les macros !
- C-u C-c C-\ Enlève tous les backslashes trouvés en fin des lignes de la région active
c-utils
c-utils.el permet la génération automatique des entêtes de fichiers .c et .h, ainsi que des fonctions en se basant sur des templates.
Ces templates peuvent comporter des tags. Certains tags sont prédéfinis (comme le nom du fichier ou la date), mais l'utilisateur peut les redéfinir ou en définir de nouveaux.
Un petit exemple vaut mieux qu'un long discours ... on commence par taper la fonction suivante :
int toto ( int var1, char *var2, struct list *h, ...) { }
Et supposons que le template pour les header de fonctions soit:
(setq cut-function-header-tmpl
'( ""
"Function: @@funcname@@"
""
" @param @@argname@@ (type @@argtype@@) - "
""
" @returns @@returntype@@"
)
)
(setq cut-function-header-style 'java-style)
alors un appel à la fonction cut-add-function-header, insérera le header de fonction suivant:
/** * * Function: toto * * @param var1 (type int) - * * @param var2 (type char *) - * * @param h (type struct list *) - * * @param ... (type variable arguments) - * * * @returns int */ int toto ( int var1, char *var2, struct list *h, ...) { }
J'essaierai d'écrire une documentation plus fournie bientôt, mais en attendant, vous pouvez toujours lire le code ... De plus toutes les variables utiles peuvent être settées via le "customize", dans la catégorie Programming -> Tools -> Cut.