Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Comment choisir moi même si je veux travailler sur la région ou sur le buffer ?

3 views
Skip to first unread message

er...@rail.eu.org

unread,
Jan 31, 2012, 2:41:47 AM1/31/12
to

Dans emacs 23, un paquet de fonctions agissent sur la région quand
celle-ci est définie.

Ce comportment transforme les macros en casse-tête. :
J'utilise la region pour mettre un bout de texte dans un registre, puis
je veux utiliser ce registre dans une commande sur l'ensemble du buffer.

Mais comm il existe une région ce %µ%"se lilmite à la région. Je prétend
savoir mieux qu'un bout de code ce que *je* veux faire. Aussi comment
supprimmer ce comportement à la con imprévisible et pouvoir travailler
sur le buffer même s'il existe une région ?

À défaut comment lui faire oublier la région ? (Et sans effet de bord,
par exemple le C-g qui ferme aussi la définiton de macros...)


Merci.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé

Daimrod

unread,
Jan 31, 2012, 4:08:47 AM1/31/12
to
er...@rail.eu.org writes:

> Dans emacs 23, un paquet de fonctions agissent sur la région quand
> celle-ci est définie.
>
> Ce comportment transforme les macros en casse-tête. :
> J'utilise la region pour mettre un bout de texte dans un registre, puis
> je veux utiliser ce registre dans une commande sur l'ensemble du buffer.
>
> Mais comm il existe une région ce %µ%"se lilmite à la région. Je prétend
> savoir mieux qu'un bout de code ce que *je* veux faire. Aussi comment
> supprimmer ce comportement à la con imprévisible et pouvoir travailler
> sur le buffer même s'il existe une région ?
>
> À défaut comment lui faire oublier la région ? (Et sans effet de bord,
> par exemple le C-g qui ferme aussi la définiton de macros...)
>
>
> Merci.

Je ne suis pas sûr d'avoir bien compris mais tu peux soit:

- utiliser C-<space> pour « annuler » la region courante en posant une
nouvelle marque.
- Marquer l'intégralité du buffer avec C-x h

Luc Habert

unread,
Jan 31, 2012, 5:05:28 AM1/31/12
to
er...@rail.eu.org :

> Dans emacs 23, un paquet de fonctions agissent sur la région quand
> celle-ci est définie.

J'ai pas remarqué de changements par rapport à aaaavant, mais je n'utilise
plus beaucoup emacs (VS est quand même très bon pour éditer du C#, bien que
ce soit une sombre daube niveau édition de texte brut).

Tu as des exemples de telles fontions? Leur doc ne dit rien?

Je vois au moins les fonctions de replace, mais ça date de quelques
décennies. Quand on est en transient-mark-mode, le replace est limité à la
région si et seulement si la région est highlightée. Si tu désactives le
transient-mark-mode, ça s'applique à tout le buffer. Peut-être que les
fonctions qui t'*ent ont le même comportement?

> J'utilise la region pour mettre un bout de texte dans un registre, puis
> je veux utiliser ce registre dans une commande sur l'ensemble du buffer.

Argh, copy-to-register ne déhighlighte pas la région, contrairement à M-W.

> À défaut comment lui faire oublier la région ? (Et sans effet de bord,
> par exemple le C-g qui ferme aussi la définiton de macros...)

C'est naze, la doc n'indique que C-g et ESC ESC ESC.

Luc Habert

unread,
Jan 31, 2012, 5:56:28 AM1/31/12
to
Luc Habert :

> J'ai pas remarqué de changements par rapport à aaaavant

En fait, le changement est que transient-mark-mode est activé par défaut, et
comme je l'avais avant, je n'ai pas vu de différence.

er...@rail.eu.org

unread,
Jan 31, 2012, 6:04:32 AM1/31/12
to
Luc.Haber...@normalesup.org (Luc Habert) écrivait :

