[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Emacs et les raccourcis clavier



Franck Joncourt a écrit, dimanche 20 mai 2007, à 18:08 :
> On Sun, May 20, 2007 at 04:56:17PM +0200, Remi Vanicat wrote:
> > Franck Joncourt <franck.joncourt@wanadoo.fr> writes:
> > 
> > > ; definition du hook personnel
> > > (defun my-hook ()
> > > 	(define-key cc-mode-map "\C-c i" 'insert-cfile-header))
_________________________________^^^^!^

> > [...]
> > >
> > > (global-set-key (kbd "\C-c i") 'insert-cfile-header)
> > 
> > donc si tu essais 
> > (defun my-hook ()
> >  	(define-key cc-mode-map (kbd "\C-c i") 'insert-cfile-header))
> > 
> > il se passe quoi ?
> 
> Il ne se passait rien. Aucun raccourci n'etait attribue.

Attention aussi  à la syntaxe des  séquences de touches,  pour « C-c i »
c'est, entre autres,

 (kbd "C-c i")
 "\C-ci"

En positionnant le curseur à la  fin d'une des deux lignes ci-dessus, et
en tapant « C-x C-e », Emacs  va afficher « "^Ci" », où ^C représente un
seul caractère, Control-C ; on peut d'ailleurs le taper directement avec
« C-q C-c ». La méthode kbd me  semble préférable --- il suffit de taper
la  séquence  voulue, puis  « C-h  l »  affichera  la représentation  de
celle-ci, à mettre entre double-quotes comme argument de kbd...


> Un tonnerre d'applaudissements : j'ai trouve.

Bravo.

> C'est pas cc-mode mais c-mode pour un fichier ".c". Mais je ne comprends
> pas pourquoi il me chargeait cc-mod et ne lui associait pas le
> raccourci, car c'est pourtant ce que j avais ecrit.

Ah, ce n'est pas de ta faute, « emacs -q --no-site-file toto.c » (Sarge)
me fait le même coup ;  mais c'est pervers, le « c-mode » est chargé par
le fichier ... « cc-mode.el » :

 M-x apropos RET c-mode RET
 ... Entrée sur c-mode =>
 c-mode is an interactive autoloaded Lisp function in `cc-mode'. 

Au pif, je dirais que le fichier cc-mode a remplacé un vieux c-mode ?

> Donc, j'ai teste deux methodes :
> 
> 1/ Auto insert : comme il m'avait ete souligne dans un mail :
>  emacs + auto-insert avec google me donne une solution
> 
> http://www.docmirror.net/fr/linux/howto/misc/LinuxDoc+Emacs+Ispell-HOWTO/LinuxDoc+Emacs+Ispell-HOWTO-6.html
> 
> Je vais adopter celle-ci pour l'ouverture de fichiers vierges.

Ça doit marcher, mais demande sur news:fcae ce qui est utilisé maintenant.


> 2/
>  - Creation d'une fonction pour inserer un fichier
>  - Creation d'un hook (1) avec association de la dite fonction et un
>    raccourci clavier
>  - Ajout du hook (1) au hook du mode pour lequel on veut mettre en place
>    le raccourci clavier.

Ça s'exécutera à chaque appel de la fonction c-mode, il est plus élégant
d'utiliser

(eval-after-load "cc-mode" ; le nom du fichier, sans chemin ni extension
	'(ta-fonction-c-mode-setup))

pour ne définir qu'une fois la c-mode-map(*) et les fonctions associées.

(*) et pas cc-mode-map !
-- 
Jacques L'helgoualc'h



Reply to: