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

[newbie]nouveaux key-bindings

34 réponses
Avatar
thierry
Bonjour,
j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (\frac{|}{},\sqrt[|]{} and so
on),comme par exemple :

(defun insert-frac () "insère la commande \frac{}{} et se positionne"
(interactive)
(insert "\\frac{}{}")
(backward-char 3))

(global-set-key "\C-f" insert-frac)

Le problème est que je suis perdu dans le foisonnement des key-bindings
pré-existant.
Quelqu'un pourrait-il me dire quels sont les séquences qu'un utilisateur a à
sa disposition sans empiéter sur celles qui existent ? Et combien de ces
petites macros je peux ainsi me mitonner (en gros) ??

Merci !

--
Thierry

10 réponses

1 2 3 4
Avatar
Ralf Angeli
* thierry (2005-11-07) writes:

j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (frac{|}{},sqrt[|]{} and so
on),comme par exemple :



Hm, `C-c RET frac RET' est trop dur?

Le problème est que je suis perdu dans le foisonnement des key-bindings
pré-existant.
Quelqu'un pourrait-il me dire quels sont les séquences qu'un utilisateur a à
sa disposition sans empiéter sur celles qui existent ? Et combien de ces
petites macros je peux ainsi me mitonner (en gros) ??



,----[ (info "(emacs)Keymaps") ]
| As a user, you can redefine any key; but it is usually best to stick
| to key sequences that consist of `C-c' followed by a letter (upper or
| lower case). These keys are "reserved for users," so they won't
| conflict with any properly designed Emacs extension. The function keys
| <F5> through <F9> are also reserved for users. If you redefine some
| other key, your definition may be overridden by certain extensions or
| major modes which redefine the same key.
`----

--
Ralf
Avatar
thierry
Ralf Angeli wrote:

* thierry (2005-11-07) writes:

j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (frac{|}{},sqrt[|]{} and so
on),comme par exemple :



Hm, `C-c RET frac RET' est trop dur?



non, d'accord, mais pour frac, on n'économise que les parenthèses qui
suivent. D'autre part, les commandes personnelles ou issues de packages
exotiques ne sont pas prises en compte, non?



,----[ (info "(emacs)Keymaps") ]
| As a user, you can redefine any key; but it is usually best to stick
| to key sequences that consist of `C-c' followed by a letter (upper or
| lower case). These keys are "reserved for users," so they won't
| conflict with any properly designed Emacs extension. The function keys
| <F5> through <F9> are also reserved for users. If you redefine some
| other key, your definition may be overridden by certain extensions or
| major modes which redefine the same key.
`----



Merci pour l'info.

--
Thierry
Avatar
Ralf Angeli
* thierry (2005-11-07) writes:

Ralf Angeli wrote:

* thierry (2005-11-07) writes:

j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (frac{|}{},sqrt[|]{} and so
on),comme par exemple :



Hm, `C-c RET frac RET' est trop dur?



non, d'accord, mais pour frac, on n'économise que les parenthèses qui
suivent.



Et le backslash. (c: Normalement on peut taper TAB dans le minibuffer
pour compléter les macros, mais en cas de frac il y a aussi frame
etc. qui ça empêche.

D'autre part, les commandes personnelles ou issues de packages
exotiques ne sont pas prises en compte, non?



Ça dépent. Si tu as activé le parsing (voir la page première du
manuel d'AUCTeX), il y a pourrait du soutien[1] pour ces packages par
des fichiers styles d'AUCTeX. Si ça n'est pas le cas, on peut générer
des fichiers pareils avec `M-x TeX-auto-generate RET' (voir (info
"(auctex)Automatic Private")).


Footnotes:
[1] My French is a bit rusty. What I wanted to write is "there might
be support for ...".

--
Ralf
Avatar
Matthieu Moy
Ralf Angeli writes:

Footnotes:
[1] My French is a bit rusty. What I wanted to write is "there might
be support for ...".



On n'a pas de traduction satisfaisante de « support » en français,
donc en général, on utiliser le franglais « supporter » (qui devrait
être un faux ami).

=> Il se peut qu'AUCTeX supporte ces packages.

(merci de faire l'effort de suivre un forum un Français et de répondre
aux questions !)

--
Matthieu
Avatar
Ralf Angeli
* Matthieu Moy (2005-11-07) writes:

Ralf Angeli writes:

Footnotes:
[1] My French is a bit rusty. What I wanted to write is "there might
be support for ...".



On n'a pas de traduction satisfaisante de « support » en français,
donc en général, on utiliser le franglais « supporter » (qui devrait
être un faux ami).



Okay, merci.

=> Il se peut qu'AUCTeX supporte ces packages.



"Il se peut", cette une construction que j'ai oublié totalement.

(merci de faire l'effort de suivre un forum un Français et de répondre
aux questions !)



