Quelles sont les façons d'être plus productif avec Emacs? [fermé]

20

J'ai beaucoup utilisé Emacs et je suis à l'aise avec les commandes / raccourcis les plus basiques, mais je sais qu'Emacs a beaucoup plus à offrir que ce que j'utilise. Quelles sont les fonctionnalités moins connues d'emacs qui peuvent m'aider à devenir un programmeur plus productif?

GSto
la source
8
@Qui a voté pour fermer: ce n'est certainement pas hors sujet ...
Chinmay Kanchi
1
Si cela est hors sujet, je suppose que le principal objectif de ce site serait de poser des questions de type «Racontez-moi votre histoire préférée».
MIA
2
Je ne vois pas comment cela peut être considéré comme hors sujet. Si je le demandais à Stack Overflow, il y serait probablement fermé comme subjectif. Donc, si cela ne correspond à aucun des sites, où je suis censé poser une telle question?
GSto
Programmeur productif hein ..
Daniel Little
2
Je vote pour fermer cette question comme hors sujet, car il s'agit d'un outil logiciel. Cependant, il est à la fois trop large et trop ancien pour migrer vers Stack Overflow.

Réponses:

17

Apprenez elisp.

  1. Il vous permet de programmer n'importe quel raccourci auquel vous pouvez penser. Chaque fois que vous vous trouvez à effectuer un processus en plusieurs étapes pour quelque chose d'utile, vous en faites une fonction et la liez à un combo de raccourcis clavier.

  2. Il vous permet d'expérimenter avec la programmation fonctionnelle - l'apprentissage d'un nouveau paradigme est un bon moyen d'élargir vos horizons.

AShelly
la source
De plus, avoir un certain niveau de fluidité elisp, ouvrira un monde de configurabilité. Dès que quelque chose m'agace, j'essaie juste de le réparer. Yasnippet permet également des extraits programmables qui peuvent économiser des tonnes de frappe (comme modifier le modèle inséré si vous êtes dans un en-tête ou un fichier d'implémentation, et environ un million d'autres astuces).
julien
9

Consultez cette page SO, elle contient suffisamment de conseils pour augmenter votre productivité Emacs d'au moins 2x:

http://stackoverflow.com/questions/60367?tab=votes&page=1

De plus, vous devez absolument utiliser le mode Org si vous êtes un utilisateur Emacs:

Org: votre vie en clair

EDIT: Malheureusement, il semble que les modérateurs SO ont non seulement fermé la première question / lien, mais l'ont également supprimée, détruisant les connaissances et la sagesse dans le processus. (Gravons ce livre, nous ne savons pas où il appartient!) Pour l'instant, le seul lien alternatif utile que j'ai trouvé est le fil HN discutant du fil SO:

La fonctionnalité Emacs la plus utile - Hacker News

limist
la source
Le lien SO ne fonctionne plus
Funkybro
Merci pour le heads-up, coincé une alternative, ce n'est pas aussi bon mais a quelques conseils.
limiste le
1
Vous pouvez toujours trouver le post supprimé sur www.stackprinter.com
barracel
@barracel Merci! Un programme / service nous a sauvés de la folie des modérateurs.
limist
4

Du haut de ma tête:

M-x compile     (now do C-x ` to cycle through errors)
M-x gdb
M-x grep-find
M-x find-tag    (aka M-.  and C-u M-. is "next" tag)
inferior-processes (if you use an interpreted language, 
                    you can eval directly from Emacs)
C-x v v         ([version control][1])

En général, le chapitre Programmes de compilation et de test des pages d'informations est une bonne lecture.

Trey Jackson
la source
4

Le grand Steve Yegge a écrit un très beau billet de blog 10 façons spécifiques d'améliorer votre productivité avec Emacs . Il comprend des astuces et des habitudes comme

  • configuration du clavier (échange Caps-Locket Controlreliure M-X)
  • Supprimer un mot avec backspace(si vous êtes assez rapide pour typer, se débarrasser du mot entier et le retaper est plus pratique que d'appuyer continuellement backspacejusqu'à ce que votre faute de frappe soit effacée)
  • Navigation par recherche incrémentale
  • Utiliser des tampons temporaires et apprendre à naviguer efficacement dans les tampons
  • Se débarrasser de la navigation par la souris, les menus et autres choses de l'interface graphique
  • Apprendre à utiliser le système d'aide
  • Apprendre le pouvoir des expressions régulières

Il répertorie également certains modes emacs utiles et mentionne de nombreuses autres astuces qui font attendre les gens en prévision des futures mises à jour du billet de blog.

FooF
la source
2

Je sais que vous avez spécifiquement posé des questions sur les méthodes et les commandes, mais je suggérerais l'approche globale suivante:

  1. Lisez un livre sur Emacs: il y en a plusieurs, y compris le manuel Emacs et Learning Gnu Emacs par Cameron Et al. Je sais que "lire le manuel" semble banal et condescendant, mais ce que je dis vraiment, c'est que chaque fois que je lis le manuel, je découvre quelque chose de vraiment cool auquel je ne pensais même pas. J'ai toujours l' impression de ne pas avoir passé assez de temps à lire le manuel.
  2. Entrez dans la communauté Emacs: Emacswiki est un excellent endroit pour communiquer avec d'autres utilisateurs Emacs et découvrir des packages sympas. Rejoindre help-gnu-emacs peut également être utile, car les gens demanderont de l'aide sur les fonctionnalités qu'ils utilisent, et par proxy, vous pouvez en savoir plus sur ces fonctionnalités. J'ai trouvé de nombreuses fonctionnalités intéressantes en voyant quelqu'un demander de l'aide puis en lisant le manuel.
  3. Apprenez un peu de Lisp : Lorsque vous pourrez au moins discuter d'Emacs Lisp, vous serez bien mieux placé pour en savoir plus sur les nouvelles fonctionnalités.
  4. Utilisez Emacs tout le temps. J'utilise Emacs pour tout sauf la navigation sur le Web (ce que vous pouvez également faire), et je suis donc toujours en mesure d'apprendre comment faire quelque chose de mieux avec une fonctionnalité fournie par Emacs. J'utilise Emacs pour le courrier , la planification et la planification , le contrôle de version , les documents LaTeX et la programmation. À peu près tout mon temps est passé dans Emacs ou Firefox.
Joel J. Adamson
la source
2

Modifications spécifiques au flux de travail personnalisé

Quand j'ai commencé à faire du développement piloté par les tests, j'ai créé une fonction elisp qui me permettait de passer facilement du fichier contenant les tests unitaires au fichier contenant le code de production.

J'ai également commencé à utiliser yasnippets pour quelques constructions de langage clés, réduisant le temps qu'il me faut pour écrire ce que j'écris des centaines de fois par jour.

Enfin et surtout; J'ai créé le mode luddite , il désactive simplement les barres de menu / outils, les franges et les barres de défilement, me forçant à utiliser autant que possible les raccourcis clavier.

klang
la source
0

Deux commandes que j'ai tendance à utiliser de temps en temps sont string-rectangleet kill-rectangle. Le premier vous permet d'insérer du texte répété dans une colonne particulière sur plusieurs lignes; ce dernier fait le contraire.

gablin
la source