OVH Cloud OVH Cloud

guillemet francais

8 réponses
Avatar
Patrice Karatchentzeff
Salut,

On m'avait filé (ici même d'ailleurs) la solution pour appeler un
guillemet ouvrant français (le «) sous Emacs :

(local-set-key "\253" 'my-french-guill))

(le reste est une fonction perso)

mais cela ne fonctionne pas... le « aussi directement.

Quelqu'un a-t-il la bonne solution ? Et surtout comment on trouve cela
sous Emacs ?

Merci d'avance,

PK

--
      |\      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:p.karatchentzeff@free.fr
     |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'\_)       

8 réponses

Avatar
Matthieu Moy
Patrice Karatchentzeff writes:

Salut,

On m'avait filé (ici même d'ailleurs) la solution pour appeler un
guillemet ouvrant français (le «) sous Emacs :



Moi, j'ai ça :

(defun moy-insert-<-or-<< () (interactive)
(if (eq (char-before) ?<)
(progn
(backward-delete-char 1)
(insert "« "))
(insert "<")))

(defun moy-insert->-or->> () (interactive)
(if (eq (char-before) ?>)
(progn
(backward-delete-char 1)
(delete-horizontal-space t)
(insert " »"))
(insert ">")))

(add-hook 'text-mode-hook #'(lambda () (interactive)
(local-set-key "<" 'moy-insert-<-or-<<)
(local-set-key ">" 'moy-insert->-or->>)))

(add-hook 'message-mode-hook #'(lambda () (interactive)
(local-set-key "<" 'moy-insert-<-or-<<)
(local-set-key ">" 'moy-insert->-or->>)))

Et quand je tappe "<<", ça me fait un "« ", c'est à dire un guillemet
français ouvrant suivi d'une espace insécable. (Et j'ai du faire "<
C-q <" pour tapper le "<<")

--
Matthieu
Avatar
Christophe Cuq
Matthieu Moy writes:

Et quand je tappe "<<", ça me fait un "« ", c'est à dire un guillemet
français ouvrant suivi d'une espace insécable. (Et j'ai du faire "<
C-q <" pour tapper le "<<")



Pourquoi ne pas utiliser tout simplement le iso-insert ?

C-x 8 < donne : «
C-x 8 > donne : »

C'est quand même plus simple non :) ?

--
CHC
Avatar
Matthieu Moy
Christophe Cuq writes:

Pourquoi ne pas utiliser tout simplement le iso-insert ?

C-x 8 < donne : «
C-x 8 > donne : »

C'est quand même plus simple non :) ?



Ca marche aussi, mais pour tapper "« ", la séquence de touches est un
peu plus longue, c'est tout !

Sinon, sur un azerty, il y a aussi AltGr-z et AltGr-x qui ont le
mérite de marcher en dehors d'Emacs.

--
Matthieu
Avatar
Jacques L'helgoualc'h
Patrice Karatchentzeff a dit :

Salut,



salut.

On m'avait filé (ici même d'ailleurs) la solution pour appeler un
guillemet ouvrant français (le «) sous Emacs :

(local-set-key "253" 'my-french-guill))

(le reste est une fonction perso)

mais cela ne fonctionne pas... le « aussi directement.



(define-key LaTeX-mode-map [?253] 'my-french-guill) ; chez moi©

Quelqu'un a-t-il la bonne solution ? Et surtout comment on trouve cela
sous Emacs ?



L'affectation de commandes à des caractères non-ascii est assez
embrouillée. Avec un C-x = sur ton guillemet ouvrant, j'obtiens

Char: « (04253, 2219, 0x8ab, file AB) ...

(253 octal = 171 décimal = ab hexa), et ça marche. Pour des
explications, cf. le manuel Emacs, Keys Binding, Non-ASCII Rebinding

,----
| Move point before the character, then type `C-x ='. This displays a
| message in the minibuffer, showing the character code in three ways,
| octal, decimal and hexadecimal, all within a set of parentheses. Use
| the second of the three numbers, the decimal one, inside the vector to
| bind:
|
| (global-set-key [DECIMAL-CODE] 'some-function)
`----

Raphaël Berbain avait posté ici une méthode plus élégante :

(require 'cl)

(defmacro with-multibyte-kbd (&rest body)
"Execute the forms in BODY with kbd redefined to handle multibyte characters.
The value returned is the value of the last form in BODY."
`(labels ((kbd (keys) (read-kbd-macro (string-make-unibyte keys))))
,@body))

;; Example:
;; (with-multibyte-kbd
;; (global-set-key (kbd "²") "^2"))

Merci d'avance,



de rien,
--
Jacques L'helgoualc'h
Avatar
Eric Jacoboni
Matthieu Moy writes:

Sinon, sur un azerty, il y a aussi AltGr-z et AltGr-x qui ont le
mérite de marcher en dehors d'Emacs.



Sur un clavier azerty _de pécé_....

Sur un clavier azerty de mac, c'est Alt-7 et Alt-8.
--
Éric Jacoboni, né il y a 1377279670 secondes
Avatar
Patrice Karatchentzeff
Jacques L'helgoualc'h writes:

Patrice Karatchentzeff a dit :




[...]

(define-key LaTeX-mode-map [?253] 'my-french-guill) ; chez moi©



OK et merci : sur le même modèle, j'ai fait

(local-set-key [?253] 'my-french-guill))

et cela fonctionne ® ©

Merci donc...


Quelqu'un a-t-il la bonne solution ? Et surtout comment on trouve cela
sous Emacs ?



L'affectation de commandes à des caractères non-ascii est assez
embrouillée. Avec un C-x = sur ton guillemet ouvrant, j'obtiens

Char: « (04253, 2219, 0x8ab, file AB) ...

(253 octal = 171 décimal = ab hexa), et ça marche. Pour des
explications, cf. le manuel Emacs, Keys Binding, Non-ASCII Rebinding

,----
| Move point before the character, then type `C-x ='. This displays a
| message in the minibuffer, showing the character code in three ways,
| octal, decimal and hexadecimal, all within a set of parentheses. Use
| the second of the three numbers, the decimal one, inside the vector to
| bind:
|
| (global-set-key [DECIMAL-CODE] 'some-function)
`----



admirable frontière entre la documentation et la réalité ;-) Dommage,
je commence à bazarder XEmacs parce que je trouvais leur doc en
dessous de tout - et donc cela de Emacs bien mieux faite.

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       
Avatar
Christophe Cuq
Eric Jacoboni writes:

Matthieu Moy writes:

Sinon, sur un azerty, il y a aussi AltGr-z et AltGr-x qui ont le
mérite de marcher en dehors d'Emacs.



Sur un clavier azerty _de pécé_....



Arrrrh, voilà pourquoi ça ne fonctionnait pas. Grmbl.

Sur un clavier azerty de mac, c'est Alt-7 et Alt-8.



EN fait, c'est option-7 («) et option-shift-7 (») :)

--
CHC
Avatar
Christophe Cuq
Matthieu Moy writes:

Sinon, sur un azerty, il y a aussi AltGr-z et AltGr-x qui ont le
mérite de marcher en dehors d'Emacs.



A morche pas sur MacOSX :)

--
CHC