47 votes

Comment démarrer rapidement l'utilisation et l'apprentissage d'Emacs ?

L'utilisation d'Emacs présente toutes sortes d'avantages, mais pour quelqu'un qui est à l'aise avec les applications Win32 habituelles, la courbe d'apprentissage est très longue. Avec la plupart des autres éditeurs, il est possible de commencer à les utiliser et d'apprendre leurs autres fonctionnalités et améliorations au fur et à mesure.

Comment se mettre à utiliser Emacs immédiatement, dans le but d'atteindre le point où vous préférez réellement utiliser Emacs plutôt que d'autres éditeurs ou applications ?

Edit - Pour essayer de clarifier la question : J'ai fait le tutoriel, lu quelques documents, etc. puis peu après, lorsque j'ai voulu éditer rapidement du texte, il a été plus facile d'utiliser un autre éditeur, que je connais déjà. Que dois-je faire pour que non seulement je ne me contente pas d'utiliser un autre éditeur plus facile, mais que je préfère vraiment utiliser Emacs, et comment y parvenir aussi rapidement que possible ? Quelles sont, le cas échéant, les roues d'entraînement pour Emacs ?

43voto

Jonathan Arkell Points 4265

La plus grande chose à propos de l'apprentissage de l'utilisation Emacs est ... (roulement de tambour s'il vous plaît) d'apprendre à utiliser Emacs.

Ok, ok, ok. C'est une réponse stupide, et c'est une tautologie, mais c'est vrai. Si vous démarrez Emacs et que vous vous dites "Comment puis-je trouver toutes les occurrences du mot 'foobar' dans mon arborescence de sources ? Alt + Tab et visitez Google.

Sérieusement.

Apprendre le système d'aide et son fonctionnement est la meilleure chose que vous puissiez faire. C'est tellement agréable d'appuyer sur C-h pour trouver, et d'obtenir soudainement toutes les informations dont vous avez besoin, juste au bout de vos doigts.

La deuxième meilleure chose à faire est d'installer un merveilleux petit paquet appelé Icicles qui possède des fonctions d'achèvement très intéressantes. Après l'avoir installé, sachez qu'à chaque fois que le minibuffer demande une entrée quelconque, vous pouvez maintenant utiliser des expressions régulières.

Comment cela s'appliquerait-il à la recherche de chaque fichier dans votre arbre des sources ? Eh bien, vous appuyez sur M-x, puis vous tapez "find". Après cela, vous pouvez taper (par exemple) Shift + Tab et Icicles se mettrait en marche pour trouver toutes les commandes dont le préfixe est "find". Alternativement, vous pouvez faire M-x . trouver. et ça te donnerait n'importe quelle commande avec find dedans.

Créez une antisèche. Conservez quelque part une mémoire tampon contenant tous les raccourcis clavier que vous utilisez fréquemment. Supprimez ceux que vous connaissez par cœur et choisissez-en de nouveaux. Dans la plupart des cas, lorsque vous exécutez une commande M-x, le tampon de messages vous indique le raccourci clavier de cette commande (s'il y en a un).

Apprendre. Le clavier. Macros.

Apprenez. Emacs. Lisp .

L'idée de Steven Huwig d'utiliser des applications tueuses est une bonne idée. Emacs est plus facile à utiliser quand on veut l'utiliser. Pour moi, c'était le Mode Planificateur. (Je viens de passer à Org-mode et c'est encore mieux).

15voto

David Nehme Points 11564
  • passer 20 minutes à exécuter le tutoriel

    ctrl-h t

Cela vous amènera au point où vous pourrez être productif (et cette touche "méta" dont vous lirez le nom est probablement soit Escape soit alt).

14voto

Steven Huwig Points 8029

Je pense qu'il est plus facile de trouver une ou deux "killer app" qui fonctionnent le mieux dans Emacs. Pour moi, c'était le mode d'édition et d'interaction SQL pour Oracle. Une fois que vous utilisez déjà Emacs pour cette "killer app", il sera plus intéressant d'ouvrir d'autres documents dans Emacs plutôt que dans un autre éditeur.

Applications tueuses potentielles :

9voto

eschercycle Points 2022

Apprendre à utiliser Emacs de manière efficace est par nature un processus lent, mais cela en vaut la peine.

Créez tout de suite un fichier .emacs. Vous aurez besoin de le personnaliser un peu. Cela peut paraître idiot, mais avoir une sorte de contrôle de source sur ce fichier sera également utile.

Pour faciliter l'accès aux fonctionnalités d'Emacs, ajoutez à votre fichier .emacs :

(defalias 'ap 'apropos)

Ensuite, lorsque vous voulez voir s'il existe une commande pour faire "quelque chose", tapez "[Alt-x] ap [enter] quelque chose [enter]". Emacs a son propre nom pour les choses, donc il peut être difficile de trouver des choses parfois ("yank" ? Sérieusement ? Appelez-le "cut" comme tout le monde !).

"[Ctrl-h f] nom-fonction [enter]" recherche l'aide pour cette fonction.

"[Ctrl-h m]" vous montre des détails sur le mode actuel, comme les combinaisons de touches spécifiques à ce mode.

Apprenez à utiliser Ctrl-s et Ctrl-r pour la recherche incrémentale. Todo Les éditeurs de texte doivent être dotés de cette fonctionnalité.

Ajouter des raccourcis clavier à votre .emacs comme :

(define-key global-map (kbd "M-z") 'redo)
(define-key global-map (kbd "C-z") 'undo)

Obtenez le paquet redo.el pour rendre le redo d'Emacs moins nul.

iswitchb-mode est inestimable. Il vous permet d'avoir des dizaines de tampons ouverts en même temps et de passer de l'un à l'autre en un clin d'œil. Configurez iswitchb et ajoutez-le à votre .emacs :

(iswitchb-mode)
(define-key global-map (kbd "M-RET") 'iswitchb-buffer)

Pour évaluer une expression emacs-lisp, tapez l'expression dans un tampon, placez le curseur juste après, et tapez "[Ctrl-x Ctrl-e]". Cela vous permet d'expérimenter facilement différentes personnalisations.

N'oubliez pas que vous ne devez pas lâcher la touche Ctrl lorsque vous tapez une séquence comme celle-ci.

Voyez où une chaîne de caractères apparaît dans un tampon avec la fonction "occur". Voici quelques fonctions et raccourcis clavier pratiques pour cela :

(defun word-at-point ()
  (thing-at-point 'word)
  )

(defun word-at-point-or-selection ()
  (if mark-active
    (regexp-quote (buffer-substring (mark) (point)))
    (concat "\\\\")
    )
  )

(defun find-word-at-point ()
  (interactive)
  (occur (word-at-point-or-selection))
  )

(define-key global-map (kbd "C-o") 'find-word-at-point)

(define-key isearch-mode-map (kbd "C-o")
  (lambda ()
    (interactive)
    (let ((case-fold-search isearch-case-fold-search))
      (occur (if isearch-regexp isearch-string
               (regexp-quote isearch-string))))))

4voto

Will Hartung Points 57465

Comme l'a dit @Claudiu, il suffit de l'utiliser. Laissez-vous guider par vos besoins et votre courbe d'apprentissage.

Vous finirez par arriver à un point où vous en savez assez pour être dangereux, sans pour autant maîtriser l'environnement. Mais ce n'est pas grave. Parce qu'à ce stade, vous serez probablement assez productif. Vous aurez les compétences et les outils de base.

Avec le temps, vous rencontrerez des choses que vous faites tous les jours et qui vous dégoûtent suffisamment pour que vous preniez le temps de trouver un "meilleur moyen". Normalement, vos compétences de base sont suffisantes pour vous en sortir, suffisamment pour que le temps (potentiellement inconnu) investi dans une autre voie n'en vaille pas la peine, surtout pour quelque chose de rare.

Mais il se peut que vous ayez du temps libre, ou que la tâche soit suffisamment importante pour justifier un examen plus approfondi.

À ce stade, vous deviendrez davantage un expert d'Emacs qu'un utilisateur chevronné.

Bien que je n'utilise personnellement plus Emacs (je me fie plutôt à un IDE), je dirai que si Emacs est assez complexe, il suffit de connaître un petit sous-ensemble pour le rendre utile et amusant. Je dirai également que je n'ai jamais "crié sur Emacs", alors que je crie sur mon IDE tout le temps. Oui, Emacs faisait moins que ce que mon IDE faisait, mais j'en arrive sérieusement au point où cela pourrait valoir le coup de revenir à Emacs et d'arrêter de crier.

J'ai juste l'impression qu'Emacs est plus "déterministe" que mon IDE, qui aime partir en vrille au pays des rêves de temps en temps, ou qui nécessite un redémarrage, ou autre chose.

Je n'ai jamais personnellement planté Emacs (ce qui, selon certains, signifie que je ne l'utilise pas assez...).

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