2010-11-18 11 views
4

Y at-il une commande/mode dans emacs pour mettre en forme un bloc de texte comme celui-ci:Emacs - comment mettre en forme un bloc de texte sous forme de feuille de calcul?

; before 
; p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
i 107 0 1 10000 440 1 
i 107 1.5 1 20000 220 2 
i 107 3 2 10000 110 2 
i 107 3.5 2.5 10000 138.6 2 
i 107 4 2 5000 329.6 2 
i 107 4.5 1.5 6000 440 2 
i 108 7 1 10000 440 1 2 3 1 
i 108 8.5 1 10000 220 1 0.5 8 1 
i 108 10 3 10000 110 1 1 13 1 
i 108 10.5 2.5 10000 130.8 1 2.001 8 1 

dans tout cela?

; after 
; p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
i 107 0 1 10000 440 1 
i 107 1.5 1 20000 220 2 
i 107 3 2 10000 110 2 
i 107 3.5 2.5 10000 138.6 2 
i 107 4 2 5000 329.6 2 
i 107 4.5 1.5 6000 440 2 
i 108 7 1 10000 440 1 2  3 1 
i 108 8.5 1 10000 220 1 0.5 8 1 
i 108 10 3 10000 110 1 1  13 1 
i 108 10.5 2.5 10000 130.8 1 2.001 8 1 

Répondre

4

essayer M-x table-capture

+0

+1: J'apprends quelque chose de nouveau sur Emacs tous les jours. –

+0

+1 capture de table est génial. – ocodo

+0

Je pense en quelque sorte que la capture de table est confuse. Je l'ai essayé plusieurs fois et je n'arrivais pas à le faire fonctionner correctement. Existe-t-il un moyen d'exécuter la commande pour une table sans frontières? – artsince

1

Je ne suis pas sûr que c'est la même, mais l'org-mode a un grand soutien de la table

activer org-mode et vous pouvez soit essayer un de ces

  • enregistrer une macro de clavier pour ajouter '|' entre champs (si vos tables ne sont pas vides, alias pas de cellule vide)

  • utilisez regexp-replace pour convertir l'espace en '|'

puis jouer avec elle comme dans Excel

ps: si vous avez besoin de plus, il suffit de demander

1

Vous pouvez utiliser le support de table org-mode emacs pour créer une table de la région, puis supprimez les séparateurs de colonnes une fois terminé.

en surbrillance la région en question, puis exécutez

M-x org-table-create-or-convert-from-region 

Vos résultats ressemblera à ceci:

; before 
| ; | p1 | p2 | p3 | p4 | p5 | p6 | p7 | p8 | p9 | p10 | 
| i | 107 | 0 | 1 | 10000 | 440 | 1 |  | | |  | 
| i | 107 | 1.5 | 1 | 20000 | 220 | 2 |  | | |  | 
| i | 107 | 3 | 2 | 10000 | 110 | 2 |  | | |  | 
| i | 107 | 3.5 | 2.5 | 10000 | 138.6 | 2 |  | | |  | 
| i | 107 | 4 | 2 | 5000 | 329.6 | 2 |  | | |  | 
| i | 107 | 4.5 | 1.5 | 6000 | 440 | 2 |  | | |  | 
| i | 108 | 7 | 1 | 10000 | 440 | 1 |  2 | 3 | 1 |  | 
| i | 108 | 8.5 | 1 | 10000 | 220 | 1 | 0.5 | 8 | 1 |  | 
| i | 108 | 10 | 3 | 10000 | 110 | 1 |  1 | 13 | 1 |  | 
| i | 108 | 10.5 | 2.5 | 10000 | 130.8 | 1 | 2.001 | 8 | 1 |  | 

À ce stade, vous pouvez rechercher et remplacer le | Caractère séparant les colonnes pour obtenir

; before 
; p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
i 107 0 1 10000 440 1     
i 107 1.5 1 20000 220 2     
i 107 3 2 10000 110 2     
i 107 3.5 2.5 10000 138.6 2     
i 107 4 2 5000 329.6 2     
i 107 4.5 1.5 6000 440 2     
i 108 7 1 10000 440 1  2 3 1  
i 108 8.5 1 10000 220 1 0.5 8 1  
i 108 10 3 10000 110 1  1 13 1  
i 108 10.5 2.5 10000 130.8 1 2.001 8 1