[RISOLTO] Allineare le parentesi graffe su Emacs?

Configurazione e uso di IDE, editor, compilatori, in fase di programmazione.
Avatar utente
Antony_Ub
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 359
Iscrizione: domenica 19 maggio 2013, 18:53

[RISOLTO] Allineare le parentesi graffe su Emacs?

Messaggio da Antony_Ub »

Ciao a tutti ragazzi,
Ho notato che quando utilizzo una mia mode C++ e C e vado a digitare una struttura di controllo, le parentesi graffe non si allineano con l'istruzione. Mi spiego meglio: ho impostato il file .emacs in modo tale che quando digito "sif" all'interno di uno script, questo viene rimpiazzato con il codice seguente:

Codice: Seleziona tutto

	    
if ()
{
 // corpo della struttura di controllo
}
e il cursore viene riposizionato tra le parentesi tonde. Il codice Emacs Lisp che mi permette di fare ciò è questo (file .emacs):

Codice: Seleziona tutto

 ;;; sample abbrev definitions
    (eval-after-load "cc-mode"
      '(declare-abbrevs (c-mode-abbrev-table c++-mode-abbrev-table)
                  (("sif"    "if ()\n{\n\n}\n" "C-M-b C-M-b C-f")
                  .... ; altre abbreviazioni
                  .... ; altre abbreviazioni
     )))
Il mio problema è che quando ho una struttura di controllo "indentata" all'interno di un'altra, le parentesi graffe non si allineano assieme all'istruzione:

Codice: Seleziona tutto

if ()
{
  if ()
{
          if ()
{

}
}
}
Io invece vorrei ottenere questo:

Codice: Seleziona tutto

if ()
{
  if ()
  {
          if ()
          {

          }
  }
}
Per facilitare la lettura del codice.
Qualcuno sa come implementare una funzionalità del genere all'interno del mio .emacs in modo che sia utilizzata automaticamente ad ogni suo avvio?
Ultima modifica di Antony_Ub il mercoledì 9 ottobre 2013, 17:52, modificato 1 volta in totale.
There are 10 kinds of people in the world. Those that understand binary, and those that don't.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Codice ELisp per allineare le parentesi graffe su Emacs?

Messaggio da crap0101 »

hai provato ad aggiungere alle combinazioni di tasti che usi per spostarti dove vuoi anche quella per indentare il blocco di codice precedente?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
Antony_Ub
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 359
Iscrizione: domenica 19 maggio 2013, 18:53

Re: Codice ELisp per allineare le parentesi graffe su Emacs?

Messaggio da Antony_Ub »

Ciao crap0101, grazie del consiglio! Ho risolto con un "indent-style" per C++/C e con una combinazione di "C-j" che spostano il cursore sulla riga successiva ma in linea alla riga che c'è sopra. :)
There are 10 kinds of people in the world. Those that understand binary, and those that don't.
Scrivi risposta

Ritorna a “Strumenti per la programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti