5 votes

Remplacer automatiquement certaines chaînes de texte lorsqu'elles sont tapées dans emacs

Il y a une petite nuance qui m'ennuie depuis un moment, à savoir que je tape souvent #inclued au lieu de #include . Si ce n'était pas évident, je programme beaucoup en C et C++. Cette faute de frappe a fait échouer d'innombrables constructions et consommé du temps qui aurait été mieux utilisé à boire du café ou à surfer sur stackoverflow. Emacs peut sûrement m'aider et rectifier mes erreurs pendant que je tape (en anglais). cc-mode uniquement, bien sûr). Mais comment ?

La recherche sur Google et sur stackoverflow n'a apporté aucune réponse.

8voto

danlei Points 8602

Vous pouvez l'utiliser dans abbrev-mode : Après avoir entré #inclued, faites C-x a i g include RET et à partir de là, chaque fois que vous taperez #inclued, il sera automatiquement remplacé par #include. Si vous voulez que cette abréviation soit locale à un mode, utilisez C-x a i l au lieu de C-x a i g . Vous pouvez également modifier vos abréviations avec M-x edit-abbrevs .

3voto

Jérôme Radix Points 4691

Une solution plus efficace et plus globale que les abréviations (car vous ne pouvez pas prévoir toutes les fautes de frappe que vous ferez) est d'utiliser flymake (qui est fourni avec la distribution emacs).

http://flymake.sourceforge.net/

Flymake vérifie votre code source derrière la scène pendant que vous tapez votre code dans le tampon. Il met en évidence ce qui ne va pas dans votre code (c'est-à-dire : ce que gcc dit être faux).

Faire tourner gcc en arrière-plan n'utilise pas plus de CPU que votre bloatware antivirus. De plus, si vous avez 2 cœurs ou plus, gcc peut profiter de la parallélisation. Il vérifie uniquement la syntaxe, sans rien compiler.

1voto

Mica Points 7392

Si vous êtes intéressé par quelque chose d'un peu différent, vous pouvez écrire tous vos petits morceaux dans des snippets, en utilisant le paquet YAsnippet, puis vous pouvez taper quelque chose comme #in, appuyer sur TAB, et il se développera en ... ce que vous voulez.

0voto

Notthinking Points 27

On dirait que flymake est exactement ce que vous recherchez. Il fait tourner un compilateur en arrière-plan, et met en évidence les erreurs, pendant que vous tapez.

0voto

phils Points 30543

J'allais suggérer que ce pourrait être une application un peu étrange pour flyspell mais la réponse de Danlei semble meilleure.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X