Quel est l'avantage d'utiliser des choses telles que emacs, vim, nano et sur tout autre éditeur de texte ou IDE?

StackOverflow https://stackoverflow.com/questions/4075299

Question

D'après ce que Ive vu. emacs etc .. run dans le terminal. Y at-il avantage à cela? Il semble que ce serait plus compliqué d'écrire et d'organiser les choses. Je ne veux pas être subjective Je sais littéralement rien de emacs, vim, nano etc .. et je voudrais en savoir plus, utilisez peut-être l'un d'eux.

Était-ce utile?

La solution

Votre question est difficile. Même si elles ne fonctionnent dans le terminal, ce n'est pas leur principal avantage. Je parle Emacs et Vim en ce moment. Pour être bref, ils ont été autour depuis au moins 20 ans (VIM) ou plus (Emacs), ils ont une communauté assez actifs, ils sont scriptable pour que vous puissiez faire quoi que ce soit à peu près avec eux si vous savez comment et ils » re extrêmement puissant.

Ils ont une courbe d'apprentissage assez grand, vous finirez probablement tâtonner en eux pendant des semaines, voire des mois, avant de devenir compétent. La principale motivation pour leur apprentissage est la productivité. Vous pouvez faire des choses assez étonnantes en un minimum de touches par rapport à, disons que le Bloc-notes.

Essayez un. Si vous l'aimez, bâton avec elle pendant un certain temps, supporter la douleur et vous verrez les avantages. Il est presque comme aller à la salle de gym.

Autres conseils

La plupart des gens utilisent IDEs de nos jours. Ils aident avec des choses que vous pouvez obtenir grâce à l'analyse des choses que vous avez déjà écrit. Ce genre de choses peut être très utile et serviable, mais ils n'aident pas vraiment à la tâche essentielle de l'édition de code réellement. Qu'est-ce que outilleurs tablent sur est que ces choses supplémentaires fournissent assez d'un avantage qu'il l'emporteront sur la façon dont vim efficace et emacs sont les rédacteurs en chef. Ils ont à peu près gagné cette bataille dans la plupart des communautés, surtout parce que les nouveaux développeurs confrontés à un choix entre une grande complétion de code et le soutien refactoring qui est simple à utiliser, et un éditeur qu'ils ne voient aucun avantage de pendant environ 6 mois aller la moyen facile. Je sais que je l'ai fait.

Je suis un gars vim maintenant. Vim ne semble pas savoir vraiment avoir la même limite supérieure de la productivité, je l'utilise depuis plus d'un an et semi-régulière encore courir dans des choses que je ne pas me faire plus rapidement que. Même sans cela, plus je l'utilise, moins la pensée va dans ce que je fais, qui encore une fois, me fait plus vite. , Existe vim aussi pour toutes les langues et la plate-forme, et est installé sur un serveur UNIX hors de la boîte. Il n'a pas de écrans de chargement, saute pratiquement à l'écran, fonctionne fantastiquement avec de gros fichiers, et ne ralentit jamais ou tombe en panne. Les compétences que vous apprenez avec elle sera applicable à tout ce que vous faites pour le reste de votre carrière, par opposition à un IDE qui changera lorsque vous changez de plates-formes.

est un investissement Vim, mais si vous parlez de quelque chose que vous allez utiliser pendant 8-10 heures par jour pendant presque tout le reste de votre vie, la courbe d'apprentissage est tout à fait hors de propos.

Il n'y a aucune raison d'utiliser nano. tout est mieux à peu près.

En ce qui concerne vim et emacs, voici ce que je disais dernière fois venu :

Je suis semi-compétent vi keybindings, mais je préfère Emacs ensemble. La raison pour laquelle ces éditeurs ont des adeptes fervents est parce que le modèle d'édition qu'ils offrent est plus puissant que les systèmes plus récents, ce qui explique pourquoi la fourniture « vi keybindings » ou « raccourcis claviers emacs » ne suffit pas, même si vous ne l'utilisez toutes les fonctionnalités d'extension ou personnalisations pour emacs ou vi.

Je ne vais parler du modèle d'Emacs parce que je comprends mieux. Le modèle commun pour aujourd'hui l'édition de texte implique un tampon de texte, dans lequel le texte peut être inséré, supprimé, sélectionné et couper / copier / coller le presse-papiers du système.

tampons Emacs, bien sûr, peut prendre en charge ces opérations. Avec le suivi de la position du curseur pour chaque fenêtre, ils sont en lumière visible, ils gardent aussi la trace des « marques » sont faites. Le texte entre le « point » (position du curseur) et la « marque » est appelée « région », et correspond à peu près à la sélection dans les éditeurs traditionnels.

La différence est que Emacs garde la trace des derniers endroits de la marque a été fixée à la bague de marque, et vous pouvez les retourner à une combinaison de touches (ou deux, selon votre configuration). Je trouve cela extrêmement utile, d'autant plus que beaucoup de commandes Emacs que le changement de votre emplacement dans la mémoire tampon fixé la marque à votre ancien emplacement. Un exemple est quand j'éditer un module Python et besoin d'ajouter une déclaration d'importation au début du fichier. La frappe de touche pour aller au début de la mémoire tampon (Alt- <) définit la marque. J'ajoute la déclaration d'importation. J'appuyez sur Ctrl-u Ctrl-Espace et je suis de retour où j'ai commencé. Je peux continuer à faire ce pour revenir en arrière à leurs positions antérieures ainsi. (Peut-être que je avais besoin de sélectionner un texte tout en ajoutant que la déclaration d'importation.)

L'autre (et plus bien connu) Emacs différence est l'anneau tués. La plupart des frappes pour la suppression du texte à partir du tampon de sauvegarde du texte à l'anneau kill, qui peut ensuite être rappelé avec la commande « Yank » (Ctrl-y). La caractéristique essentielle est que les commandes de Yank suivantes extraient texte plus tué. Ainsi, vous pouvez tuer plusieurs sections de texte dans une rangée, puis les récupérer dans l'ordre. Vous pouvez également faire défiler à travers l'anneau kill avec Alt-y après un coup sec, retirer le texte récupéré et l'insertion de l'entrée suivante dans le ring.

Emacs a ces caractéristiques en 1978. Le seul autre système important de les adopter dans une mesure est NeXTstep (et maintenant héritée par Cocoa). D'autres outils offrent plus de fonctionnalités pour les tâches spécifiques, peut être étendue dans les langues plus facile à utiliser que Emacs Lisp, et ont plus agréables interfaces visuelles ... mais Emacs reste mieux à l'édition de texte. Quelle est la raison pour laquelle, une fois que vous savez comment l'utiliser, il est si difficile d'arrêter de fumer.

roches Vim

est plus difficile à Vim apprendre (vous devez mémoriser les commandes que vous souhaitez utiliser), mais beaucoup plus puissant que ne importe quel éditeur IDE ou GUI j'ai vu.

Une partie du secret de vim est le mode ligne il a hérité, en fin de compte, de l'éditeur de texte ed (1) qui a été écrit par Ken Thompson lui-même. Il est remarquablement puissant: il peut être utilisé pour refactoring et même placé dans des scripts. Il est basé sur le remplacement du modèle d'expression régulière.

Et avec toute cette puissance, parce que c'est une vieille école app Terminal / xterm, il est démarre instantanément et a jamais un retard détectable.

Je suis passé à IDE et éditeurs plusieurs fois, mais interfaces graphiques continuent à revenir à vim. Je pense que cette fois, je vais juste rester avec elle et sauver moi-même le détour.


Remarques:

Si vos supports IDE refactorisation, qui est une raison de trouver d'utiliser l'IDE. Je suis juste en servir comme un exemple complexe d'édition tâche.

Remarquablement, vim semble aider à lutter contre le RSI et de laisser vos mains plus détendu. Les commandes sont les touches non modifiées, de sorte que vous ne avez pas besoin de crisper vos poignets maintenant enfoncée contrôle ou meta ou commande ou bletch ou autre.

Il y a deux choses (à peu près) que vous obtenez d'utiliser VIM / Emacs:

  1. Customizability
  2. Ils courent partout

Les deux prennent un investissement dans le temps d'apprendre. Mais une fois que vous apprenez à les utiliser tout autre éditeur se sentira inférieur.

Emacs et Vim sont les plus polis et des logiciels multi-usages, je peux penser.

Ceci est plus particulièrement vrai lorsque l'on travaille dans un environnement unix, où les fichiers de texte brut sont utilisés pour tout (code, scripts, configuration, processus, ... etc).

Ces outils prend un certain temps pour apprendre, encore plus à maîtriser, mais ils peuvent vous donner une productivité inattendue toute la journée.

Je commence à les utiliser les deux vers 1990. Vingt ans plus tard, ils sont au seuil haut de ma liste. Ils sont les premiers outils que j'installons quand je configure une machine et ils peuvent toujours me faire un peu plus loin quand mon IDE actuel est bloqué ... penser à des milliers de regexrename de fichiers, appliquer un reformatage complexe d'un fichier texte, ou tout autre texte orientée vers la tâche.

emacs - et, je suppose, vim, peut-être - ont plusieurs avantages:

  1. Plus d'écran de l'immobilier.
  2. réel ultime Extensibilité
  3. Minimal utilisation de la mémoire. J'ai eu plus de 100 fichiers ouverts, y compris plusieurs fichiers d'édition à distance, en utilisant moins de 35 Mo de RAM.
  4. Emacs ne doit fermer à moins que vous devez redémarrer votre ordinateur ou mettre à niveau emacs. Je commence en un seul processus emacs pendant des semaines.
  5. trivialement modifier facilement. Je peux frapper un mode de sélection pour une connexion DSL en un jour, si je veux. Avec indentation qui fonctionne plus ou moins. Et je ne suis même pas que bon à emacs.
  6. Plus facile sur les mains puisque vous pouvez remapper clés facilement pour supporter la forme de votre main personnelle et la forme du clavier préféré.
  7. fiable. Je pourrais avoir forcé un emacs planté une seule fois.
  8. Exécute partout où je peux accéder. Peut-être certains systèmes IBM 390 anciens pourraient ne pas l'exécuter ...

Je l'ai utilisé Visual Studio et Eclipse un peu. Ils ne sont pas aussi bons texte brut édition emacs. Ils sont beaucoup plus lentes et de soutien moins langues.

La seule objection significative que j'entends élevé en ce qui concerne emacs est « non IntelliSense ». Je ne me VS / Eclipse IntelliSense quand je fais modifier Là. De plus, les mécanismes de remplissage automatique en emacs sont supérieurs, de ce que je peux dire. (Par exemple, autocompleting noms de variables).

Bien sûr, il prend une courbe d'apprentissage. Pour emacs, je juge 1 mois d'utilisation quotidienne vous amène au point de compétence confortable pour une utilisation quotidienne.

J'utilise vi beaucoup (je l'utilise maintenant au travail parce que je ne peux pas être pris la peine de commencer un xserver et parce qu'il est rapide au démarrage), mais seulement parce que je devais apprendre (et par « ce «Je veux dire un sous-ensemble assez faible de commandes) il y a plusieurs années, il est utile pour l'édition de fichiers à distance et parfois gEdit ou tout ce qui est disponible.

Juste pour bon vieux temps, je viens juste de commencer emacs à nouveau pour voir à quel point je déteste et que je devais google pour une antisèche pour me dire comment le fermer. Donc, je pense qu'il est juste de dire que ce n'est pas intuitive.

Il est mon avis qu'il est beaucoup plus facile de penser à vous comme Neo (Matrix) lorsque vous travaillez sur un vert sur la borne noire en utilisant des combinaisons de touche Arcane que de rester là-bas en utilisant une interface graphique conviviale.

a un nombre Vim énorme de commandes, et si ce ne sont pas suffisantes pour les tâches que vous ne à plusieurs reprises, vous pouvez définir votre propre. Mais, vous pouvez utiliser efficacement après Vim vous savez qu'un très petit nombre de ces commandes, de sorte que vous ne disposez pas d'un montant énorme pour apprendre à commencer (si vous tâtonner pendant quelques jours). Vous pouvez également appliquer des commandes basées sur des recherches d'expressions régulières, ce qui peut être extrêmement pratique si vous voulez appliquer un changement particulier à chaque ligne qui répond à une condition complexe. Je ne peux pas imaginer pas de codage dans vim ces jours-ci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top