2009-07-03 7 views
4

J'écris un document avec Emacs. Comme vous le savez, il y a des segments de code dans le fichier texte avec lequel je travaille. En général, lorsque j'ouvre ce fichier, emacs passe automatiquement en mode texte. Et ça marche très bien pour moi d'éditer les paragraphes ordinaires. Mais pour ces segments de code, comment pourrais-je les indenter dans le style gnu ou linux comme ce que je pourrais faire en mode c (par c-set-style & & faire Ctrl-Alt- \ dans certaines régions)? En fait, je pourrais tourner le tampon en mode c en invoquant M-x c-mode pour ce faire, cependant, je pense qu'il devrait y avoir beaucoup de façon gracieuse de le faire en mode texte.En utilisant Emacs, comment mettre en retrait/formater un segment de code dans un fichier TXT?

+0

écrire un raccourci pour M-x c-mode et M-x en mode texte – hiena

Répondre

5

orgmode parvient à le faire en copiant le code sur un tampon temporaire où vous modifiez le format & et en mettant à jour le texte modifié lorsque vous avez terminé.

Si le passage à une option est org-mode, alors vous le faites comme ceci:

#+BEGIN_SRC emacs-lisp 
(defun org-xor (a b) 
    "Exclusive or." 
    (if a (not b) b)) 
#+END_SRC 

et commencer et terminer l'édition avec C-c '.

Modifier: Emacswiki a un list of multiple modes.

+0

Merci pgs! Je vais essayer ça. Je ne suis pas familier avec cela, mais orgmode semble génial pour arranger quelque chose. Existe-t-il d'autres méthodes pour le faire de manière directe? Telles que le marquage d'une région et l'invocation de certaines fonctions ou fonctions personnalisées en elle? – jcadam

+1

Vous pouvez également être en mesure de le faire avec l'une des façons d'exécuter plusieurs modes majeurs, et M-x indent-région. – pgs

0

Vous pouvez marquer la région, puis réduire la vue à la région, modifier le mode, mettre en retrait, revenir en mode texte et revenir au tampon complet à nouveau. J'oublie les raccourcis exacts en ce moment, mais il devrait être assez facile de se transformer en fonction.

+0

C-x n n: étroit à la région. C-x nw: élargit, c'est-à-dire affiche le tampon entier. – legoscia

Questions connexes