Emacs en vrac - 3
Rédigé par Fred - - Aucun commentaireQuelques liens emacs dans le désordre, parce que ça faisait longtemps.
Quelques liens emacs dans le désordre, parce que ça faisait longtemps.
Pour ceux qui utilisent à la fois multiple-cursors.el et ace-jump, ace-mc permet d’ajouter (et d’enlever) des curseurs à la manière d’ace-jump. Ça se base sur ace-jump, et peut-être que ce sera adapté à avy qui a un peu plus le vent en poupe.
Dans la même veine, ace-jump-zap permet de faire un zap-to-char
(C-h k M-z) sans besoin de compter jusqu’à la combientième lettre
on veut killer (avec avy : avy-zap).
D’autres commandes plus ou moins utiles ont été implémentées à la
sauce ace-jump/avy
, notamment par Junpeng Qiu, Oleh Krehel (abo-abo) et
d’autres encore : ace-flyspell, ace-jump-helm-line, ace-link…
Source : Add Multiple Cursors using Ace Jump : emacs (r/emacs)
En mettant la variable echo-keystrokes
à 0.1 (source :
endlessparentheses), les raccourcis non terminés (C-x r par exemple)
s’affichent plus tôt.
Dans un autre genre, mais toujours pour les raccourcis which-key est un mode mineur qui permet d’afficher les suites possibles à un raccourci, tout comme guide-key.
Sacha Chua apprend le latin et a codé un questionnaire plutôt sympa. À
mettre en relation avec [[http://orgmode.org/worg/org-contrib/org-drill.html][org-drill]]
.
Si on veut marquer un mot avec org-mode (par exemple pour une mise en
*gras*
), on est obligé de marquer le mot en entier. Une solution de
contournement est d’insérer une espace de largeur zéro en unicode.
Inutile, mais fun, highlight-tail est un mode qui change la couleur de fond des dernières lettres tapées pour donner ça.
Un mode mineur qui permet de faire passer les buffers à la manière d'un Alt+Tab : https://github.com/killdash9/buffer-flip.el
Ça utilise key-chord.
Julien Danjou explique comment mesurer et analyser le temps d’exécution d’un programme python grâce à cProfile et KCacheGrind.
https://julien.danjou.info/blog/2015/guide-to-python-profiling-cprofile-concrete-case-carbonara
Une alternative à ace-jump, pour passer d’une fenêtre à l’autre quand on fait un C-x o : switch-window
Artur Malabarba explique que le ...
à la fin des headlines est
personnalisable grâce à la variable org-ellipsis
. J'ai donc changé
...
par …
http://endlessparentheses.com/changing-the-org-mode-ellipsis.html
Emacs permet de jouer à tetris avec M-x tetris. autotetris-mode permet de faire jouer une IA.
La variable toggle-indicate-empty-lines
permet de mettre dans la
marge un symbole pour indiquer la fin du fichier. Voir aussi Fringe-Bitmaps (emacs lisp manual)
Dans vi, on peut supprimer jusqu’à un caractère c
avec dtc pour
garder le caractère, et dfc pour supprimer le caractère.
Dans emacs, on utilise M-z pour appeler zap-to-char
. Et je viens
de trouver que zap-up-to-char
existe…
Sur rubikitch.com, sorte de irreal.org, mais en japonais avec beaucoup
de présentation de thèmes, Rubikitch vient de présenter zzz-to-char
(github), un zap-to-char
à la sauce avy (github), utilisé par
ace-jump
. Dans sa description on peut lire : « which work like
built-ins zap-to-char and zap-up-to-char ». Et effectivement,
zap-up-to-char
existe par défaut, mais n’est pas autoloadé. Il est
caché dans misc.el
(avec butterfly
). Du coup, soit on modifie le
fichier pour rajouter un autoload, soit on s’ajoute dans son
init.el
:
(require 'misc) (global-set-key (kbd "M-Z") 'zap-up-to-char)
Voici des exemples qui font que je ne pourrais pas me passer d’Emacs tant il me facilite la vie. (Attention, certaines des fonctionnalités que je vais utiliser ne marchent qu’avec Emacs > 24.)
Aujourd'hui, je vais parler des espaces dans Emacs, mais pas que (oui, ces temps-ci, ce sera beaucoup, beaucoup d'Emacs dont il sera question). Et oui, les espaces dont je vais parler, ce sont les espaces aux féminins : le caractère typographique, représenté par un espace (au masculin celui-ci) entre les mots.
Pour voir les espaces que vous avez tapées, et savoir si un espace est constituée d'une ou plusieurs espaces, voire de tabulations, il existe un mode pour cela : M-x whitespace-mode permet de voir tout ce qui est d'habitude invisible (ou presque).
Les espaces seront alors représentées par des ·
(ou seront en couleur si la ligne ne dépasse pas du buffer), les fins de lignes par $
, les espaces (qui devraient être fines) insécables par ¤
, les tabulations seront en couleur, etc.
Bon, c'est pas le truc dont je vais me servir souvent. Par contre, dans la bibliothèque du mode (find-library whitespace
si vous avez installé le paquet emacs2x-el
), il y a tout un tas de fonctions liés aux espaces en général, comme whitespace-cleanup
qui se charge des :
(extrait de l'aide de la fonction, C-h f whitespace-cleanup).
Bref, de quoi faire du ménage si vous n'avez pas fait C-x C-o à la fin de votre fichier par exemple (voir précédemment).
La bibliothèque propose tout un tas d'autres fonctions, qui sont grandement customizable, et je vous invite à y jeter un coup d'œil. Si le whitespace cleanup est trop radical pour vous, ce hook est plutôt sympa :
(add-hook 'before-save-hook 'delete-trailing-whitespace)
Pour entrer un caractère utf-8 avec son code hexadécimal (ou son nom) C-x 8 Enter puis le code.
Pour le boulot, on fait parfois des sudo su - someUser
avec someUser qui est en ksh
et qui en plus est en mode vi (Adieu C-r
, C-p
, C-k
, C-e
. Bonjour /
, Esc-k
, dd
, A
). Du coup, comme il est « partagé », je ne mets pas de bash par défaut ni de set -o emacs
(sympa hein ‽). Et au final, je m’y retrouve plutôt bien. Il n’y a pas tellement de différences entre ksh et bash.
Sauf une chose dont je me sers au final assez souvent, l’history expansion (avec le fameux sudo !!
par exemple, mais aussi !!:gs:/foo/bar/
). Mais en cherchant un peu, il y a quelque chose qui y ressemble vaguement : la commande r
. Ça n’est pas la panacée, mais c’est un début : ça permet de relancer la dernière commande qui commence par l’argument de r
.
$> echo "toto" $> touch toto $> r e #lance echo "toto" $> r t #lance touch toto
Avec un argument entier, cela fait la même chose que !
en bash : un positif = la nième commande, un négatif = la nième commande avant celle-ci.
$> echo "toto" $> touch toto $> r -2 #lance echo "toto"
Et enfin, avec r avant=apres
, on relance la dernière commande en changeant le premier avant
par après
.
$> cp fic1 /tmp/fic1 $> r 1=2 #lance cp fic2 /tmp/fic1
Bon, j’ai tout plein de choses à faire, mais pas de temps. Quelques choses à partager aussi, mais pas de temps non plus. Du coup, je vais essayer de partager moins mais plus fréquemment.
C’est pas gagné…
En attendant, voici des choses que j’ai trouvées récemment, sans rapport, et sans transition.
En fait, ce billet, c’est plutôt un vrac, mais à l’origine, c’était vraiment juste pour ça, agrandir le texte comme dans la plupart des applications. À mettre dans son .emacs
bien entendu :
(global-set-key (kbd "<C-wheel-up>") 'text-scale-increase)
et pour faire l’inverse :
(global-set-key (kbd "<C-wheel-down>") 'text-scale-decrease)
Lire la suite de Agrandir la police dans emacs avec control plus roulette