Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Windows et C-M-

7 réponses
Avatar
Jack.R
Bonjour,

Fin mai, il y a eu une discussion intitulée "Comment faire C-\ quand on
est une grenouille (Croa)". Je viens de tomber dessus car je viens de me
mettre à emacs sous windows (je pratique déjà depuis quelques temps sous
linux) et j'étais confronté au C-M-\ (indent-region) qui ne fonctionnait
pas.

Dans mon .emacs, j'ai mis (attention à la coupure de la ligne produite
par mon lecteur de news)

(global-set-key [(ctrl <)] 'indent-region) ; As C-M-\ did not work on
Windows

Comme en principe je vient de marquer une région par C-space, le C-< est
juste à coté pour faire l'indentation.
Il ne m'a pas semblé que cette combinaison de touche était assigné dans
les librairies que j'utilise.

On aurait aussi pu utiliser (ctrl shift <)

Tiens, d'ailleurs, existe-t-il une page web ou autre qui indique toutes
les combinaisons de touches définies ?
Quelque chose de plus complet que C-h k qui, sauf erreur de ma part, ne
doit lister que les combinaisons de l'emacs utilisé.

--
Jack.R

7 réponses

Avatar
Paul Gaborit
À (at) Tue, 2 Sep 2008 19:58:19 +0200,
"Jack.R" écrivait (wrote):
Tiens, d'ailleurs, existe-t-il une page web ou autre qui indique toutes
les combinaisons de touches définies ?



Non car ça n'aurait pas de sens... Puisque ça peut varier d'un buffer
à un autre selon le mode majeur et les modes mineurs utilisés.

Quelque chose de plus complet que C-h k qui, sauf erreur de ma part, ne
doit lister que les combinaisons de l'emacs utilisé.



C'est pourtant la meilleure source d'information puisque ça liste
toutes les combinaisons (celles des modes mineurs, celles du mode
majeur et les globales).

L'intérêt d'emacs est justement de pouvoir refaire les associations
comme on le souhaite...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Jack.R
Le Wed, 03 Sep 2008 17:19:37 +0200, Paul Gaborit a écrit:

À (at) Tue, 2 Sep 2008 19:58:19 +0200, "Jack.R"
écrivait (wrote):
Tiens, d'ailleurs, existe-t-il une page web ou autre qui indique toutes
les combinaisons de touches définies ?



Non car ça n'aurait pas de sens...



Ben si, de mon point de vue ;-) (cf ci-dessous)

Puisque ça peut varier d'un buffer à
un autre selon le mode majeur et les modes mineurs utilisés.




Oui, d'où mon interrogation.

En effet, dans le cas qui m'intéressait, indent-region, cette possibilité
est présente dans beaucoup de mode liés à des langages de programmation,
il est donc très intéressant de trouver une combinaison de touche qui ne
rentrera en conflit avec aucun d'entre-eux.
J'ai fait des essais avec quelques langages que je pratique, mais ais-je
pensé à tous ?


L'intérêt d'emacs est justement de pouvoir refaire les associations
comme on le souhaite...



Justement, je veux en ajouter une, sans pour autant risquer de faire
disparaître une association présente dans un mode x ou y.

Imagine qu'au lieu de choisir C-<, j'ai pris M-enter, en mode LaTeX, dans
un begin{itemize}, end{itemize} cela va devenir un petit peu moins
facile de rajouter des item ...

J'espère que cela rend un peu plus clair ce que j'écrivais.

--
Jack.R
Avatar
Paul Gaborit
À (at) Wed, 3 Sep 2008 19:11:47 +0200,
"Jack.R" écrivait (wrote):
J'ai fait des essais avec quelques langages que je pratique, mais ais-je
pensé à tous ?


[...]
Justement, je veux en ajouter une, sans pour autant risquer de faire



Il y a toujours un risque qu'un auteur de mode décide (dans une
nouvelle version) de choisir la combinaison qu'on croyait non
utilisée... Il y a aussi le risque d'avoir besoin plus tard d'un
nouveau mode (pas obligatoirement de "programmation") qui utilise
cette même combinaison. Etc...

Imagine qu'au lieu de choisir C-<, j'ai pris M-enter, en mode LaTeX, dans
un begin{itemize}, end{itemize} cela va devenir un petit peu moins
facile de rajouter des item ...



