comment obtenir une configuration décente d'emacs sur linux

6

Je suis actuellement intéressé par le passage de vim à emacs.

L'une des raisons les plus convaincantes est l'intégration sans heurts dans un environnement Unix. Les utilisateurs emacs les plus expérimentés que j'ai vus ont une invite bash au bas de la fenêtre, stdout allant dans une mémoire tampon juste au-dessus. Ils interagissent ensuite avec la sortie de programmes tels que grep de manière intéressante.

Je suis sur Ubuntu 10.04 et l'environnement emacs par défaut ne semble pas faire grand chose pour moi en termes d'intégration. Par exemple, dans le M-x shell mode, sortie des commandes de base comme ls produire beaucoup de caractères étranges et frapper la flèche du haut ne va pas aux commandes précédentes.

Des recommandations sur une bonne direction à prendre?

Hersheezy
la source

Réponses:

4

En ce qui concerne la manière d’obtenir une configuration décente, vous pouvez utiliser deux méthodes différentes:

  1. utiliser à l'aveuglette les personnalisations d'autres personnes / pages Web (par exemple, le kit de démarrage Emacs)
  2. réfléchissez à ce que vous voulez, posez des questions, apprenez et personnalisez votre .emacs toi même

D'après mon expérience, beaucoup empruntent le premier itinéraire et c'est très bien. Vous obtenez des personnalisations pratiques avec peu de travail. Cependant, vous n'en savez pas plus qu'avant la grosse coupe / pâte.

