OVH Cloud OVH Cloud

Raccourcis clavier avec action différente selon mode

32 réponses
Avatar
Astier
Bonjour,

Apr=E8s avoir utilis=E9 Emacs pour r=E9diger du code LaTeX avec AucTeX, je
viens de me mettre au HTML avec l'aide du html-helper-mode charg=E9
ainsi (si =E7a peut servir pour la suite) :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;;HTML
(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-
mode-alist))
(setq html-helper-do-write-file-hooks t)
(setq html-helper-build-new-buffer t)
; Utiliser le menu expert
(setq html-helper-use-expert-menu t)
; Indenter automatiquement lorsque l'on appuie sur entr=E9e
(defun my-html-helper-load-hook ()
(define-key html-mode-map (kbd "RET") 'newline-and-indent))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Dans mon .emacs, j'avais fait quelques modifications au niveau des
raccourcis clavier notamment en ce qui concerne l'automatisation des
guillemets fran=E7ais (\og \fg avec l'extension french de babel) :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(defun insert-french-quotes () "insert french quotes and go between
them" (interactive)
(insert "\\og \\fg{}")
(backward-char 5))
(global-set-key (kbd "M-\"") 'insert-french-quotes)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Pour le HTML, j'ai attribu=E9 un autre raccourci clavier pour les
guillemets fran=E7ais : « » avec espace ins=E9cable ainsi :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(defun insert-html-french-quotes () "insert french quotes in html and
go between" (interactive)
(insert "\« \ »")
(backward-char 13))
(global-set-key (kbd "C-\"") 'insert-html-french-quotes)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Je viens =E0 vous afin de savoir s'il =E9tait possible de faire en sorte
qu'un m=EAme raccourci clavier puisse produire une action diff=E9rente
selon le mode dans lequel on se trouve : ainsi, le raccourci clavier
C-" pourrait produire des guillemets fran=E7ais que l'on soit en latex
ou en html. Je suppose que pour ce faire il faut mettre en place une
sorte de "condition" mais mes recherches ne m'ont pas vraiment
renseign=E9 :/


Merci, =E0 bient=F4t.

10 réponses

1 2 3 4
Avatar
Ralf Angeli
* Jacques L'helgoualc'h (2008-09-14) writes:

Il y a sûrement des améliorations à apporter :

(defun my-LaTeX-init ()
"Définitions pour le LaTeX-mode"

;; pour auctex
(defcustom LaTeX-equation-label "eq-"



Pourquoi est-ce que tu défines ça avec `defcustom' ?

(setq-default
tex-dvi-view-command "/usr/bin/xdvi"
tex-dvi-print-command "lpr"



Quoi utilise cettes variables ?

LaTeX-command-style '( ;;("^french$" "frlatex") ; ligne à ajouter
("." "latex")))



Ça détruit des features utiles d'AUCTeX.

(require 'font-latex))



Pourquoi est-ce que tu a besoin de ça ?

--
Ralf
Avatar
Jacques L'helgoualc'h
Le 14-09-2008, Ralf Angeli a écrit :
* Jacques L'helgoualc'h (2008-09-14) writes:
Il y a sûrement des améliorations à apporter :




[...]
Pourquoi est-ce que tu a besoin de ça ?



Merci pour ces bonnes questions --- il y a quelques fossiles à nettoyer...
--
Jacques L'helgoualc'h
Avatar
Jacques L'helgoualc'h
Le 14-09-2008, Ralf Angeli a écrit :
* Jacques L'helgoualc'h (2008-09-14) writes:
Il y a sûrement des améliorations à apporter :

(defun my-LaTeX-init ()
"Définitions pour le LaTeX-mode"

;; pour auctex
(defcustom LaTeX-equation-label "eq-"



Pourquoi est-ce que tu défines ça avec `defcustom' ?



une (ancienne) erreur --- je l'ai mise dans un (setq ...)

(setq-default
tex-dvi-view-command "/usr/bin/xdvi"
tex-dvi-print-command "lpr"



Quoi utilise cettes variables ?



Elles sont (bien) définies dans /usr/share/emacs/21.4/lisp/loaddefs.el
(Debian Etch) --- il y a un certain temps, quand j'utilisais un AUCTeX
non debianisé, j'avais dû les redéfinir...

LaTeX-command-style '( ;;("^french$" "frlatex") ; ligne à ajouter
("." "latex")))



Ça détruit des features utiles d'AUCTeX.



OK, supprimé.

(require 'font-latex))



Pourquoi est-ce que tu a besoin de ça ?



Plus maintenant, merci !
--
Jacques L'helgoualc'h
Avatar
Brice Boucard
Bonjour,

Alors, j'ai du mal encore à saisir réellement :-/

J'ai commencé par reprendre mon ~/.emacs au grand complet ; le voici :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;################################################################################
;; TAILLE ET POSITION FENÊTRE
;;################################################################################

(if window-system
(setq initial-frame-alist '((top . 00)(left . 00)(width . 98)(height .
45))))

;;################################################################################
;; POLICE
;;################################################################################

;;(set-face-font 'default '
;;"*courier-medium-r-normal--12-120-*-iso8859-15")


;;################################################################################
;; REDEFINITION CLAVIER
;;################################################################################

;;--------------------------------------------------------------------------------
;; raccourcis clavier
;;--------------------------------------------------------------------------------

;(global-set-key [f2] 'save-buffer)
;(global-set-key [f3] 'find-file)
;(global-set-key [f4] 'kill-this-buffer)
;(global-set-key [f9] 'compile)
;(global-set-key [(control z)] 'undo)
;(global-set-key [(meta g)] 'goto-line)

;;--------------------------------------------------------------------------------
;; sélection avec SHIFT
;;--------------------------------------------------------------------------------

(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
'(display-battery-mode t)
'(display-time-mode t)
'(pc-selection-mode t nil (pc-select))
'(scroll-bar-mode (quote right))
'(show-paren-mode t)
'(transient-mark-mode t))

;;################################################################################
;; (DÉ)SACTIVE LES DIFFÉRENTES BARRES
;;################################################################################

;;--------------------------------------------------------------------------------
;; barre de menu
;;--------------------------------------------------------------------------------
(menu-bar-mode t)

;;--------------------------------------------------------------------------------
;; barre d'icones
;;--------------------------------------------------------------------------------
(tool-bar-mode -1)

;;--------------------------------------------------------------------------------
;; la barre de défilement
;;--------------------------------------------------------------------------------
(scroll-bar-mode t)

(scroll-bar-mode "right")



;;################################################################################
;; THÈME - AFFICHAGE
;;################################################################################
(require 'color-theme)
(color-theme-calm-forest)

;;################################################################################
;; ACTIVER LA COLORATION SYNTAXIQUE
;;################################################################################
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
(setq font-lock-maximum-size nil)

;;################################################################################
;; SURLIGNAGE D'UNE RÉGION SÉLECTIONNÉE
;;################################################################################
(transient-mark-mode t)


;;################################################################################
;; POUR NE PAS AVOIR À TAPER EN ENTIER LA RÉPONSE YES/NO
;;################################################################################

(fset 'yes-or-no-p 'y-or-n-p)

;;################################################################################
;; NUMÉROTATION DES LIGNES EST DES COLONNES
;;################################################################################
;; Show line-number in the mode line
(line-number-mode 1)

;; Show column-number in the mode line

(column-number-mode t)

;;################################################################################
;; POUR AVOIR L'HEURE DANS LA BARRE D'ETAT
;;################################################################################

(display-time-mode t)

(setq display-time-24hr-format t) ;; Format 24 heures

;;################################################################################
;; BATTERY STATE
;;################################################################################

(display-battery-mode t)


;;################################################################################
;; SUPPORT DE LA SOURIS
;;################################################################################

(mouse-wheel-mode t)

;;################################################################################
;; AUTO FILL MODE(retour a la ligne automatiquement)
;;################################################################################


(setq auto-fill-mode 1)

(add-to-list 'auto-mode-alist (cons ".php$" 'php-mode))

(defun toggle-setnu-mode ()
(interactive)
(if setnu-mode
(setnu-mode -1)
(setnu-mode 1)))



;;################################################################################
; METTRE TOUS LES FICHIERS DE SAUVEGARDE DANS UN SEUL RÉPERTOIRE
;;################################################################################

(setq backup-directory-alist
'(("." . "~/.emacs-backup-files/")))

;;################################################################################
; TEXT AND AUTO FILL MODE
;;################################################################################


(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'text-mode-hook-identify)
(add-hook 'text-mode-hook 'turn-on-auto-fill)



;;################################################################################
;; CHEMIN COMPLET DANS LA BARRE DE TITRE ?
;;################################################################################

(setq frame-title-format "%S: %f")

;;################################################################################
;; POUR ENREGISTRER AUTOMATIQUEMENT LA POSITION DU CURSEUR QUAND ON
QUITTE UN
;; FICHIER, ET Y RETOURNER AUTOMATIQUEMENT À LA RÉOUVERTURE
;;################################################################################

(require 'saveplace)
(setq-default save-place t)


;;################################################################################
;; PARENTHESE MATCHING, PERMET DE VERIFIER AU FUR ET À MESURE DE LA
FRAPPE QUE
;; L'ON FERME BIEN CE QUE L'ON OUVRE, AUSSI BIEN POUR LES PARENTHÈSES
QUE LES
;; CROCHETS OU LES ACCOLADES.
;;################################################################################


(require 'paren)
(show-paren-mode t)
(setq-default hilight-paren-expression t)


;;################################################################################
;; FERME AUTOMATIQUEMENT PARENTHÈSES, CROCHETS, GUILLEMETS
;; AU COURS DE LA FRAPPE
;;################################################################################


(defun insert-parentheses () "insert parentheses and go between them"
(interactive)
(insert "()")
(backward-char 1))
(defun insert-brackets () "insert brackets and go between them"
(interactive)
(insert "[]")
(backward-char 1))
(defun insert-braces () "insert curly braces and go between them"
(interactive)
(insert "{}")
(backward-char 1))
(defun insert-quotes () "insert quotes and go between them" (interactive)
(insert """")
(backward-char 1))

(global-set-key "(" 'insert-parentheses) ;;inserts "()"
(global-set-key "[" 'insert-brackets)
(global-set-key "{" 'insert-braces)
(global-set-key """ 'insert-quotes)


;;
---------------------------------------------------------------------------
;; Pour les guillemets français en (la)tex et en html
;;
---------------------------------------------------------------------------

(define-key LaTeX-mode-map (kbd "M-"") 'texfrguill)
(define-key html-mode-map (kbd "M-"") 'htmlfrguill)

(defun texfrguill ()
(interactive)
(insert "og fg{}")
(backward-char 5)
)


(defun htmlfrguill ()
(interactive)
(insert "«  »")
(backward-char 13)
)

;;################################################################################
;; SUPPRIME TOUS LES ESPACES EN FIN DE LIGNE
;;################################################################################

;(autoload 'nuke-trailing-whitespace "whitespace" nil t)



;;################################################################################
;; POUR QUE LA COULEUR MARCHE EN MODE SHELL.
;;################################################################################

(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(defun to-bottom () (interactive) "Recenter screen so that current
line is on the bottom of the screen"
(recenter -1)
)
(defun set-key-to-bottom () (interactive)
(local-set-key "C-l" 'to-bottom)
)
(add-hook 'shell-mode-hook 'set-key-to-bottom)


;;################################################################################
;; SUPPRIMER LES FICHIERS DE SAUVEGARDE EN QUITTANT.
;; (VOUS SAVEZ, CES FAMEUX FICHIERS DONT LE NOM SE TERMINE PAR « ~ »)
;;################################################################################

(setq make-backup-files nil)


;;################################################################################
;; ISPELL / FLYSPELL
;;################################################################################

;(setq-default ispell-dictionnary "francais")

(set-default 'ispell-local-dictionary "francais")
(require 'flyspell)
(add-hook 'text-mode-hook (lambda () (flyspell-mode 1)))
(setq ispell-skip-sgml t)
(global-set-key [f4] 'flyspell-mode)


;;################################################################################
;; LATEX
;;################################################################################

;;--------------------------------------------------------------------------------
;; pdflatex par défaut
;;--------------------------------------------------------------------------------

(setq TeX-PDF-mode t)

;;--------------------------------------------------------------------------------
;; viewer à utiliser
;;--------------------------------------------------------------------------------

;;(setq TeX-output-view-style (quote (
;; ("^pdf$" "." "kpdf %o")
;;)))

;;################################################################################
;; HTML / JAVASCRIPT
;;################################################################################


(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
(setq auto-mode-alist (cons '(".html$" . html-helper-mode)
auto-mode-alist))
(setq html-helper-do-write-file-hooks t)
(setq html-helper-build-new-buffer t)
; Utiliser le menu expert
(setq html-helper-use-expert-menu t)
; Indenter automatiquement lorsque l'on appuie sur entrée
(defun my-html-helper-load-hook ()
(define-key html-mode-map (kbd "RET") 'newline-and-indent))


(setq load-path (cons "~/emacs/javascript" load-path))

(autoload 'js2-mode "js2" nil t)
(add-to-list 'auto-mode-alist '(".js$" . js2-mode))


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mais lorsque je lance Emacs, j'obtiens un message d'erreur :

An error has occurred while loading `/home/bbrice/.emacs':

Symbol's value as variable is void: LaTeX-mode-map


Et là, je comprends que je n'ai pas dû tout comprendre :-(



Je n'ai pas encore vraiment essayé de passer par un Emacs serveur, mais
voilà ce que j'en ai compris :
-- on lance l'emacs serveur au chargement de la session X et donc en
modifiant le fichier ~/.xsession
-- ce emacs serveur charge un ~/.emacs --- à moins que non ? --- qui
doit être minimal
-- ce fichier ~/.emacs minimal va selon la version d'emacs chercher des
fichiers de configuration en fonction
Dans mon cas, je n'ai qu'une seule version actuellement, je peux donc me
satisfaire d'un seul fichier ou tout de même passer par cela :

(if
((= emacs-major-version 22) (add-to-list 'load-path (expand-file-name
~/.elisp22")))
( t (add-to-list 'load-path (expand-file-name "~/.elisp"))))

(load-library "emacs") ;; charge un de mes ~/.elisp2?/emacs.el

J'aurai donc mon emacs plus complet dans ~/.elisp22/emacs
Et dans ce cas-là, chaque fois que je lance un emacs, quel que soit le
mode que je lance par la suite, j'aurai accès à mes personnalisations.


Pour en revenir au "blank-mode", si j'ai bien compris, cela permet
d'avoir des fichiers pour chaque mode --- par exemple, latex.el et
html.el ? Mais le chargement de ces fichiers ne se fait que lorsque l'on
fait une action (raccourci clavier) et non pas à l'ouverture d'un fichier ?


Pourrais-tu à la rigueur poster tes fichiers de configuration, peut-être
y verrais-je plus clair ?


Autre question, je suppose que le réel intérêt de passer par un emacs
serveur réside si l'on utilise emacs pour /tout/, lecture des mail et
des news, éditeur... ?

Merci encore, à bientôt.
Avatar
Jacques L'helgoualc'h
Le 14-09-2008, Brice Boucard a écrit :
Bonjour,



bonsoir,

[...]
;;--------------------------------------------------------------------------------
;; raccourcis clavier
;;--------------------------------------------------------------------------------

;(global-set-key [f2] 'save-buffer)
;(global-set-key [f3] 'find-file)
;(global-set-key [f4] 'kill-this-buffer)
;(global-set-key [f9] 'compile)
;(global-set-key [(control z)] 'undo)
;(global-set-key [(meta g)] 'goto-line)



Remarque en passant : en principe, les raccourcis laissés libres pour
l'utilisateur sont (sauf erreur ou changement)

-- les touches F5 à F9 ;

-- les combinaisons C-c <lettre>.

Par exemple, si je tape C-u C-h c C-z, j'obtiens :

`C-z' (`iconify-or-deiconify-frame')

qui montre que Ctrl-z est déjà pris...


[...]
Mais lorsque je lance Emacs, j'obtiens un message d'erreur :

An error has occurred while loading `/home/bbrice/.emacs':

Symbol's value as variable is void: LaTeX-mode-map


Et là, je comprends que je n'ai pas dû tout comprendre :-(



Ta ligne

(define-key LaTeX-mode-map (kbd "M-"") 'texfrguill)



est exécutée au chargement de ton ~/.emacs, avant celui d'AUCTeX qui
définit le LaTeX-mode : dans mon code, elle est dans le corps d'une
fonction (cf. l'indentation), qui n'est pas appelée tout de suite
(eval-*after*-load ...)


Je n'ai pas encore vraiment essayé de passer par un Emacs serveur, mais
voilà ce que j'en ai compris :
modifiant le fichier ~/.xsession
doit être minimal



ou au moins allégé/compatible.

fichiers de configuration en fonction
Dans mon cas, je n'ai qu'une seule version actuellement, je peux donc me
satisfaire d'un seul fichier ou tout de même passer par cela :

(if
((= emacs-major-version 22) (add-to-list 'load-path (expand-file-name
~/.elisp22")))
( t (add-to-list 'load-path (expand-file-name "~/.elisp"))))



Bon, j'ai simplifié :

(add-to-list 'load-path
(concat (expand-file-name "~/.elisp") (number-to-string emacs-major-version)))
(setq custom-file
(concat (expand-file-name "~/.custom") (number-to-string emacs-major-version)))

pour tester aussi emacs-snapshot (version 23)...

(load-library "emacs") ;; charge un de mes ~/.elisp2?/emacs.el

J'aurai donc mon emacs plus complet dans ~/.elisp22/emacs



oui --- peut-être serait-il préférable de le nommer my-emacs.el ?

Et dans ce cas-là, chaque fois que je lance un emacs, quel que soit le
mode que je lance par la suite, j'aurai accès à mes personnalisations.


Pour en revenir au "blank-mode", si j'ai bien compris, cela permet
d'avoir des fichiers pour chaque mode --- par exemple, latex.el et
html.el ?



Non, blank-mode est un petit mode totalement indépendant... c'est juste
un exemple de truc.el définissant le truc-mode si nécessaire.

Mais le chargement de ces fichiers ne se fait que lorsque l'on
fait une action (raccourci clavier) et non pas à l'ouverture d'un fichier ?



Pas forcément, on peut aussi l'appeler « à la main », ou via l'extension
de fichier, une ligne dans ce dernier, etc.

Pourrais-tu à la rigueur poster tes fichiers de configuration, peut-être
y verrais-je plus clair ?



C'est un peu trop bordélique, je t'envoie mes ~/.elisp23/*.el en MP...

Autre question, je suppose que le réel intérêt de passer par un emacs
serveur réside si l'on utilise emacs pour /tout/, lecture des mail et
des news, éditeur... ?



L'intérêt est pour moi d'accélérer le lancement de l'édition d'un
fichier depuis une autre application, surtout sur une machine un peu
ancienne comme mon portable de 2001 : j'y utilise Mutt et Slrn, moins
lourds que Gnus...

Merci encore, à bientôt.



à++
--
Jacques L'helgoualc'h
Avatar
Paul Gaborit
À (at) Sun, 14 Sep 2008 19:30:50 +0000 (UTC),
Jacques L'helgoualc'h <"lhh+news,no_spam"@free.fr.isnt.invalid> écrivait (wrote):
Remarque en passant : en principe, les raccourcis laissés libres pour
l'utilisateur sont (sauf erreur ou changement)

-- les touches F5 à F9 ;

-- les combinaisons C-c <lettre>.

Par exemple, si je tape C-u C-h c C-z, j'obtiens :

`C-z' (`iconify-or-deiconify-frame')

qui montre que Ctrl-z est déjà pris...



Mais heureusement, emacs laisse l'utilisateur libre de modifier tout
cela. Qui utilise vraiment C-z pour iconifier ses fenêtres ? Je trouve
même que c'est carrément embêtant. Je le désactive donc (sous X11).

De même, le C-x u pour l'annulation est lourd. Je le double par
C-backspace.

Donc, non, il n'y a pas que les combinaisons C-c <lettre> dans la
vraie vie... ;-)

De plus C-c est documenté comme mode-specific-command-prefix ! C'est
donc un préfixe qui est déjà largement utilisé...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Brice Boucard
Paul Gaborit a écrit :
À (at) Sun, 14 Sep 2008 19:30:50 +0000 (UTC),
Jacques L'helgoualc'h <"lhh+news,no_spam"@free.fr.isnt.invalid> écrivait (wrote):
Remarque en passant : en principe, les raccourcis laissés libres pour
l'utilisateur sont (sauf erreur ou changement)

-- les touches F5 à F9 ;

-- les combinaisons C-c <lettre>.

Par exemple, si je tape C-u C-h c C-z, j'obtiens :

`C-z' (`iconify-or-deiconify-frame')

qui montre que Ctrl-z est déjà pris...



Mais heureusement, emacs laisse l'utilisateur libre de modifier tout
cela. Qui utilise vraiment C-z pour iconifier ses fenêtres ? Je trouve
même que c'est carrément embêtant. Je le désactive donc (sous X11).



/avant de répondre plus longuement au post précédent, après avoir étudié
un peu mieux la question/

/me connaissait pas C-z :-/
De même, le C-x u pour l'annulation est lourd. Je le double par
C-backspace.



Euh... Et C-_ ne vous satisfait pas ?

Donc, non, il n'y a pas que les combinaisons C-c <lettre> dans la
vraie vie... ;-)

De plus C-c est documenté comme mode-specific-command-prefix ! C'est
donc un préfixe qui est déjà largement utilisé...

Avatar
Jacques L'helgoualc'h
Le 14-09-2008, Paul Gaborit a écrit :
À (at) Sun, 14 Sep 2008 19:30:50 +0000 (UTC),
Jacques L'helgoualc'h <"lhh+news,no_spam"@free.fr.isnt.invalid> écrivait (wrote):
Remarque en passant : en principe, les raccourcis laissés libres pour
l'utilisateur sont (sauf erreur ou changement)

Par exemple, si je tape C-u C-h c C-z, j'obtiens :

`C-z' (`iconify-or-deiconify-frame')

qui montre que Ctrl-z est déjà pris...



Mais heureusement, emacs laisse l'utilisateur libre de modifier tout
cela.



... et le reste. J'ai bien dit « en principe » :)

Qui utilise vraiment C-z pour iconifier ses fenêtres ?



Moi :)

Je trouve même que c'est carrément embêtant. Je le désactive donc
(sous X11).



En console aussi ?

De même, le C-x u pour l'annulation est lourd.



Il y a aussi C-_ pour undo.

Je le double par C-backspace.



`<C-backspace>' (`backward-kill-word')

mais il t'en reste un à côté :

`M-DEL' (`backward-kill-word')

Attention à ne pas cumuler les deux !

Donc, non, il n'y a pas que les combinaisons C-c <lettre> dans la
vraie vie... ;-)



Sur ta machine personnelle, tu fais ce que tu veux, mais quand on en
utilise d'autres, à mon humble avis il vaut mieux éviter de s'écarter de
la configuration commune.

M'enfin, je voulais plutôt suggérer de vérifier ce qu'on remplace.

De plus C-c est documenté comme mode-specific-command-prefix ! C'est
donc un préfixe qui est déjà largement utilisé...



Certes, mais si tu regardes les raccourcis d'AUCTeX, les C-c <lettres>
restent bien libres...


À propos de préfixe, sur mon portable j'ai juste à droite de AltGr la
touche « Exposant 2 » qui serait bien placée pour devenir un préfixe ou
modifieur supplémentaire, mais je n'y arrive pas avec AUCTeX/Emacs ?
--
Jacques L'helgoualc'h
Avatar
Paul Gaborit
À (at) Mon, 15 Sep 2008 09:16:03 +0200,
Brice Boucard écrivait (wrote):
Paul Gaborit a écrit :
De même, le C-x u pour l'annulation est lourd. Je le double par
C-backspace.



Euh... Et C-_ ne vous satisfait pas ?



Pas plus que C-x u car sur un clavier QWERTY, le caractère _ n'est pas
directement accessible. J'avoue que vu le nombre de fautes de frappes
que je fait, il vaut mieux que l'annulation soit très rapidement à
portée de doigts ! ;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Paul Gaborit
À (at) Mon, 15 Sep 2008 07:56:37 +0000 (UTC),
Jacques L'helgoualc'h <"lhh+news,no_spam"@free.fr.isnt.invalid> écrivait (wrote):
Le 14-09-2008, Paul Gaborit a écrit :
Qui utilise vraiment C-z pour iconifier ses fenêtres ?



Moi :)

Je trouve même que c'est carrément embêtant. Je le désactive donc
(sous X11).



En console aussi ?



Là non. C'est pour cela que j'ai précisé sous X11 ! ;-)
Encore que je pourrais aussi m'en passer puisque généralement je
travaille avec screen.


De même, le C-x u pour l'annulation est lourd.



Il y a aussi C-_ pour undo.



Trop long à saisir sur un clavier QWERTY...

Je le double par C-backspace.



`<C-backspace>' (`backward-kill-word')

mais il t'en reste un à côté :

`M-DEL' (`backward-kill-word')

Attention à ne pas cumuler les deux !



En fait, c'est un peu plus compliqué que cela car mon <backspace> est
translaté en 'del' et <delete> en C-d... Tout cela pour unifier le
fonctionnement sous X11, en terminal local et en terminal distant.

Je ne vais pas entrer dans tous les détails de ma configuration
personnelle.

Donc, non, il n'y a pas que les combinaisons C-c <lettre> dans la
vraie vie... ;-)



Sur ta machine personnelle, tu fais ce que tu veux, mais quand on en
utilise d'autres, à mon humble avis il vaut mieux éviter de s'écarter de
la configuration commune.



Il faut connaître les commandes et raccourcis de bases et ne pas trop
y toucher pour ne pas se retrouver perdu sur un configuration qu'on ne
gère pas.

Et puis, au final, quand rien ne va plus, on peut toujours faire appel
à 'viper' ! ;-)

À propos de préfixe, sur mon portable j'ai juste à droite de AltGr la
touche « Exposant 2 » qui serait bien placée pour devenir un préfixe ou
modifieur supplémentaire, mais je n'y arrive pas avec AUCTeX/Emacs ?



(Bizarre cette disposition de clavier...) Si je me souviens bien, pour
transformer une touche en préfixe, dans la keymap courant il faut
l'associer avec une nouvelle keymap. Je ne me souviens plus des
commandes exactes pour le faire...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
1 2 3 4