Ben oui, c'est le risque... Mais il existe tellement de modes qu'il
est impossible de trouver un compormis acceptable pour tout le monde.

Dans le cas ci-dessus, en supposant que tu sois déjà habitué à
M-enter, une solution consisterait alors à redéfinir la combinaison
pour les item... ou, au contraire, changer pour C-< et donc perdre la
"mauvaise" habitude.

On peut aussi adopter "M-xindent-region" (puis si on l'utilise souvent
ensuite "M-xindM-p"). C'est un peu plus long mais ça marche partout.
;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Erwan David
Paul Gaborit écrivait :

À (at) Wed, 3 Sep 2008 19:11:47 +0200,
"Jack.R" écrivait (wrote):
J'ai fait des essais avec quelques langages que je pratique, mais ais-je
pensé à tous ?


[...]
Justement, je veux en ajouter une, sans pour autant risquer de faire



Il y a toujours un risque qu'un auteur de mode décide (dans une
nouvelle version) de choisir la combinaison qu'on croyait non
utilisée... Il y a aussi le risque d'avoir besoin plus tard d'un
nouveau mode (pas obligatoirement de "programmation") qui utilise
cette même combinaison. Etc...



C'est pour ça que C-c lettre est censé être réservé aux bindings de
l'utilisateur.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Astier
Paul Gaborit a écrit :

On peut aussi adopter "M-xindent-region" (puis si on l'utilise souvent
ensuite "M-xindM-p"). C'est un peu plus long mais ça marche partout.
;-)



Euh... je suppose que "M-xindM-p" correspond à : M-x ind M-p ? Et
qu'est-ce que cela provoque comme action ?

Merci, à+
Avatar
Paul Gaborit
À (at) Thu, 04 Sep 2008 11:03:30 +0200,
Astier écrivait (wrote):
Paul Gaborit a écrit :

On peut aussi adopter "M-xindent-region" (puis si on l'utilise souvent
ensuite "M-xindM-p"). C'est un peu plus long mais ça marche partout.
;-)



Euh... je suppose que "M-xindM-p" correspond à : M-x ind M-p ?



Oui... ;-)

Et qu'est-ce que cela provoque comme action ?



Ça utilise l'historique des appels au commande (via M-p) pour
retrouver la commande complète 'indent-region' qu'on a déjà saisie une
première fois.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Vincent Belaïche
Bonjour,

La solution qui a émergé du fil "Comment faire C- quand on
est une grenouille (Croa)" c'était de traduire ² en .


Il suffit de rajouter ça dans ton fichier d'init:

(define-key key-translation-map [2226] [?])
(define-key key-translation-map [(control 2226)] [(control ?)])
(define-key key-translation-map [(control meta 2226)] [(control meta ?)])

Note que je crois que ça ne marche qu'à partir de la version 22, dans la
version 21 il me semble de mémoire qu'il fallait remplacer 2226 par #xB2
(ou 178 si tu préfères).

Au lieu de ² tu peux utiliser n'importe quel autre caractère propre au
clavier français, par exemple µ, tu tapes le caractère, puis tu mets le
curseur dessus et tu tape `C-x =' et ça te donne le code qui doit
remplacer 2226.

A+,
Vincent.

Jack.R a écrit :
Bonjour,

Fin mai, il y a eu une discussion intitulée "Comment faire C- quand on
est une grenouille (Croa)". Je viens de tomber dessus car je viens de me
mettre à emacs sous windows (je pratique déjà depuis quelques temps sous
linux) et j'étais confronté au C-M- (indent-region) qui ne fonctionnait
pas.

Dans mon .emacs, j'ai mis (attention à la coupure de la ligne produite
par mon lecteur de news)

(global-set-key [(ctrl <)] 'indent-region) ; As C-M- did not work on
Windows

Comme en principe je vient de marquer une région par C-space, le C-< est
juste à coté pour faire l'indentation.
Il ne m'a pas semblé que cette combinaison de touche était assigné dans
les librairies que j'utilise.

On aurait aussi pu utiliser (ctrl shift <)

Tiens, d'ailleurs, existe-t-il une page web ou autre qui indique toutes
les combinaisons de touches définies ?
Quelque chose de plus complet que C-h k qui, sauf erreur de ma part, ne
doit lister que les combinaisons de l'emacs utilisé.