De rien. Comme ça je peux améliorer mon Français en peut. J'habite a
la frontière avec la France mais il se passe rarement que je parle
avec des gens français. (c:

--
Ralf
Avatar
Ph. Idlavi
Le 07 Novembre 2005 à 14h33:14,
thierry écrivit :

Bonjour,
j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (frac{|}{},sqrt[|]{} and so
on),comme par exemple :

(defun insert-frac () "insère la commande frac{}{} et se positionne"
(interactive)
(insert "frac{}{}")
(backward-char 3))

(global-set-key "C-f" insert-frac)

Le problème est que je suis perdu dans le foisonnement des key-bindings
pré-existant.



Je suis un inconditionnel de latex-tempo.el avec lequel les "key-bindings"
deviennent inutiles.
Voir le fil :
http://tinyurl.com/7rvcs

Quelqu'un pourrait-il me dire quels sont les séquences qu'un utilisateur a à
sa disposition sans empiéter sur celles qui existent ? Et combien de ces
petites macros je peux ainsi me mitonner (en gros) ??

Merci !



Avec plaisir,
--
Philippe I.
Avatar
Pascal Bourguignon
thierry writes:

Bonjour,
j'utilise emacs (21.3) essentiellement pour éditer de LaTeX, avec AUCTEX.
J'aurais voulu définir de nouveaux raccourcis (key-binding) pour pouvoir
entrer rapidement certaines commandes (frac{|}{},sqrt[|]{} and so
on),comme par exemple :

(defun insert-frac () "insère la commande frac{}{} et se positionne"
(interactive)
(insert "frac{}{}")
(backward-char 3))

(global-set-key "C-f" insert-frac)

Le problème est que je suis perdu dans le foisonnement des key-bindings
pré-existant.
Quelqu'un pourrait-il me dire quels sont les séquences qu'un utilisateur a à
sa disposition sans empiéter sur celles qui existent ? Et combien de ces
petites macros je peux ainsi me mitonner (en gros) ??



En gros, j'ai 5799 accords libres, sans compter les séquences d'accord.


;; Ceci liste toutes les combinaisons de touches et leur bindings :

(require 'cl)

(defmacro rloop (clauses &rest body)
(if (null clauses)
`(progn ,@body)
`(loop ,@(car clauses) do (rloop ,(cdr clauses) ,@body))))

(defun all-bindings ()
(interactive)
(message "all-bindings: wait a few seconds please...")
(let ((data (with-output-to-string
(let ((bindings '()))
(rloop ((for C in '("" "C-")) ; control
(for M in '("" "M-")) ; meta
(for A in '("" "A-")) ; alt
(for S in '("" "S-")) ; super
(for H in '("" "H-")) ; hyper
(for s in '("" "s-")) ; shift
(for x from 32 to 127))
(let* ((k (format "%s%s%s%s%s%s%c" C M A S H s x))
(key (ignore-errors (read-kbd-macro k))))
(when key
(push
(list k (format "%-12s %-12s %Sn" k key
(or (string-key-binding key)
(key-binding key))))
bindings))))
(dolist (item
(sort bindings
(lambda (a b)
(or (< (length (first a))
(length (first b)))
(and (= (length (first a))
(length (first b)))
(string< (first a)
(first b)))))))
(princ (second item)))))))
(switch-to-buffer (format "Keybindings in %s" (buffer-name)))
(erase-buffer)
(insert data)
(beginning-of-buffer)
(values)))


--
__Pascal Bourguignon__ http://www.informatimago.com/

Nobody can fix the economy. Nobody can be trusted with their finger
on the button. Nobody's perfect. VOTE FOR NOBODY.
Avatar
Xavier Maillard
On 7 nov 2005, Ph. Idlavi wrote:

Voir le fil : http://tinyurl.com/7rvcs



Pourquoi ne pas avoir mis un lien plus « Usenet » ?

A+
--
Xavier Maillard,
Avatar
Ph. Idlavi
Le 07 Novembre 2005 à 22h05:52,
Xavier Maillard écrivit :

On 7 nov 2005, Ph. Idlavi wrote:

Voir le fil : http://tinyurl.com/7rvcs



Pourquoi ne pas avoir mis un lien plus « Usenet » ?



Par ignorance. Je suis désolé.
Quel est le problème? Que vaut-il mieux faire ?


A+


--
Philippe I.
Avatar
drkm
Ph. Idlavi writes:

Le 07 Novembre 2005 à 22h05:52,
Xavier Maillard écrivit :

On 7 nov 2005, Ph. Idlavi wrote:

Voir le fil : http://tinyurl.com/7rvcs



Pourquoi ne pas avoir mis un lien plus « Usenet » ?



Par ignorance. Je suis désolé.
Quel est le problème? Que vaut-il mieux faire ?



Sur Usenet, on utilise plutôt le Message-ID. C'est un
dénominateur commun, *la* manière d'identifier un article. En
l'occurrence :

Message-ID:

--drkm
1 2 3 4