J'avais récupéré (merci au rédacteur dont je n'avais pas noté le nom)
sur ce forum des fonctions pour insérer des parenthèses :
;; On ouvre {([, emacs ferme tout seul.
(defun insert-braces () "insert parentheses and go between them"
(interactive)
(insert "{}")
(backward-char 1))
(global-set-key "{" 'insert-braces)
Cela fonctionne, mais ce que je voudrais c'est :
- si je tape un { juste devant un mot, il me mette } à la fin du mot et
pas juste après {. Il peut rester positionner devant ou derrière le }
ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il
se comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Cordialement,
--
Dr. POINTIN Yves B.
perl -e "\$_='.frontermpclv-bunigc.@optinoinY.P';1 while
s/(.{3})(.{3})?/\$_{\$2}=\$1,\$2/e; ; print while \$_=\$_{\$_};"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lucas Levrel
Le 20 juillet 2009, Yves Pointin a écrit :
Cela fonctionne, mais ce que je voudrais c'est :
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais : - tu devrais aussi préciser le comportement que tu attends si le curseur est au milieu d'un mot ; - si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon réglage qui place automatiquement les parenthèses autour de la sélection quand il y en a une (ça serait mieux que rien).
-- LL
Le 20 juillet 2009, Yves Pointin a écrit :
Cela fonctionne, mais ce que je voudrais c'est :
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas
juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se
comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais :
- tu devrais aussi préciser le comportement que tu attends si le curseur
est au milieu d'un mot ;
- si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon
réglage qui place automatiquement les parenthèses autour de la sélection
quand il y en a une (ça serait mieux que rien).
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais : - tu devrais aussi préciser le comportement que tu attends si le curseur est au milieu d'un mot ; - si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon réglage qui place automatiquement les parenthèses autour de la sélection quand il y en a une (ça serait mieux que rien).
-- LL
Yves Pointin
Lucas Levrel a écrit :
Le 20 juillet 2009, Yves Pointin a écrit :
Cela fonctionne, mais ce que je voudrais c'est :
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais : - tu devrais aussi préciser le comportement que tu attends si le curseur est au milieu d'un mot ; - si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon réglage qui place automatiquement les parenthèses autour de la sélection quand il y en a une (ça serait mieux que rien).
Bonjour,
Non, je n'ai pas de tel besoin, mais effectivement placer automatiquement des parenthèses autour de la sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
-- Dr. POINTIN Yves B. perl -e "$_='';1 while s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
Lucas Levrel a écrit :
Le 20 juillet 2009, Yves Pointin a écrit :
Cela fonctionne, mais ce que je voudrais c'est :
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas
juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se
comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais :
- tu devrais aussi préciser le comportement que tu attends si le curseur
est au milieu d'un mot ;
- si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon
réglage qui place automatiquement les parenthèses autour de la sélection
quand il y en a une (ça serait mieux que rien).
Bonjour,
Non, je n'ai pas de tel besoin, mais effectivement placer
automatiquement des parenthèses autour de la sélection m'intéresse. Que
se passe-t-il si rien n'est sélectionné ?
--
Dr. POINTIN Yves B.
perl -e "$_='.frontermpclv-bunigc.@optinoinY.P';1 while
s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
- si je tape un { juste devant un mot, il me mette } à la fin du mot et pas juste après {. Il peut rester positionner devant ou derrière le } ajouté.
- si je tape un { à la fin d'une ligne, ou devant une espace, alors, il se comporte comme ci-dessus.
Je ne connais pas Lisp et suis incapable de programmer ce langage.
Bonjour,
Je n'en sais pas beaucoup plus que toi, mais : - tu devrais aussi préciser le comportement que tu attends si le curseur est au milieu d'un mot ; - si tu n'as pas de réponse (mais j'en doute) je pourrai poster mon réglage qui place automatiquement les parenthèses autour de la sélection quand il y en a une (ça serait mieux que rien).
Bonjour,
Non, je n'ai pas de tel besoin, mais effectivement placer automatiquement des parenthèses autour de la sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
-- Dr. POINTIN Yves B. perl -e "$_='';1 while s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
Lucas Levrel
Le 20 juillet 2009, Yves Pointin a écrit :
Non, je n'ai pas de tel besoin,
Même si tu n'en as pas besoin, si quelqu'un code la fonction qu'il te faut il lui faudra sûrement savoir quoi faire dans ce cas...
mais effectivement placer automatiquement des parenthèses autour de la sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode, je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
-- LL
Le 20 juillet 2009, Yves Pointin a écrit :
Non, je n'ai pas de tel besoin,
Même si tu n'en as pas besoin, si quelqu'un code la fonction qu'il te faut
il lui faudra sûrement savoir quoi faire dans ce cas...
mais effectivement placer automatiquement des parenthèses autour de la
sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode,
je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire
exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis
jamais posé la question. Regarde dans skeleton.el.
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
-- LL
Gilles COSTA
Lucas Levrel a écrit le 20/07/2009 17:30 :
Le 20 juillet 2009, Yves Pointin a écrit :
Non, je n'ai pas de tel besoin,
Même si tu n'en as pas besoin, si quelqu'un code la fonction qu'il te faut il lui faudra sûrement savoir quoi faire dans ce cas...
mais effectivement placer automatiquement des parenthèses autour de la sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode, je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
Un exemple tiré d'un mode pour XEmacs, développé avec de l'aide d'ici...
(defun ascodes-parentheses () "inserre une paire de parentheses" (interactive) (if ascodes-mode-electrique (progn (if (ascodes-region-active) ;on a affaire a une region (progn (save-excursion (if (> (point) (mark)) (exchange-point-and-mark)) (insert "(") (exchange-point-and-mark) (insert ")"))) (progn (insert "()") (backward-char)) ) ) (insert "(") ) )
ascodes-mode-electrique est une variable qui permet de configurer le comportement du mode et ascodes-region-active une fonction qui détermine si une portion du texte est sélectionnée ou non :
(defvar ascodes-run-xemacs (string-match "XEmacs" emacs-version) "Vaut t si l'on utilise xemacs nil sinon" )
(defun ascodes-region-active () "Indique s'il y a une region active ou non." (interactive) (if ascodes-run-xemacs (region-active-p) (eval mark-active) ) )
En espérant que ça puisse aider. -- Gilles COSTA, Géomètre-expert Arkane-foncier, Géomètres-experts associés 17, grande rue, BP 20023 91311 Montlhéry cedex T : 01.64.49.00.52 - F : 01.64.49.06.64
Lucas Levrel a écrit le 20/07/2009 17:30 :
Le 20 juillet 2009, Yves Pointin a écrit :
Non, je n'ai pas de tel besoin,
Même si tu n'en as pas besoin, si quelqu'un code la fonction qu'il te faut
il lui faudra sûrement savoir quoi faire dans ce cas...
mais effectivement placer automatiquement des parenthèses autour de la
sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode,
je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire
exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis
jamais posé la question. Regarde dans skeleton.el.
Un exemple tiré d'un mode pour XEmacs, développé avec de l'aide d'ici...
(defun ascodes-parentheses ()
"inserre une paire de parentheses"
(interactive)
(if ascodes-mode-electrique
(progn (if (ascodes-region-active) ;on a affaire a une region
(progn (save-excursion
(if (> (point) (mark)) (exchange-point-and-mark))
(insert "(")
(exchange-point-and-mark)
(insert ")")))
(progn (insert "()") (backward-char))
)
)
(insert "(")
)
)
ascodes-mode-electrique est une variable qui permet de configurer le
comportement du mode et ascodes-region-active une fonction qui détermine
si une portion du texte est sélectionnée ou non :
(defvar ascodes-run-xemacs (string-match "XEmacs" emacs-version)
"Vaut t si l'on utilise xemacs nil sinon" )
(defun ascodes-region-active () "Indique s'il y a une region active ou non."
(interactive)
(if ascodes-run-xemacs
(region-active-p)
(eval mark-active)
)
)
En espérant que ça puisse aider.
--
Gilles COSTA, Géomètre-expert
Arkane-foncier, Géomètres-experts associés
17, grande rue, BP 20023 91311 Montlhéry cedex
T : 01.64.49.00.52 - F : 01.64.49.06.64
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
Un exemple tiré d'un mode pour XEmacs, développé avec de l'aide d'ici...
(defun ascodes-parentheses () "inserre une paire de parentheses" (interactive) (if ascodes-mode-electrique (progn (if (ascodes-region-active) ;on a affaire a une region (progn (save-excursion (if (> (point) (mark)) (exchange-point-and-mark)) (insert "(") (exchange-point-and-mark) (insert ")"))) (progn (insert "()") (backward-char)) ) ) (insert "(") ) )
ascodes-mode-electrique est une variable qui permet de configurer le comportement du mode et ascodes-region-active une fonction qui détermine si une portion du texte est sélectionnée ou non :
(defvar ascodes-run-xemacs (string-match "XEmacs" emacs-version) "Vaut t si l'on utilise xemacs nil sinon" )
(defun ascodes-region-active () "Indique s'il y a une region active ou non." (interactive) (if ascodes-run-xemacs (region-active-p) (eval mark-active) ) )
En espérant que ça puisse aider. -- Gilles COSTA, Géomètre-expert Arkane-foncier, Géomètres-experts associés 17, grande rue, BP 20023 91311 Montlhéry cedex T : 01.64.49.00.52 - F : 01.64.49.06.64
Yves Pointin
Lucas Levrel a écrit :
mais effectivement placer automatiquement des parenthèses autour de la sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode, je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
Bonjour,
Merci. J'ai retenu cela :
(setq skeleton-pair-alist '((?( _ ?)) (?)); Le ? est la façon Lisp d'entrer (?[ _ ?]) (?]); un caractère. Le est optionnel. (?{ _ ?}) (?})) )
Bizarrement, avec une définition similaire pour « j'obtiens ++ . Pour LaTeX, j'utilise : (load "auctex.el" nil t t) (setq TeX-auto-save t) (setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Cordialement, -- Dr. POINTIN Yves B. perl -e "$_='';1 while s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
Lucas Levrel a écrit :
mais effectivement placer automatiquement des parenthèses autour de la
sélection m'intéresse. Que se passe-t-il si rien n'est sélectionné ?
Ça insère une paire avec le curseur au milieu. J'utilise ça en LaTeX-mode,
je te laisse adapter :
En fait c'est très configurable et si ça se trouve ça peut faire
exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis
jamais posé la question. Regarde dans skeleton.el.
Bonjour,
Merci. J'ai retenu cela :
(setq skeleton-pair-alist '((?( _ ?)) (?)); Le ? est la façon Lisp d'entrer
(?[ _ ?]) (?]); un caractère. Le est
optionnel.
(?{ _ ?}) (?}))
)
Bizarrement, avec une définition similaire pour « j'obtiens ++ .
Pour LaTeX, j'utilise :
(load "auctex.el" nil t t)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Cordialement,
--
Dr. POINTIN Yves B.
perl -e "$_='.frontermpclv-bunigc.@optinoinY.P';1 while
s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
En fait c'est très configurable et si ça se trouve ça peut faire exactement ce que tu veux, mais comme je n'en ai pas besoin je ne me suis jamais posé la question. Regarde dans skeleton.el.
Bonjour,
Merci. J'ai retenu cela :
(setq skeleton-pair-alist '((?( _ ?)) (?)); Le ? est la façon Lisp d'entrer (?[ _ ?]) (?]); un caractère. Le est optionnel. (?{ _ ?}) (?})) )
Bizarrement, avec une définition similaire pour « j'obtiens ++ . Pour LaTeX, j'utilise : (load "auctex.el" nil t t) (setq TeX-auto-save t) (setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Cordialement, -- Dr. POINTIN Yves B. perl -e "$_='';1 while s/(.{3})(.{3})?/$_{$2}=$1,$2/e; ; print while $_=$_{$_};"
Lucas Levrel
Le 21 juillet 2009, Yves Pointin a écrit :
Bizarrement, avec une définition similaire pour « j'obtiens ++ .
Problème d'encodage peut-être ? (mon .emacs est en latin-9)
Pour LaTeX, j'utilise : (load "auctex.el" nil t t) (setq TeX-auto-save t) (setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Moi je ne fais rien de spécial, et tex-site.el est chargé au démarrage d'emacs. LaTeX-mode-map est défini chez moi dans auctex/latex.el .
-- LL
Le 21 juillet 2009, Yves Pointin a écrit :
Bizarrement, avec une définition similaire pour « j'obtiens ++ .
Problème d'encodage peut-être ? (mon .emacs est en latin-9)
Pour LaTeX, j'utilise :
(load "auctex.el" nil t t)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Moi je ne fais rien de spécial, et tex-site.el est chargé au démarrage
d'emacs. LaTeX-mode-map est défini chez moi dans auctex/latex.el .
Bizarrement, avec une définition similaire pour « j'obtiens ++ .
Problème d'encodage peut-être ? (mon .emacs est en latin-9)
Pour LaTeX, j'utilise : (load "auctex.el" nil t t) (setq TeX-auto-save t) (setq TeX-parse-self t)
et il ne connait pas LaTeX-mode-map
Moi je ne fais rien de spécial, et tex-site.el est chargé au démarrage d'emacs. LaTeX-mode-map est défini chez moi dans auctex/latex.el .
-- LL
Vincent Belaïche
et il ne connait pas LaTeX-mode-map
Cordialement,
Il suffit peut-être d'encapsuler ton code dans un
(eval-after-load "latex" '(progn ... ))
et effectivement il vaut mieux faire des define-key que des global-set-key, parce que comme ça tu ne définis les raccourcis clavier que pour une table de raccourcis.
Vincent.
et il ne connait pas LaTeX-mode-map
Cordialement,
Il suffit peut-être d'encapsuler ton code dans un
(eval-after-load "latex"
'(progn
...
))
et effectivement il vaut mieux faire des define-key que des global-set-key,
parce que comme ça tu ne définis les raccourcis clavier que pour une table de
raccourcis.
et effectivement il vaut mieux faire des define-key que des global-set-key, parce que comme ça tu ne définis les raccourcis clavier que pour une table de raccourcis.