« Utilisateur:Goulven » : différence entre les versions

De Disposition de clavier bépo
(Emacs)
 
(Page blanchie)
Ligne 1 : Ligne 1 :
== '''Configuration raccourcis Emacs''' ==


Bonjour a tous, je voulais vous présenter ma configuration de raccourcis clavier pour emacs. Mais avant, je voudrais m'arrêter sur les quelques légères modifications que j'ai fait sur layout Bépo:
Tout d'abord j'ai inversé les accolades et les parenthèses pour les avoir en accès direct, tout développeur comprendra je pense. Aussi, j'ai inversé le 'Ç' avec le 'W' car sur le typematrix 2030 il se retrouve désagréablement loin, ce que je trouve embêtant lorsque l'on se retrouve a taper du texte en anglais.
Voici donc les modifications apportées au layout sous X11 (Linux,*BSD).
Le fichier a modifier est: /usr/share/X11/xkb/symbols/fr dans la rubrique Bépo.
<pre>
Pour les accolades:
key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [braceleft,  2,    less,  leftdoublequotemark ] }; // { 2 <
key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [braceright, 3, greater, rightdoublequotemark ] }; // } 3 >
On inverse avec les parenthèses:
key <AB02> { [ y, Y,  guillemotleft, leftsinglequotemark  ] }; // y Y «
key <AB03> { [ x, X, guillemotright, rightsinglequotemark ] }; // x X »
Ainsi que le Ç et le W
key <AD12> { [ ccedilla,    Ccedilla ,    dead_cedilla  ] }; // ç Ç
key <BKSL> { [        w,            W,    dead_belowcomma ] }; // w W ,
</pre>
Ces modifications sont indiquées en rouge sur la carte de configuration des raccourcis emacs que voici:
[[Fichier:Config_emacs_goulven.png]]
Je tiens a préciser que ce n'est qu'une première version, donc suseptible d'évoluer, je suis ouvert. Pour faire cette configuration, je me suis inspiré de ce que j'ai vu sur ce site(config de sarcastic/louiz), du manuel des commandes emacs et du bépo ou plus exactement de la méthode dvorak. C'est à dire de placer les touches les plus utilisées sur la rangée centrale, puis celle du haut etc…
Sous emacs, on accède aux fonctions par combinaison de touches : Ctrl, Alt ou Ctrl + Alt donc la main gauche s'occupant de cela, j'ai donc placé les touches de déplacement à droite sur la rangée centrale et organisé le reste autour. Ensuite j'ai garder le Ctrl-X pour l'extension et fait de même. Et voici donc le fichier de configuration .emacs:
<pre>
;; Déactivation des commandes d'origines
(global-unset-key "\C-x\C-f")
(global-unset-key "\C-x\C-s")
(global-unset-key "\C-x\C-v")
(global-unset-key "\C-x\C-w")
(global-unset-key "\C-x\C-q")
(global-unset-key "\C-x\C-c")
(global-unset-key "\C-x\C-u")
(global-unset-key "\C-x\TAB")
(global-unset-key "\C-xs")
(global-unset-key "\C-xi")
(global-unset-key "\C-d")
(global-unset-key "\C-s")
(global-unset-key "\C-g")
(global-unset-key "\C-b") ;; backward-char
(global-unset-key "\C-f") ;; forward-char
(global-unset-key "\M-b") ;; backward-word
(global-unset-key "\M-f") ;; forward-word
(global-unset-key "\C-p") ;; previous-line
(global-unset-key "\C-n") ;; next-line
(global-unset-key "\C-a") ;; move-beginning-of-line
(global-unset-key "\C-e") ;; move-end-of-line
(global-unset-key "\M-a") ;; backward-sentence
(global-unset-key "\M-e") ;; forward-sentence
(global-unset-key "\M-{") ;; backward-paragraph
(global-unset-key "\M-}") ;; forward-paragraph
(global-unset-key "\C-\M-b") ;; backward-sexp
(global-unset-key "\C-\M-f") ;; forward-sexp
(global-unset-key "\C-\M-a") ;; beginning-of-defun
(global-unset-key "\C-\M-e") ;; end-of-defun
(global-unset-key "\M-<") ;; beginning-of-buffer
(global-unset-key "\M->") ;; end-of-buffer
(global-unset-key "\C-w") ;; kill-region
(global-unset-key "\M-w") ;; kill-ring-save
(global-unset-key "\C-y") ;; yank
(global-unset-key "\M-y") ;; yank-pop
(global-unset-key "\C-k") ;; kill-line
(global-unset-key "\M-k") ;; kill-sentence
(global-unset-key "\C-\M-k") ;; kill-sexp
(global-unset-key "\M-x")
(global-unset-key "\C-z")
(global-unset-key "\C-\M-v")
(global-unset-key "\C-\M-V")
;; *** Ouvrir/Enregistrer/Quitter ***
;; C-e C-e (Ouvrir un fichier)
(global-set-key "\C-x\C-e" 'find-file)
;; C-e C-o (Sauver le buffer)
(global-set-key "\C-x\C-i" 'save-buffer)
;; C-e C-i (Enregistrer sous)
(global-set-key "\C-x\C-u" 'write-file)
;; C-e C-u (Quitter)
(global-set-key "\C-x\C-y" 'save-buffers-kill-terminal)
;; C-e k (Fermer un tampon)
(global-set-key "\C-xq" 'kill-buffer)
;; C-e p (Changer de tampon)
(global-set-key "\C-x." 'switch-to-buffer)
;; *** Déplacements ***
;; C-t (Reculer d'un caractère)
(global-set-key "\C-t" 'backward-char)
;; C-r (Avancer d'un caractère)
(global-set-key "\C-r" 'forward-char)
;; M-t (Reculer d'un mot)
(global-set-key "\M-t" 'backward-word)
;; M-r (Avancer d'un mot)
(global-set-key "\M-r" 'forward-word)
;; C-d (Ligne précédente)
(global-set-key "\C-d" 'previous-line)
;; C-s (Ligne suivante)
(global-set-key "\C-s" 'next-line)
;; C-c (début de ligne)
(global-set-key "\C-c" 'move-beginning-of-line)
;; C-n (fin de ligne)
(global-set-key "\C-n" 'move-end-of-line)
;; M-c (début de fonction)
(global-set-key "\M-c" 'beginning-of-defun)
;; M-n (fin de fonction)
(global-set-key "\M-n" 'end-of-defun)
;; M-d (début de paragraphe)
(global-set-key "\M-d" 'backward-paragraph)
;; M-s (fin de paragraphe)
(global-set-key "\M-s" 'forward-paragraph)
;; C-M-c (Reculer jusqu'à un espace)
(global-set-key "\C-\M-c" 'backward-sexp)
;; C-M-n (Avancer jusqu'à un espace)
(global-set-key "\C-\M-n" 'forward-sexp)
;; M-+ (début du buffer)
(global-set-key "\M-+" 'beginning-of-buffer)
;; M-- (fin du buffer)
(global-set-key "\M--" 'end-of-buffer)
;; *** Effacement Copier/coller ***
(global-set-key (kbd "\M-'") 'forward-kill-word)
(global-set-key "\C-q" 'kill-line)
(global-set-key "\M-q" 'kill-sentence)
(global-set-key "\C-\M-q" 'kill-sexp)
(global-set-key "\C-l" 'kill-region)
(global-set-key "\M-l" 'kill-ring-save)
(global-set-key "\M-j" 'yank-pop)
;; *** Casse ***
(global-set-key "\M-f" 'upcase-word)
(global-set-key "\M-w" 'downcase-word)
(global-set-key "\M-m" 'capitalize-word)
;; *** Divers ***
(global-set-key "\C-z" 'recenter-top-bottom)
</pre>
Note: Cette configuration fonctionne très bien en mode Perl ou Text, en revanche en mode C, et cela m'embête car je développe essentiellement dans ce language, il y a un problème de remappage du Ctrl-D. Je sais que cela viens du mode mineur 'electric mode' et dès que j'ai la solution je met a jour ces lignes. En attendant, si quelqu'un à la solution, je suis preneur!

Version du 1 octobre 2020 à 21:45