Se connecter

Informatique

Linux

Sujet : L'église d'Emacs
1
Richard_LeHap
Niveau 10
11 juillet 2013 à 04:55:04

Je déclare cette Église d'Emacs ouverte ! :fete: :ange:
Commençons par le commencement. :-)

Pourquoi Emacs ?
_
+ Extensible à souhait à l'aide du langage de programmation elisp
+ Plus léger et rapide que la majorité des éditeurs de textes disponible.
+ Non-modal
+ Org-mode
+ Bonne intérgration avec les outils de déboguage. (interpréteur python,
gdb, etc...)
+ La configuration et l'installation d'extensions se passe un peu à
0la manière d'un gestionnaire de paquets de distribution
GNU/Linux et tout ça, dès l'installation par défaut.

Pourquoi pas Emacs ?
_
+ Peut sembler lourd et bloated comparativement à son principal compétiteur qui est vim
+ Non-modal (héhé)
+ Certains bindings sont horrible par défaut (comme dans le hs-minor-mode par exemple)

Qu'est-ce qu'Emacs nous permet de faire ?
_
+ Éditer du texte (évidemment)
+ Consulter ses emails. (via gnus, wanderlust, rmail, etc...)
+ Naviguer sur le web (avec w3m comme back-end)
+ Jouer à différent jeux (comme M-x tetris par exemple)
+ Calculer des équations mathématiques (via le calc-mode, c'est un peu comme wolframalpha)
+ Avoir un shell (M-x shell permet d'exécuter un shell écrit entièrement en elisp directement dans Emacs)
+ Avoir un vrai émulateur de terminal (M-x ansi-term permet d'exécuter un vrai émulateur de terminal directement dans Emacs)
+ Écouter de la musique et/ou des vidéos (avec le mode Bongo qui peut se servir de VLC, mpg321, ogg123, speexdec, TiMidity ou MikMod comme backend)
+ Aller sur irc via le mode erc (je ne connais pas irssi, mais erc
est hyper configurable.)
+ Organiser ses notes et sa vie entière à travers de vulgaire
fichier texte (en fait ça permet de faire
beaucoup plus que ça mais je vais en parler plus tard) à l'aide d'Org-mode. Ça
c'est une feature que vim ne propose pas (il y a bien le plugin
VimOrganizer, mais ce n'est pas du tout au niveau d'org-mode.)

Bref, comme vous pouvez le voir, on peut faire à peu près faire tout
et n'importe quoi à l'intérieur d'Emacs. Pour ceux qui n'ont jamais
entendu parlé ou expérimenté sur Emacs, dans le binding "C-x C-s" par
exemple, "C" correspond toujours à la touche Contrôle et "x" et "s"
correspondent aux touches "x" et "s" évidemment. Donc pour faire ce
binding, on ferait comme ça: Appuyer sur la touche Contrôle et sans la
relâcher on appuit sur la touche "x" et "s".

C'est le même principe pour un binding du style: "M-f" sauf que dans
ce cas là la touche "M" ne correspond pas à Contrôle mais bien à la
touche Meta (la touche Alt ou Windows habituellement).

Voici un petit résumé des commandes qui sont bonne à connaître pour
utiliser Emacs.

Commandes essentielles
_
C-x C-c = Demande de sauvegarde pour tout les buffers et ferme Emacs proprement (le plus
important).
C-x C-s = Sauvegarde le buffer.

Commandes agissant sur une/des lettre(s)
_
C-f = Avance le curseur d'une lettre.
C-b = Recule le curseur d'une lettre.
M-z = Effacer tout le texte jusqu'à la lettre entrée (inclusivement,
c'est à dire que la lettre entrée aussi se fait effacer),

Commandes agissant sur un/des mot(s)
_
M-<BACKSPACE> = Tue le mot derrière le curseur.
M-d = Tue le mot en avant du curseur.
M-f = Avance le curseur d'un mot.
M-b = Recule le curseur d'un mot.

Commandes agissant sur une/des lignes(s)
_
C-S-<BACKSPACE> = Tue la ligne sur laquelle le curseur ce trouve.
C-k = Tue du curseur jusqu'à la fin de la ligne.
C-p = Recule d'une ligne.
C-n = Avance d'une ligne.

Commandes agissant sur une/des phrase(s)
_
M-e = Avance le curseur d'une phrase.
M-a = Recule le curseur d'une phrase.

Commandes en lien avec la documentation
_
C-h k = Cela demande d'entrer une combinaison de touches, et cela dit
quelle fonction est associée à cette combinaison. Très utile si vous
cherchez quelle combinaison de touches fait quoi.

C-h f = Cela demande d'entrer le nom d'une fonction, et ensuite cela
renvoit la documentation de cette fonction.

C-h v = Cela demande d'entrer une variable, et ensuite cela renvoit la
documentation de cette variable.

Commandes agissant sur une région
_
C-<ESPACE> = Définit une région pour pouvoir ensuite faire des
opérations dessus. Du genre la copier, l'effacer ou bien pour la
remplacer par un autre truc. Pour définir le début de notre région, on
positionne le curseur à l'endroit exact où ce que l'on veut que notre
région commence, et on fait C-<ESPACE>. Ensuite, on utilise les
opérations de mouvements standards pour sélectionner le texte voulu.

C-w = Tue la région sélectionnée.
M-w = Copie la région sélectionnée.
M-x comment-region = Commente la région sélectionnée

C-x h = Sélectionner TOUT le texte dans le buffer que vous
êtes présentement (c'est l'équivalent de faire C-<ESPACE> au début du
buffer et d'aller jusqu'à la fin si on veut).

Commandes en lien avec la manipulation de buffers
_
C-x b = Changer de buffer.
C-x C-b = Avoir une liste des buffers ouverts et avoir la possibilité de changer de
buffer en sélectionnant n'importe quel en appuyant sur Enter.
C-x -> = Switcher sur le buffer suivant.
C-x <- = Switcher sur le buffer précédent.
C-x o = Mettre le focus sur le buffer suivant

Autre commandes
_
C-x u = Permet d'annuler la dernière action effectuée
C-x C-w = Sauvegarder son fichier à un autre endroit.

Donc voilà, c'était les commandes qu'à mon avis un débutant devrait
connaître en commençant Emacs. J'ai laissé de côté plein de fonction
que je compte parler et expliquer plus tard, comme l'occur-mode qui
permet de créer un buffer temporaire qui montre seulement les lignes
que l'expression régulière match. Il y a aussi l'édition de texte
rectangulaire qui est très puissante mais qui nécessite quand même une
petite explicaiton au départ pour en comprendre le concept. Surtout
parce que contrairement à vim, dans Emacs on ne voit pas vraiment le
rectangle visuellement, donc c'est plus difficile à comprendre le
concept du premier coup.

Donc comme j'ai dit, je compte mettre à jour ce topic de temps à
autres avec des posts expliquant un peu plus en profondeur certains
concepts avancés d'Emacs que j'aime bien, que j'utilises souvent et
qui je trouve mérite d'être dévoilé au grand publique.

Si tu es un utilisateurs d'Emacs et que tu connais certains trucs
vraiment cool qui n'ont pas été déjà mentionnés, partage les avec nous
! :fete:

Si tu es un débutant et que tu te poses des questions que je n'ai pas
adressées dans mes posts, je t'invite à les poser et un membre de
l'Église d'Emacs tentera de remédier à ta confusion ! :ange:

Saint IGNUcius te souhaite la bienvenue ainsi qu'un bon séjour dans la première Église d'Emacs officielle de JVC. :ange:

godrik
Niveau 22
11 juillet 2013 à 05:09:15

dans les raccourcis, par exemple rechercher/remplacer c'est M-x %
le M ici n'est pas forcement Alt. C'est Alt quand on utilise l'interface X11. Dans un terminal c'est souvent Esc

Richard_LeHap
Niveau 10
11 juillet 2013 à 05:17:18

Pourtant quand j'utilise Emacs dans un TTY, Alt et ESC fonctionnent aussi bien l'un que l'autre. :(
Dans quel cas seulement la touche ESC est reconnu précisement :question:

Richard_LeHap
Niveau 10
11 juillet 2013 à 05:17:41

(et pas alt)

godrik
Niveau 22
11 juillet 2013 à 07:18:20

J'imagine que ca depend du terminal.

Lord-Valfar
Niveau 10
11 juillet 2013 à 08:00:45

:ange:

Je vous re-propose le "cheat cube" d'Emacs que j'avais fait et déjà partagé sur le forum : http://images.legend-fifa.com/images/jj3suot9asgv0ombkeau.png

LunarSpectator
Niveau 4
11 juillet 2013 à 08:07:32

Vous me tapez si je vous dit que j'ai jamais réussi à sortir d'eMacs sans fermer mon terminal ? :noel:

Richard_LeHap
Niveau 10
11 juillet 2013 à 08:27:52

LunarSpectator :d) C-x C-c ne fonctionnait pas ? :(

Lord-Valfar :d) Intéressant, je regarde. :oui:

LunarSpectator
Niveau 4
11 juillet 2013 à 08:29:55

Richard_LeHap : En fait, j'ai jamais réussi à trouver le raccourci, il était écrit nul part, donc... D:

  • noob* *nano FTW*
Richard_LeHap
Niveau 10
11 juillet 2013 à 08:31:18

LunarSpectator :d) Ahh... Tu n'avais pas fait le tutoriel ? :-)

