[Linuxtrent] Re: emacs: tab e indentazione

  • From: ianezz@xxxxxxxxxx
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 15 Jan 2003 15:38:28 +0100

Pare che Laura Gatti, in un momento di ispirazione, abbia scritto:

 > Ho scritto una classe java con un editor piccolo piccolo ma carino
 > (wscite) con rientro dei blocchi fatto con il tab che corrisponde 
 > a due caratteri.

<in breve>

   Se in Emacs il file e` giusto, apri il file con Emacs, seleziona
   tutto (C-x h), M-x untabify, salvalo.

</in breve>




<meno in breve>

Negli editor "decenti" la dimensione dei tab non ha nulla a che vedere
con la dimensione dei rientri, nel senso che i tab sono sempre da 8
caratteri (e guai a chi la cambia ;-), mentre per i rientri si usano
opportune combinazioni di spazi e tab-da-8-caratteri.

Nel mondo Windows, per ragioni che mi sfuggono, il concetto non pare
ben chiaro, e ci si ritrova sempre con il "genio della situazione"
(senza offesa :-) che per cambiare le dimensioni dei rientri va a
cambiare le dimensioni dei tab, ma che poi va REGOLARMENTE ad usare un
mix di tab e spazi per i rientri. 

Il risultato e` tipicamente un bel casino per tutti gli altri che
devono leggere/stampare il codice, visto che:

 a) la dimensione di un tab non e` un'informazione che possa essere
    conservata in maniera trasparente in un file di puro testo;

 b) ognuno ha le sue preferenze (del suo editor).

 > Poi l'ho aperto con emacs, e il tab non era lungo due 
 > ma 8 caratteri. Poi l'ho modificato e salvato. Infine l'ho riaperto con
 > l'altro editor, wscite, e tutta l'indentazione e` andata a farsi friggere,

Perche` Emacs, per default, ottimizza i rientri usando combinazioni di
spazi e di tab-da-8-spazi [1]. L'altro editor ovviamente considera i tab
come da due spazi e, giustamente, mostra una cosa diversa.

 > Come posso fare ad evitare questo spiacevole inconveniente?

1) Lasciare i tab a 8, punto e stop. Trattala come una costante
   universale. :-)

2) Modficare la dimensione dei rientri. 

3) Se l'editor in questione non concepisce la differenza tra la
   dimensione dei tab e la dimensione dei rientri, buttare l'editor,
   che tanto ce ne sono a migliaia in giro (tra cui JEdit, Emacs e Vim)
   che son fatti decisamente meglio.

</meno in breve>
----

[1] In Emacs le dimensioni dei rientri per i linguaggi C-like sono
    facilmente configurabili via
  
      M-x customize-variable c-basic-offset

    (dopo aver caricato il cc-mode, ad es. aprendo un file C o C++ o
    Java).

    E` anche configurabile la dimensione dei tab... pero` non vi dico
    come. ;-)
-- 
 |   \    \  | ___|_  |_  | ianezz AT sodalia.it
 |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
_|_/  _\_|  _|____|___|___| http://www.linuxtrent.it
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: