Emacs-as-OS: obsolète? [fermé]

22

Dans une tentative d'atteindre au moins le statut de débutant avec un éditeur aussi légendaire, je codais dans Emacs depuis deux mois. J'essaie de garder un cœur ouvert, mais je suis continuellement en désaccord avec un choix de conception de base: qu'Emacs permette à ses utilisateurs de ne jamais avoir à partir. Dans un monde 2010, je pense simplement que chaque fonctionnalité latérale d'Emacs est désespérément derrière un logiciel dédié:

  • Je n'utiliserais jamais son navigateur intégré; Chrome a des années d'avance.
  • Je n'utiliserais jamais sa fonction Dired; Path Finder (Mac OS X) convient à mes besoins.
  • Je n'utiliserais jamais son e-mail intégré; l'interface Web de Gmail propose des fonctionnalités plus pertinentes telles que la boîte de réception prioritaire.
  • Etc.

Bien sûr, je pourrais parfois utiliser Emacs pour utiliser des expressions régulières, etc. pour l'une des tâches ci-dessus, mais à part les expressions régulières, je ne vois vraiment aucune raison de toucher ces fonctionnalités secondaires. Je suis complètement novice, mais j'ai le sentiment profond qu'Emacs-as-an-OS est obsolète.

Experts Emacs, pensez-vous que le choix d'Emacs d'être un environnement global est le bon choix pour 2010 et l'avenir? Y a-t-il des caractéristiques périphériques particulières qui sont toujours à leur époque ou en avance par rapport aux alternatives?

AlcubierreDrive
la source
9
Est-ce vraiment une question? Il semble que vous ayez déjà décidé.
Larry Coleman
5
@Emacs est vraiment sympa pour le développement gcc + gdb dans un environnement Unix. C'est aussi bien pour écrire LaTeX.
20
C'est pourquoi Emacs a un psychiatre intégré.
Tim Post
3
@Tim, Mx tetris est beaucoup plus amusant.
2
Je vous comprends parfaitement ... J'utilise vi depuis des années et j'ai pris du temps pour apprendre Emacs ... et je suis arrivé à la conclusion que les deux ne correspondent tout simplement pas à mes besoins ... pour la programmation, je préfère un IDE moderne (Eclipse) et pour une simple édition de texte / script, nano est très bien.
Oliver Weiler

Réponses:

14

J'utilise emacs depuis 10 ans (de et vers), et je peux seulement dire que vous avez absolument raison . À l'époque, j'utilisais les gnus et le navigateur w3, mais ils ne sont clairement plus à la hauteur par rapport aux programmes dédiés. Mais, évidemment, vous ne pouvez pas exécuter Chrome en mode texte, c'est donc là que l'emacs gagne. Et même là, je préfère utiliser lynx / elinks ou mutt pour cela.

Emacs-the-programmers-editor a également perdu le contact. L'édition de texte est très bien, mais quand j'écris du code , je me retrouve à souhaiter des fonctions comme: définition de goto, complétion automatique, refactoring, astuces de syntaxe, documentation de paramètres, etc. (pensez Eclipse). J'ai essayé quelques modes emacs mais je ne l'ai jamais fait fonctionner correctement. Et non, je ne veux pas apprendre elisp, merci.

De plus, emacs ne comprend pas vraiment la sémantique du code. C'est douloureusement évident lors du codage dans un fichier contenant plusieurs langues comme html avec javascript et php ou quelque chose. Ça tombe en panne. Pour cela, j'utilise de préférence tout autre éditeur (notepad ++ ou autre) qui fait le travail beaucoup mieux.

Martin Wickman
la source
5
Parmi les choses que vous listez, Emacs a en fait une "définition de goto" (en utilisant etags), une "complétion automatique" ( autocomplete.el, je pense), des conseils de syntaxe / documentation de paramètres (sur une base langue par langue). Le seul que vous mentionnez ne prend pas en charge AFAIK est le refactoring automatisé, qui n'est ni nécessaire ni utile pour toutes les langues. Cependant, plusieurs modes sont atroces; il existe et prend en charge PHP et les langages mixtes, mais c'est mauvais (comme trop lent sauf si je suis sur mon bureau). Je vais également vous donner le même conseil que je donne à n'importe quel collègue: si vous ne voulez pas apprendre le lisp, n'utilisez pas Emacs, cela ne fera rien pour vous.
Inaimathi
8
D'accord; Emacs n'est pas un système d'exploitation. Mon objection est que "Emacs-the-programmers-editor a également perdu le contact". C'est un argument particulièrement déraisonnable étant donné que vous refusez d'apprendre Elisp, car la plupart des avantages d'Emacs-the-programmers-editor proviennent de l'application de personnalisations. Je ne m'opposerais pas à "Je n'utilise pas Emacs parce que je n'ai pas envie d'apprendre le Lisp", mais vous donnez l'impression que votre ignorance volontaire de l'outil affecte sa forme physique. C'est à égalité avec moi en disant "Eclipse est nul parce qu'il n'a pas de support PHP. Et je n'ai pas envie d'apprendre à installer des plugins, merci."
Inaimathi
1
@Inaimathi Vous n'avez pas besoin d'apprendre elisp (ou n'importe quelle langue) pour pouvoir utiliser correctement eclipse. L'installation de plug-ins ne l'exige pas non plus.
Martin Wickman
2
@Martin - Il n'a pas de support PHP intégré (ou pas quand je l'ai utilisé); vous devez installer un plugin pour cela. La déclaration citée ci-dessus est équivalente à "[L'éditeur] est nul parce qu'il n'a pas [la fonctionnalité qu'il a en fait, mais qui doit être activée], mais je n'ai pas vraiment envie d'apprendre [une chose que vous devez faire pour pour l'activer] ", et mon point était que c'est un argument déraisonnable.
Inaimathi
3
@Inaimathi: En ce qui concerne le refactoring, je cherchais un programme de refactoring automatisé C ++, et l'un des rares que j'ai trouvé était dans elisp. Si vous dites "emacs ne prend pas en charge X", vous avez très probablement tort.
David Thornley
19

Choisissez le bon outil pour le travail.

Essayez d'exécuter Chrome ou Path Finder via une connexion ssh - ici, vous aurez besoin d'outils alternatifs et Emacs a été conçu pour fonctionner dans un terminal.


la source
Bon point sur ssh.
AlcubierreDrive du
3
Transfert x11?
TheLQ
7
Combien de personnes utilisent réellement un navigateur Web via une connexion ssh?
compman
1
@compman, oui. Il peut être extrêmement utile pour télécharger des fichiers à partir de sites Web.
1
OS X a VNC, il suffit de tunneler la connexion VNC via SSH, et vous n'avez pas à vous inquiéter du fait qu'OS X n'utilise pas X11.
Lie Ryan
8

Je n'utilise même pas beaucoup le thérapeute intégré, mais j'utilise Emacs et j'aime ça, non pas à cause de sa nature complète mais parce qu'il est infiniment configurable et puissant en tant qu'éditeur de texte. Je connais également beaucoup de touches pour cela. Une édition de texte réussie est une question de touches.

Si vous souhaitez développer votre productivité avec cela, Steve Yegge a quelques bons conseils.

glénatron
la source
Je suis fortement en désaccord avec l'approche de Steves qui consiste à relier des tonnes de clés pour que Emacs se comporte. Apprenez les raccourcis clavier standard et utilisez vos .emacs pour modifier leur comportement.
Son point est principalement ergonomique - il ne dit pas qu'il y a un problème avec les fixations standard en tant que fixations, il dit qu'il y a un problème avec l'emplacement des touches sur le clavier et que si vous voulez les rendre faciles à utiliser , vous devez trouver des touches à cet effet qui n'ont pas besoin de vous pour emmêler vos petits doigts dans les coins les plus éloignés du clavier. Je peux voir le sens en cela, mais cela vous restreint si vous changez fréquemment de machine car vous avez alors besoin d' un autre ensemble de souvenirs musculaires ou de passer des siècles à reconfigurer chaque machine que vous utilisez.
glenatron
5

Emacs n'a jamais été destiné au marché de masse. Il est conçu pour une utilisation efficace par des personnes qui ont pris le temps d'apprendre comment cela fonctionne. Cela dit, une taille unique ne convient pas à tous, donc vous n'aimerez peut-être pas emacs même après en avoir appris plus à ce sujet.

EDIT: Mes deux fonctionnalités préférées d'emacs en plus de l'édition de texte sont le mode shell et les gnus. Après avoir été frustré par les groupes Google à cause de tous les spams, je me suis inscrit à Eternal September et j'ai appris à utiliser les gnus. Il est beaucoup plus rapide de parcourir les messages, et seule la publication occasionnelle de spam passe, et de s'en débarrasser est une simple pression sur une touche. Le mode Shell est particulièrement utile pour moi au travail car le copier / coller est plus efficace que dans une invite DOS.

Larry Coleman
la source
Je ne rejette pas l' éditeur de texte comme obsolète; Je suis d'accord, c'est très efficace une fois qu'on s'y est habitué. Ma question porte sur le mérite du choix de conception: vous devriez pouvoir faire tout et n'importe quoi sans quitter Emacs. Y a-t-il des caractéristiques périphériques spécifiques qui sont toujours excellentes, ou avez-vous un aperçu de l'histoire des caractéristiques périphériques autrefois excellentes qui ont maintenant été dépassées?
AlcubierreDrive
1
J'ai édité la section rejetant comme obsolète après avoir lu vos commentaires. Je n'utilise pas emacs pour tout, mais j'aime vraiment le mode shell et les gnus.
Larry Coleman,
Doux! J'ai ajouté une nouvelle seconde moitié à ma question, en réponse à vos commentaires. Votre commentaire y répond donc +1
AlcubierreDrive
1
Etre également capable de tout faire dans emacs avait beaucoup plus de sens, disons en 1994, lorsque les ordinateurs étaient beaucoup plus lents qu'ils ne le sont maintenant. J'utilise dired de temps en temps, si je suis déjà dans emacs et que j'utilise beaucoup le shell. Être capable de faire beaucoup de choses dans mon éditeur ou du moins sans avoir à passer à la souris est une victoire pour moi. Vous pouvez avoir un goût différent (c'est vraiment une question de goût à un certain niveau)
Zachary K
2

J'ai toujours abordé Emacs comme une plate-forme plutôt qu'une solution prête à l'emploi. Il existe de nombreux packages qui dupliquent la fonctionnalité ou le but et c'est à vous de décider s'ils répondent à vos besoins ou non.

C'est aussi la raison pour laquelle beaucoup de choses sont obsolètes. La plupart des gens (que j'ai rencontrés de toute façon) qui utilisent Emacs ne l'utilisent pas pour lire leurs e-mails ou naviguer sur le Web. Cependant, j'ai du mal à trouver un autre éditeur qui a

  • comme des capacités d'édition à distance sophistiquées
  • création et modification de macros en ligne de forme libre
  • profondeur et étendue des extensions / packages disponibles

Il est mon éditeur de choix depuis plus d'une décennie pour le développement de logiciels et le traitement de texte.

Mieux encore, je n'ai pas à toucher ma souris lorsque j'utilise Emacs.

Dietbuddha
la source
2

Emacs pourrait être un système d'exploitation pour vous si vous souhaitez apprendre le lisp et écrire vos propres fonctionnalités en fonction de vos besoins.