Si vous prenez le temps et posez des questions (comme vous l'avez fait pour shell et ls ), vous obtiendrez une expérience Emcas personnalisée qui répondra réellement à vos besoins. De plus, vous aurez une bien meilleure idée de ce qui est possible et de la façon dont vous pouvez y arriver. L'inconvénient est que cela prend un peu de travail (pas beaucoup, mais ce n'est pas nul et ça en fait peur).

Alors, pour vous lancer sur le chemin de l’illumination (si vous décidez de prendre la pilule rouge ), Je vais donner des solutions à votre problème particulier. Remarque: avec si peu d'informations sur votre configuration, je vais faire des suppositions éclairées sur vos problèmes spécifiques.

le ls montre toutes sortes de personnages géniaux parce que vous avez le ls sortie de commande des caractères spéciaux pour les couleurs dans vos terminaux habituels (peut-être avez-vous un alias avec ls --color ). M-x term gère cela correctement, mais cela fonctionne aussi:

(ansi-color-for-comint-mode-on)

Au lieu d’utiliser les touches fléchées, vous pouvez utiliser M-p et M-n pour aller aux commandes précédentes / suivantes. Ou, vous pouvez lier les touches fléchées pour faire ce que vous voulez:

(add-hook 'shell-mode-hook
      (lambda ()
    (define-key shell-mode-map (kbd "<up>") 'comint-previous-input)
    (define-key shell-mode-map (kbd "<down>") 'comint-next-input)))
Trey Jackson
la source
Génial! M-p et M-n sont les types de choses que je devrais rechercher. En outre, il est très agréable de connaître les raccourcis clavier. Je pense que la migration va être longue ... Merci de m'avoir aidé à comprendre cela. Merci!
Hersheezy
5

Vous voudrez peut-être essayer eshell ( M-x eshell ), ou vous voudrez peut-être lire les commandes et les raccourcis pour la commande shell ( Coquille M-x ). eshell est un shell écrit en emacs lisp qui s’intègre presque parfaitement à Emacs. Mon seul reproche est que ce n'est pas aussi rapide que le shell normal.

Pour tout mettre en place, je recommande le kit de démarrage emacs , qui contient un certain nombre de scripts utiles et de modules elisp pour étendre et configurer emacs.

Emacs est un goût acquis. Les personnes que vous avez regardées ont probablement plusieurs décennies d’expérience emacs - elles ont débuté aussi démunies que vous. Je vous recommande d'essayer de lire quelques livres sur le sujet - Apprendre GNU Emacs est ce que j'ai appris de, et après cela le manuel GNU Emacs est un excellent guide et référence .

Rafe Kettler
la source
Excellent! L'eshell, ainsi que le kit de démarrage, m'entraînent bien dans mon chemin :) En outre, il est vrai que les utilisateurs d'emacs dont je parle ont une expérience de plusieurs décennies ...
1
@Hersheezy La bonne nouvelle est que vous êtes sur la bonne voie aussi. Un autre excellent outil de productivité dans emacs est le mode org. Dès que vous maîtrisez tout le reste, vous devriez le vérifier.
Rafe Kettler
1
Après des décennies d'utilisation d'Emacs, vous avez tendance à oublier que "Emacs prêt à l'emploi" est "différent" des emacs avec lesquels vous travaillez tous les jours.
+1 eshell is great !!! M-x term et M-x shell ont été frustrants car ils ignorent beaucoup de raccourcis clavier et ont des bizarreries étranges, par exemple lors de l'affichage des résultats de more, man, etc.
David LeBauer
1

Il est intéressant pour moi que votre raison de passer de vim à emacs soit liée à l’intégration Unix et à la façon dont vous avez vu emacs folk avec des tampons de shell, etc., car cela témoigne de votre expérience avec ces deux éditeurs en général. Ni emacs ni vim ne sortent "de la boîte" de la manière que vous souhaitez, mais agissez plutôt comme des plates-formes sur lesquelles développer un flux de travail.

Par exemple, vim n’est pas livré avec les fonctionnalités que vous décrivez, mais des plugins comme conque et addon-async , à peu près de la même manière qu'Emacs. Au lieu de cela, il commence par (le même que emacs - via M-! ) la possibilité d'exécuter une commande externe et de la canaliser vers un nouveau tampon ( :r! command ).

Je ne suis pas ici pour vous dissuader d’emacs, mais plutôt pour suggérer que la meilleure façon d’en apprendre l’une ou l’autre est d’en choisir un et de plonger dedans. Si vous avez des amis qui connaissent emacs, demandez leurs fichiers de configuration. Demandez quels plugins vous pourriez aimer, ou comment obtenir des fonctionnalités spécifiques. La question la plus difficile à répondre pour ceux qui ont de l’expérience est "Que dois-je faire ensuite?"

Comme indiqué précédemment, le kit de démarrage emacs est excellent, ainsi que le peepcode screencast d'où il vient. En outre, beaucoup de Apprendre GNU Emacs est disponible gratuitement en ligne via Google Livres. En ce qui concerne les plugins que j'utilise, j'aime bien quelque chose.el pour compléter le code et autopair.el mettre des accolades assorties. En outre, avoir un coup d'oeil à travers confiture pour les éléments pouvant intéresser les langues et les environnements dans lesquels vous travaillez. Cela vous mènera à des questions plus guidées sur des fonctionnalités spécifiques.

Bonne chance dans votre quête de montage!

sleepynate
la source
Merci pour la suggestion :) Je suis un utilisateur vim assez expérimenté et je l’utilise conque pendant un certain temps maintenant. Bien que très gentil, il ne m'a jamais vraiment semblé très intégré. Je ne connaissais pas l'addon-async, merci pour le heads-up!
Hersheezy
0

Utilisez M-x ansi-term au lieu de M-x shell - de cette façon, vous aurez un véritable émulateur de terminal dans Emacs. Ce n'est pas parfait, mais il va certainement mieux avec des applications de malédictions telles que mutt, top, etc.

Je vous recommande également de regarder le Kit de développement Emacs - une alternative moins connue au kit de démarrage Emacs. Bien que dans la version alpha, il contient beaucoup de configuration utile qui peut être facilement réutilisée.

Vous devriez aussi regarder le Wiki d'Emacs et Maîtriser Emacs .

Bozhidar Batsov
la source