Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mode bash bath

11 réponses
Avatar
Denis Bitouzé
Bonjour,

connaissez-vous un mode plus pratique que celui par défaut sous
emacs pour éditer des scripts bash ? Par exemple, un qui permette
de commenter d'un seul coup plusieurs lignes consécutives ?

Merci d'avance.
--
Denis

10 réponses

1 2
Avatar
Remi Vanicat
Denis Bitouzé writes:

Bonjour,

connaissez-vous un mode plus pratique que celui par défaut sous
emacs pour éditer des scripts bash ? Par exemple, un qui permette
de commenter d'un seul coup plusieurs lignes consécutives ?



M-x comment-region marche dans tous les modes que je connaisse. Quel
est le problème exactement ?

--
Rémi Vanicat
Avatar
Benoit Izac
Bonjour,

le 31/08/2006 à 18:33, Denis Bitouzé a écrit dans le message
:

connaissez-vous un mode plus pratique que celui par défaut sous
emacs pour éditer des scripts bash ? Par exemple, un qui permette
de commenter d'un seul coup plusieurs lignes consécutives ?



Presque tous les modes le permettent ; regarde la commande
« comment-region ».

- On marque le début : C-SPC
- On va à la fin
- M-x comment-region

Mais il est vrai que ça fait trois coups...

--
Benoit Izac
Avatar
Denis Bitouzé
Le 31 aoû 2006 à 19h31
Remi Vanicat a écrit :

M-x comment-region marche dans tous les modes que je connaisse.



Ah, je ne connaissais pas, merci.

Quel
est le problème exactement ?



Avoir un raccourci simple, efficace... et répertorié quelque
part dans un menu, histoire qu'on en ait connaissance. Par exemple,
avec AUCTeX, pour éditer des fichiers sources (La)TeX donc, le
raccourci est C-c ; (ou C-c : d'ailleurs et j'ai vu passer un fil au
sujet de cette nouvelle possibilité qui est énervante car ça
ne fait pas toujours ce qu'on veut scrogneuneu, bon 'faudra que le
relise mais maintenant il faut que je termine cette phrase
interminable ouf ça y est c'est fait).

Merci.
--
Denis
Avatar
Denis Bitouzé
Le 31 aoû 2006 à 20h08
Benoit Izac a écrit :

Presque tous les modes le permettent ; regarde la commande
« comment-region ».

- On marque le début : C-SPC
- On va à la fin
- M-x comment-region

Mais il est vrai que ça fait trois coups...



OK, merci mais en fait ça fait beaucoup plus de 3 coups car pour
obtenir « comment-region », même avec la complétion à
coup de TAB, c'est quand même long (certes, seulement
à la première utilisation de la session, après on peut le
rappeler avec la flèche).
--
Denis
Avatar
Ph. Ivaldi
Le 31 août 2006 à 18h33:07,
Denis Bitouzé écrivit :

Bonjour,

connaissez-vous un mode plus pratique que celui par défaut sous
emacs pour éditer des scripts bash ? Par exemple, un qui permette
de commenter d'un seul coup plusieurs lignes consécutives ?



Cela fait longtemps que sélectionner une ligne pour la commenter me
fatigue ; ta question m'a fait prendre le taureau par les cornes.
En m'inspirant de:
Message-ID:
je propose:

(defun my-?comment-region ()
(save-excursion
(let ((r-b (region-beginning))
(r-e (region-end)))
(funcall
(if (progn
(goto-char r-b)
(beginning-of-line)
(looking-at (format "s-*%s" (regexp-quote comment-start))))
(function uncomment-region)
(function comment-region))
r-b r-e))))

(defun my-?comment ()
(interactive)
(save-excursion
(if mark-active
(my-?comment-region)
(funcall
(if (progn
(beginning-of-line)
(looking-at (format "s-*%s" (regexp-quote comment-start))))
(function uncomment-region)
(function comment-region))
(progn (beginning-of-line) (point))
(progn (end-of-line) (point))))))

