Je déclare cette Église d'Emacs ouverte !
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
!
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 !
Saint IGNUcius te souhaite la bienvenue ainsi qu'un bon séjour dans la première Église d'Emacs officielle de JVC.