Mais de nos jours, vous pouvez trouver tout ce dont vous avez besoin dans d'autres outils créés par d'autres personnes formidables. Ces gens ont fabriqué ces outils parce qu'ils pensaient en avoir besoin, tout comme vous qui les utiliserez. Comme beaucoup d'entre eux sont open-source, il existe une communauté qui les rendra de mieux en mieux, avec toutes les fonctionnalités dont vous avez besoin.

Essayer d'améliorer Emacs est difficile car vous devez apprendre le lisp. Même les plugins existants vieillissent de plus en plus. Prenons l'exemple des modes de langage, les langages courants comme JS et PHP ne sont guère pris en charge, même pour la coloration syntaxique. Le meilleur mode que vous pourriez trouver pour eux n'est tout simplement pas suffisant.

Emacs est un excellent outil entre de bonnes mains et pour les bonnes tâches. Mais il existe de meilleurs outils pour les tâches spécifiées, et vous devriez certainement les utiliser à la place.

Jose Faeti
la source
1

Je ne souhaite pas commencer une guerre sainte, en fait, il fut un temps où j'utilisais emacs chaque deuxième jour (un jour vim, un jour emacs). Il n'y a rien de mal avec emacs, c'est en effet un excellent outil. Super, super outil.

Mais en tant que vrai vim'er, j'étais toujours un peu frustré par le fait que de nombreux émaciateurs essaient d'utiliser emacs littéralement partout, pour littéralement toutes les tâches.

Lire le courrier, interroger la base de données, lire les fichiers PDF - ce sont les tâches les plus innocentes que j'ai vues être "émaciées".

Donc, pour moi, il existe des domaines principaux d'arborescence d'utilisation d'emacs:

  1. Édition de texte. Et c'est un super outil époustouflant. Croyez-moi, après avoir utilisé vim ou emacs pendant longtemps, vous manquerez totalement ses fonctionnalités dans les IDE les plus avancés.

  2. IDE. Eh bien, cela pourrait être fait. De plus, il pourrait en quelque sorte rivaliser avec les modes IDE. Mais le fait est que pour le rendre vraiment compétitif, vous devez investir dur. Vous devriez essayer d'assembler de nombreux scripts différents. Vous devriez même écrire vos propres extraits de code. Je ne le serais pas, pour être honnête.

  3. D'autres tâches, pour la plupart exotiques ou même ésotériques. Jouer à tetris et ainsi de suite. Vaut mieux pas.

shabunc
la source
1
En tant qu'utilisateur de longue date d'emacs et de vi (plus de 20 ans d'expérience des deux, également environ 1 an d'utilisation d'ed comme éditeur principal), je trouve qu'emacs est presque suprême pour les occasionnels "J'ai du code répétitif à venir , laissez l'éditeur le générer automatiquement "(plutôt que, disons, écrivez un autre morceau de code, puis compilez-le et exécutez-le pour générer le code).
Vatine
0

Quelque part dans ma collection de trucs, je suis sûr que ma femme souhaite que je les jette, j'ai une copie d'Emacs sur la bande QIC-40. J'ai payé 50 $ pour l'obtenir.

Je ne pouvais pas # @% # $ # $% @ ^ #% # le supporter alors, je ne peux pas le supporter maintenant. Je ne dis pas que ce n'est pas un bon éditeur pour certains, mais pour moi .. ça gêne plus que tout. Sa création originale était de contourner les clés des bouteilles de coke , et cela a très bien fonctionné.

Si vous exécutez un programme, n'importe quel programme, vous le faites dans l'espoir qu'il augmente (ou du moins, n'entrave pas) votre productivité. Si cela ne fonctionne pas pour vous, ne l'utilisez pas.

Croyez-moi, vous n'êtes pas le problème.

Tim Post
la source
2
"C'est un artefact important, et il appartient à un musée!"
1
«Si cela ne fonctionne pas pour vous, ne l'utilisez pas» est un appel à la subjectivité, donc «vous n'êtes pas le problème» est une contradiction.
Jon Purdy