(global-set-key [(control %)] 'my-?comment)
;; Gardons l'originale sous la main:
(global-set-key (kbd "C-ù") 'comment-region)

Le curseur sur une ligne non commentée, C-% la commente et si elle est
déjà proprement commentée C-% la décommente.
Le fonctionnement est identique pour une région.
Voilà, c'est marrant.
Il ne reste plus qu'à lui faire subir l'épreuve de l'usage.


Merci d'avance.



Merci à Pascal Bourguignon.
--
Philippe Ivaldi.
Avatar
Denis Bitouzé
Le 01 sep 2006 à 01h39
Ph. Ivaldi a écrit :

(global-set-key (kbd "C-ù") 'comment-region)



Bouhouhou :

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

error: "C- must prefix a single character, not 216371"

Le curseur sur une ligne non commentée, C-% la commente et si elle
est déjà proprement commentée C-% la décommente.



Bouhouhou (bis repetita) : C-% ne fait rien chez moi...

Merci !
--
Denis
Avatar
Ph. Ivaldi
Le 01 septembre 2006 à 07h32:14,
Denis Bitouzé écrivit :

Le 01 sep 2006 à 01h39
Ph. Ivaldi a écrit :

(global-set-key (kbd "C-ù") 'comment-region)



Bouhouhou :

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



Chez moi (M-x emacs-version <RET>
GNU Emacs 22.0.50.1 (i386-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of
2006-08-11 on pacem, modified by Debian) il n'y a aucun problème.
mais je veux bien croire qu'avec une version ancienne cela pose
problème.


error: "C- must prefix a single character, not 216371"

Le curseur sur une ligne non commentée, C-% la commente et si elle
est déjà proprement commentée C-% la décommente.



Bouhouhou (bis repetita) : C-% ne fait rien chez moi...



Là, même avec un vieux Emacs, je ne comprends pas pourquoi cela ne
marche pas.
Même pas un petit message d'erreur ?


Merci !



Désolé de ne pas vous être d'un plus grand secours mais personnellement
je suis ravi de ce bout de code.
--
Philippe Ivaldi.
Avatar
Jack.R
On Thu, 31 Aug 2006 23:32:02 +0200, Denis Bitouzé wrote:

Le 31 aoû 2006 à 20h08
Benoit Izac a écrit :

Presque tous les modes le permettent ; regarde la commande
« comment-region ».

- On marque le début : C-SPC
- On va à la fin
- M-x comment-region

Mais il est vrai que ça fait trois coups...



OK, merci mais en fait ça fait beaucoup plus de 3 coups car pour
obtenir « comment-region », même avec la complétion à
coup de TAB, c'est quand même long (certes, seulement
à la première utilisation de la session, après on peut le
rappeler avec la flèche).



Chez moi M-; fait un comment-region, donc :
- On marque le début : C-SPC
- On va à la fin
- M-;

Je viens de jeter un oeil à mon .emacs et je ne vois rien qui s'y
rapport, ce devrait donc être un raccourci standard.

Aussi bien sur GNU Emacs 22.0.50.1 que sur GNU Emacs 21.4.1 (Debian
testing)

Jack.R
Avatar
Romain Francoise
"Jack.R" writes:

Chez moi M-; fait un comment-region, donc :
- On marque le début : C-SPC
- On va à la fin
- M-;

Je viens de jeter un oeil à mon .emacs et je ne vois rien qui s'y
rapport, ce devrait donc être un raccourci standard.



Il faut que transient-mark-mode soit activé (ce qu'on peut faire
temporairement en faisant C-SPC deux fois, le cas échéant).

--
Romain Francoise | The sea! the sea! the open
it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the
| ever free! --Bryan W. Procter
Avatar
Ph. Ivaldi
Le 07 septembre 2006 à 17h32:35,
"Florent Georges" écrivit :

Ph. Ivaldi wrote:

(global-set-key [(control %)] 'my-?comment)



Pourquoi pas plutot :

(global-set-key (kbd "C-%") 'my-?comment)



Oui, il parait que c'est mieux; j'avais gardé un vieux code qui traînait.


Je deconseille egalement fortement l'utilisation du prefixe "my-".



Ha, pourquoi ?
Que préconisez vous ?

Je suppose qu'il s'agit juste d'un exemple.



Heu... non, c'est dans ma configuration :-(


;; Gardons l'originale sous la main:
(global-set-key (kbd "C-ù") 'comment-region)



Personnellement, je la renderais accessible par C-u C-% plutot que
d'utiliser un binding supplementaire.



Entre temps j'ai remarquer que M-; est déjà bindé sur comment-region.

Le code que j'ai fourni semble ne pas fonctionner chez tout le monde.
Afin de progresser en Elisp, et si vous avez un moment, j'aimerai savoir
ce que vous en pensez.
En tout cas, merci d'avoir pris le temps de répondre.
--
Philippe Ivaldi.
http://home.tele2.fr/phivaldi/index.html
1 2