2010-07-27 6 views
5

in gedit è possibile definire i cosiddetti "snippet" per un input più semplice.Emacs: inserisci comandi come in gedit

Ad esempio, c'è uno snippet while. Ciò significa: Se si digita while -> (-> sta per tasto di tabulazione). E gedit converte automaticamente al seguente (tra cui corretta indentazione):

while (condition){ 

} 

In vim (in collaborazione con il lattice-suite) ho visto il seguente: Se si digita (, inserti Vim solo un ( Se. si digita ( una seconda volta, vim converte automaticamente \left( \right).

ho trovato abbrev-mode ma questa modalità non posizionare il cursore correttamente (cioè tra parentesi o all'interno di while).

Sono riuscito a creare combinazioni di tasti personalizzate/macro che fanno lo stesso (senza dover premere il tasto Tab), quindi so che è possibile.

Tuttavia, c'è già e pacchetto in cui è possibile definire tali "frammenti" senza molto sforzo? O ci sono anche dei motivi seri per non usare queste cose?

risposta

8

Vedere yasnippet. Fornisce snippet per la maggior parte delle lingue principali ed è facile aggiungerne di nuovi o modificare quelli vecchi.

+0

Grazie. Lo darò un'occhiata. – phimuemue

3

Sì, lo yasnippet è probabilmente la strada da percorrere. Ma assicurati di apprendere la modalità principale che stai utilizzando per il tuo editing: quando scrivi in ​​LaTeX, impara auctex. Le principali modalità possono contenere funzionalità che rendono inutili alcuni frammenti e fanno la stessa cosa ancora meglio. Quindi, invece di usare uno snippet begin/end in un buffer LaTeX, prova C-c C-e in auctex. Ecc :)

+0

+1 per menzionare quante funzionalità hanno già le principali modalità che rendono alcuni frammenti più utili rispetto all'apprendimento degli accordi/combinazioni chiave rilevanti. – semperos

1

Non dimenticare la modalità abbrev.