LunarSpectator
Niveau 4
11 juillet 2013 à 08:32:33

Richard_LeHap : J'en ai jamais vu le bout de la queue. :hap:

Knakis
Niveau 10
11 juillet 2013 à 08:33:29

«Pourquoi Emacs ?
...
+ Bonne intérgration avec les outils de déboguage. (interpréteur python,
gdb, etc...) »

J'avais justement eu, hier, une conversation sur le sujet qui est aller à l'avantage d'Emacs au lieu de Vim même si les défenseurs d'Emacs disaient que le support de GDB est «bancal».

M'fin, Emacs c'est bien beau mais juste une question, pour irc, on a le droit à ncurses? :noel:

Richard_LeHap
Niveau 10
11 juillet 2013 à 08:34:06

Le troisième paragraphe dans le tutoriel dit clairement comment quitter une session Emacs. :noel:

Knakis
Niveau 10
11 juillet 2013 à 08:35:30

...

Ça fait comme si j'aimais plus Vim dit comme ça :-(

Richard_LeHap
Niveau 10
11 juillet 2013 à 08:38:57

pour irc, on a le droit à ncurses? :noel:

C'est-à-dire ? :o))

LunarSpectator
Niveau 4
11 juillet 2013 à 08:41:18

Richard (J'ose abrèger ton pseudo buahaha.) : Ce tutorial est trouvable où ? :hap:
(Omg, "Richard", ça me fait penser aux dresseurs dans Pokemon.)

Knakis
Niveau 10
11 juillet 2013 à 08:44:09

Richard_LeHap - Posté le 11 juillet 2013 à 08:38:57

« pour irc, on a le droit à ncurses? :noel:

C'est-à-dire ? :o)) »
---------------------------------

Je veux dire par là; Est-ce que c'est du noir et blanc ou on a des couleurs?

Richard_LeHap
Niveau 10
11 juillet 2013 à 08:47:22

Oui, tu peux m'appeler Richard si tu le souhaite, j'ai aucun problème avec ça. :noel:
Le tutoriel est intégré dans Emacs. Il s'ouvre avec la combinaison de touche C-h t.
Tu as aussi ça :d) http://www.gnu.org/software/emacs/tour/ qui donne aussi un bel aperçu de ce que propose Emacs.

Mais à mon avis le tutoriel intégré à Emacs est meilleur car il te permet d'essayer en même temps les commandes interactivement et le buffer du tutorial est déjà organisé pour ça. :o))

LunarSpectator
Niveau 4
11 juillet 2013 à 08:52:17

Need te trouver un autre surnom, j'aime pas Richard. Les Richards dans pokmon m'ont toujours frustrés. Je croyais toujours que c'etait un nom de famille, et que Richard était le nom d'une secte, mafia ou quelque chose du genre. Des heures de travail mental pour comprendre.
La jeunesse. :fier:

Sinon, pour pas trop sortir du sujet, comment j'dois savoir que C -h t donne l'aide ? :'D
(Et C-h t, c'est "Ctrl+H+T" ?)

Et nano me suffit largement pour ce que je ferais avec emacs, je pense, à savoir, de l'edition de texte seulement. *casual*

Richard_LeHap
Niveau 10
11 juillet 2013 à 08:56:20

Knakis :d) Non ce n'est pas seulement du noir et blanc. En fait ça dépend surtout de ton thème.
Habituellement les nicks sont dans une couleur différente du reste et il y a aussi la possibilité avec ERC de définir une liste de mots ou de regexp qui match certains mots, pour qu'ils s'affichent d'une couleur différente du reste. De cette façon, de grosses conversations peuvent être plus facile à suivre. Il y a aussi la possibilité d'avoir une notification chaque fois qu'un mot qui est dans la liste est mentionné.
Voici ce que ça donne avec le thème solarized :d) https://image.noelshack.com/fichiers/2013/28/1373525432-erccolor.png (le buffer du haut évidemment :o)) )

1
Sujet : L'église d'Emacs
   Retour haut de page
Consulter la version web de cette page