> er...@rail.eu.org :
>
>> Dans emacs 23, un paquet de fonctions agissent sur la région quand
>> celle-ci est définie.
>
> J'ai pas remarqué de changements par rapport à aaaavant, mais je n'utilise
> plus beaucoup emacs (VS est quand même très bon pour éditer du C#, bien que
> ce soit une sombre daube niveau édition de texte brut).
>
> Tu as des exemples de telles fontions? Leur doc ne dit rien?

replace-string est la première qui me vient à l'esprit parceque c'est
celle où j'ai le plus souvent le problème. D'après la doc c'est lié au
transient-mark-mode qui autrefois ne faisait qu'indiquer la région de
manière visuelle (feature qui m'intéresse)... Il y a aussi
ispell-buffer,

> Je vois au moins les fonctions de replace, mais ça date de quelques
> décennies. Quand on est en transient-mark-mode, le replace est limité à la
> région si et seulement si la région est highlightée. Si tu désactives le
> transient-mark-mode, ça s'applique à tout le buffer. Peut-être que les
> fonctions qui t'*ent ont le même comportement?
>
>> J'utilise la region pour mettre un bout de texte dans un registre, puis
>> je veux utiliser ce registre dans une commande sur l'ensemble du buffer.
>
> Argh, copy-to-register ne déhighlighte pas la région, contrairement à M-W.

Oui, mais quand on a 2 morceaux de texte à récupérer pour les utiliser
dans la macro, il faut utiliser les registres...

>> À défaut comment lui faire oublier la région ? (Et sans effet de bord,
>> par exemple le C-g qui ferme aussi la définiton de macros...)
>
> C'est naze, la doc n'indique que C-g et ESC ESC ESC.

On m'a signalé C-Spc C-Spc qui désactive la marque, et qui semble marcher.

Pascal J. Bourguignon

unread,
Jan 31, 2012, 8:36:42 AM1/31/12
to
er...@rail.eu.org writes:

> Dans emacs 23, un paquet de fonctions agissent sur la région quand
> celle-ci est définie.
>
> Ce comportment transforme les macros en casse-tête. :
> J'utilise la region pour mettre un bout de texte dans un registre, puis
> je veux utiliser ce registre dans une commande sur l'ensemble du buffer.
>
> Mais comm il existe une région ce %µ%"se lilmite à la région. Je prétend
> savoir mieux qu'un bout de code ce que *je* veux faire. Aussi comment
> supprimmer ce comportement à la con imprévisible et pouvoir travailler
> sur le buffer même s'il existe une région ?
>
> À défaut comment lui faire oublier la région ? (Et sans effet de bord,
> par exemple le C-g qui ferme aussi la définiton de macros...)

C-SPC ou C-x h

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

Vincent Belaïche

unread,
Feb 3, 2012, 1:24:24 PM2/3/12
to Vincent Belaïche
"Pascal J. Bourguignon" <p...@informatimago.com> writes:

> er...@rail.eu.org writes:
>
>> Dans emacs 23, un paquet de fonctions agissent sur la région quand
>> celle-ci est définie.
>>
>> Ce comportment transforme les macros en casse-tête. :
>> J'utilise la region pour mettre un bout de texte dans un registre, puis
>> je veux utiliser ce registre dans une commande sur l'ensemble du buffer.
>>
>> Mais comm il existe une région ce %µ%"se lilmite à la région. Je prétend
>> savoir mieux qu'un bout de code ce que *je* veux faire. Aussi comment
>> supprimmer ce comportement à la con imprévisible et pouvoir travailler
>> sur le buffer même s'il existe une région ?
>>
>> À défaut comment lui faire oublier la région ? (Et sans effet de bord,
>> par exemple le C-g qui ferme aussi la définiton de macros...)
>
> C-SPC ou C-x h

Une solution carrément radicale serait de redéfinir region-active-p
comme ça dans ton fichier d'init:

(eval-after-load "simple"
(defun region-active-p () nil))

La fonction region-active-p sert à tester si la region est active et à
faire un traitement particulier dans ce cas.

à+ Vincent.

0 new messages