Ajouter des curseurs multiples avec Ace Jump

Rédigé par Fred - - Aucun commentaire

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)

Emacs en vrac - 2

Rédigé par Fred - - Aucun commentaire

Montrer les raccourcis non terminés plus tôt, et leurs suites possibles

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.

Questionnaire avec org-mode

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]].

Marquer seulement une partie d’un mot

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.

highlight-tail

Inutile, mais fun, highlight-tail est un mode qui change la couleur de fond des dernières lettres tapées pour donner ça.

Emacs en vrac - 1

Rédigé par Fred - - Aucun commentaire

buffer-flip, une sorte de alt-tab pour buffer

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.

(Via http://rubikitch.com/2015/11/19/buffer-flip/)

Python profiling

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

Prendre des notes avec PDF-tools

PDF Tools permet de voir des PDF dans un buffer, de faire des recherches, suivre un lien, mettre des annotations, et plein d’autres choses. Matt Price en parle dans son blog, et montre comment exporter les annotations pour org-mode.

Via http://irreal.org/blog/?p=4727

Changer de fenêtres, de façon visuelle

Une alternative à ace-jump, pour passer d’une fenêtre à l’autre quand on fait un C-x o : switch-window

Changer les caractères utilisés pour l’ellipse par org-mode

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

autotetris-mode

Emacs permet de jouer à tetris avec M-x tetris. autotetris-mode permet de faire jouer une IA.

Indiquer la fin du buffer

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)

zap-up-to-char

Rédigé par Fred - - Aucun commentaire

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)

Une espace une tabulation

Rédigé par Fred - - Aucun commentaire

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 :

  1. lignes vides en début de buffer ;
  2. lignes vides en fin de buffer ;
  3. 8 espaces ou plus en début de lignes ;
  4. espaces avant les tabulations ;
  5. espaces et tabulations en fin de ligne ;
  6. 8 espaces ou plus après une tabulations.

(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)

Raccourcis utilisés

Pour entrer un caractère utf-8 avec son code hexadécimal (ou son nom) C-x 8 Enter puis le code.

Relancer une précédente commande en ksh

Rédigé par Fred - - Aucun commentaire

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

Des raccourcis en vrac

Rédigé par Fred - - Aucun commentaire

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.

Lire la suite de Des raccourcis en vrac

Agrandir la police dans emacs avec control plus roulette

Rédigé par Fred - - Aucun commentaire

Agrandir la police avec Ctrl+Roulette

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

Fil RSS des articles de cette catégorie