Édition (passage en bas de casse) d'une région rectangulaire
Le
Denis Bitouzé

Bonjour,
une âme charitable pourrait-elle m'expliquer comment mettre en bas de
casse (C-x C-l) tout une région /rectangulaire/ : je ne sais que copier,
couper et coller de telles régions.
Merci d'avance.
--
Denis
une âme charitable pourrait-elle m'expliquer comment mettre en bas de
casse (C-x C-l) tout une région /rectangulaire/ : je ne sais que copier,
couper et coller de telles régions.
Merci d'avance.
--
Denis
Denis Bitouzé
Une première tentative :
(defun yf/run-command-on-rectangular-region (command)
"Run command on rectangular region. Cross your fingers."
(save-excursion
(let ((lines (delete-extract-rectangle (region-beginning) (region-end))))
(goto-char (region-beginning))
(insert-rectangle
(with-temp-buffer
(insert (mapconcat #'identity lines "n"))
(set-mark (point-min))
(call-interactively command)
(split-string (buffer-string) "n"))))))
(defun yf/downcase-rectangle ()
"Downcase selected rectangle."
(interactive)
(yf/run-command-on-rectangular-region #'downcase-region))
puis M-x yf/downcase-rectangle...
Cela dit j'ai cru remarquer un comportement bizarre de la position de la
"marque" après un undo. Aussi, il serait sans doute mieux de faire une
fonction ou macro retournant une commande. Et puis plein de choses...
(le travail est réalisé dans un buffer sans mode, sans variables
locales, etc. bref c'est du n'importe quoi. Mais bon dans un premier
temps...)
--
Nico.
Il y a deux pistes données ici
(http://stackoverflow.com/questions/6154545/emacs-change-case-of-a-rectangle) :
- avec CUA mode
- avec une fonction (sans doute plus simple que celle de Nicolas).
--
DW
Bonjour
Vous avez besoin d'un financement pour votre maison, pour vos affaires, pour
achat de voiture, pour l'achat de moto, pour la création de vos propres
entreprise, pour vos besoins personnels plus de doute.Nous octroyons des
crédits personnels allant de 2000 jusqu'à 800.000€ avec un taux d'intérêt
nominal de 2% quel que soit le montant. Veuillez nous préciser dans vos
demandes de prêt le montant exact que vous souhaiteriez et la date.
Veuillez nous écrire pour vos prêts personnels :
Sigma Crédit à vos services 24/24 Heures
P.S: je ne prête qu'aux personnes successibles de me rembourser.
Bonjour
Vous avez besoin d'un financement pour votre maison, pour vos affaires, pour
achat de voiture, pour l'achat de moto, pour la création de vos propres
entreprise, pour vos besoins personnels plus de doute.Nous octroyons des
crédits personnels allant de 2000 jusqu'à 800.000€ avec un taux d'intérêt
nominal de 2% quel que soit le montant. Veuillez nous préciser dans vos
demandes de prêt le montant exact que vous souhaiteriez et la date.
Veuillez nous écrire pour vos prêts personnels :
Sigma Crédit à vos services 24/24 Heures
P.S: je ne prête qu'aux personnes successibles de me rembourser.
Bonjour
Vous avez besoin d'un financement pour votre maison, pour vos affaires, pour
achat de voiture, pour l'achat de moto, pour la création de vos propres
entreprise, pour vos besoins personnels plus de doute.Nous octroyons des
crédits personnels allant de 2000 jusqu'à 800.000€ avec un taux d'intérêt
nominal de 2% quel que soit le montant. Veuillez nous préciser dans vos
demandes de prêt le montant exact que vous souhaiteriez et la date.
Veuillez nous écrire pour vos prêts personnels :
Sigma Crédit à vos services 24/24 Heures
P.S: je ne prête qu'aux personnes successibles de me rembourser.
Bonjour
Vous avez besoin d'un financement pour votre maison, pour vos affaires, pour
achat de voiture, pour l'achat de moto, pour la création de vos propres
entreprise, pour vos besoins personnels plus de doute.Nous octroyons des
crédits personnels allant de 2000 jusqu'à 800.000€ avec un taux d'intérêt
nominal de 2% quel que soit le montant. Veuillez nous préciser dans vos
demandes de prêt le montant exact que vous souhaiteriez et la date.
Veuillez nous écrire pour vos prêts personnels :
Sigma Crédit à vos services 24/24 Heures
P.S: je ne prête qu'aux personnes successibles de me rembourser.
Bonjour
Vous avez besoin d'un financement pour votre maison, pour vos affaires, pour
achat de voiture, pour l'achat de moto, pour la création de vos propres
entreprise, pour vos besoins personnels plus de doute.Nous octroyons des
crédits personnels allant de 2000 jusqu'à 800.000€ avec un taux d'intérêt
nominal de 2% quel que soit le montant. Veuillez nous préciser dans vos
demandes de prêt le montant exact que vous souhaiteriez et la date.
Veuillez nous écrire pour vos prêts personnels :
Sigma Crédit à vos services 24/24 Heures
P.S: je ne prête qu'aux personnes successibles de me rembourser.
Bonjour.
Tu peux t'en tirer avec ça!
Par exemple en faisant une simple macro.
Tu sélectionnes le rectangle.
Si le point est supérieur à la marque, tu échanges: C-x C-x
Tu killes le rectangle: C-x r k
Tu ouvres un buffer vierge: C-x b tmp RET
Tu copies le rectangle: C-x r y
Tu sélectionnes tout: C-x h
Tu mets tout en minuscules: C-x C-l
Si besoin, tu sélectionnes tout: C-x h
Tu killes le rectangle: C-x r k
Tu killes le buffer temporaire: C-x k RET
(ce qui te ramnène au buffer de départ (sinon tu reviens au buffer pr écédent: C-x b RET))
Tu colles le rectangle (minusculisé): C-x r y
Et voilà! Le tour est joué!
Après, tu fais: M-x edit-last-kbd-macro RET
pour avoir la trame de ta fonctionÂ…
(notamment pour régler la comparaison entre (point) et 'from')
Denis Bitouzé
Merci pour vos suggestions.
À dire vrai, je ne m'attendais pas à ce que ce soit si compliqué et je
regrette qu'Emacs ne fournisse pas nativement de possibilités d'édition
sur des régions, notamment rectangulaires : on pourrait imaginer
vouloir, comme dans ce post, changer la casse, mais aussi par exemple
« rechercher-remplacer ».
En ce qui concerne plus particulièrement les régions rectangulaires, il
pourrait aussi être pratique qu'elles puissent être matérialisées...
--
Denis
Pour replacer, c'est également possible en mode CUA (et si on ne veut
pas des combinaisons de base de CUA, on peut très bien mettre
cua-enable-cua-keys à nil).
Là aussi, le mode CUA le permet.
--
DW