2010-07-27 11 views
5

dans gedit il est possible de définir ce que l'on appelle des "snippets" pour une saisie plus simple. Par exemple, il existe un extrait while. Cela signifie: Si vous tapez while -> (-> signifie la touche de tabulation). Et gedit convertit automatiquement les éléments suivants (y compris indentation correcte):Emacs: Entrez les commandes comme dans gedit

while (condition){ 

} 

j'ai vu dans vim (en association avec des suites de latex) ce qui suit: Si vous tapez (, inserts vim juste un ( Si. vous tapez ( une seconde fois, vim convertit automatiquement à \left( \right).

J'ai trouvé abbrev-mode mais ce mode ne place pas le curseur correctement (entre parenthèses ou à l'intérieur de la boucle while).

J'ai réussi à créer des raccourcis/macros emacs personnalisés qui font exactement la même chose (sans avoir à appuyer sur la touche de tabulation), donc je sais que c'est possible.

Cependant, existe-t-il déjà et package où vous pouvez définir de tels "snippets" sans trop d'effort? Ou y a-t-il même des raisons sérieuses de ne pas utiliser de telles choses?

Répondre

8

Voir yasnippet. Il fournit des extraits pour la plupart des langues principales, et il est facile d'en ajouter de nouvelles ou de modifier les anciennes.

+0

Merci. Je vais y jeter un coup d'oeil. – phimuemue

3

Oui, yasnippet est probablement le chemin à parcourir. Mais assurez-vous d'apprendre le mode majeur que vous utilisez pour votre édition - en écrivant dans LaTeX, apprendre auctex. Les modes majeurs peuvent contenir des fonctionnalités qui rendent certains extraits inutiles et font même la même chose. Ainsi, au lieu d'utiliser un extrait de début/fin dans un tampon LaTeX, essayez C-c C-e dans auctex. Etc :)

+0

+1 pour avoir mentionné la quantité de fonctionnalités que les modes principaux possèdent déjà et qui font que certains extraits de code fonctionnent plus que simplement apprendre les accords/combinaisons clés pertinents. – semperos

1

Ne pas oublier le mode abbrev.