[VIm] commenter un bloc entier.

Le
Hugolino
Bonjour,

J'ai souvent tout un bloc de texte à commenter (par '#' puisqu'il s'agit
de fichier de configuration ou de script bash).

N'y aurait-il pas un hack/macro/whatever qui permettrait de faire ça en
deux coups de cuillère à pot avec vim (v 7.1.56 sur ubuntu)
Avec bien sur la manip inverse qui permet d'enlever les '#'.


Merci de votre aide

--
> Vous pouvez toujours nous publier votre photo, que je puisse dire si vous
> représentez l'esthétique que l'étranger imagine de l'homme français
Vous parlez là à SM/Doom/Chibre<tulavu@moncul>. Précisez bien que vous
voulez une photo du visage.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jogo
Le #6567761
Sur fr.comp.os.unix, Hugolino disait :

J'ai souvent tout un bloc de texte à commenter (par '#' puisqu'il s'agit
de fichier de configuration ou de script bash).

N'y aurait-il pas un hack/macro/whatever qui permettrait de faire ça en
deux coups de cuillère à pot avec vim (v 7.1.56 sur ubuntu)


Pour commenter toutes les lignes de 12 à 20 :
:12,20s/^/# /

Avec bien sur la manip inverse qui permet d'enlever les '#'.


:12,20s/^# //

--
JFM> Au royaume des aveugles le borgne est roi
Au royaume des aveugles les borgnes sont mal vus.
-+- TP in Guide du Neuneu Usenet : Tu t'es vu quand tu fufes -+-


Stephane Chazelas
Le #6567751
2008-05-6, 23:59(+02), Hugolino:
J'ai souvent tout un bloc de texte à commenter (par '#' puisqu'il s'agit
de fichier de configuration ou de script bash).

N'y aurait-il pas un hack/macro/whatever qui permettrait de faire ça en
deux coups de cuillère à pot avec vim (v 7.1.56 sur ubuntu)
Avec bien sur la manip inverse qui permet d'enlever les '#'.
[...]


Typiquement, moi je fais 0<Ctrl-V>}I#<Esc>

Et pour supprimer 0<Ctrl-V>}0d

Tu peux aussi faire:

V}:s/^/#<Return>

V}:s/^#//<Return>


--
Stéphane

mpg
Le #6572771
Le (on) mercredi 07 mai 2008 09:09, Stephane Chazelas a écrit (wrote) :

Tu peux aussi faire:

V}:s/^/#<Return>

V}:s/^#//<Return>

Et si tu es intéressé par une tentative maladroite d'appliquer cette

stratégie pour obtenir un truc qui se comporte comme les commandes usuelles
(tu peux taper <F3><déplacement>, <F3><objet> (comme <F3>ap), ou juste <F3>
en mode visuel), je te propose l'extrait suivant de mon ftplugin/tex.vim, à
adapter :

function! TeXCommentOut(type)
silent exe "'[,']s:^:% :"
endfunction

function! TeXUnComment(type)
silent exe "'[,']s:^% ::e"
endfunction

nmap <buffer><silent> <F3> :set opfunc=TeXCommentOut<CR>g@
nmap <buffer><silent> <F4> :set opfunc=TeXUnComment<CR>g@
vmap <buffer> <F3> :s:^:% :<CR>
vmap <buffer> <F4> :s:^( *)% :1:e<CR>

Manuel.

Hugolino
Le #6579471
Le Wed, 7 May 2008 09:09:38 +0200 (CEST), Stephane Chazelas a écrit:
2008-05-6, 23:59(+02), Hugolino:
J'ai souvent tout un bloc de texte à commenter (par '#' puisqu'il s'agit
de fichier de configuration ou de script bash).

N'y aurait-il pas un hack/macro/whatever qui permettrait de faire ça en
deux coups de cuillère à pot avec vim (v 7.1.56 sur ubuntu)
Avec bien sur la manip inverse qui permet d'enlever les '#'.
[...]


Typiquement, moi je fais 0<Ctrl-V>}I#<Esc>

Et pour supprimer 0<Ctrl-V>}0d

Tu peux aussi faire:

V}:s/^/#<Return>

V}:s/^#//<Return>


OK, merci.
Mais je vais avoir du mal à l'utiliser, d'une part parce que je ne peux
retenir que les combinaisons de touches que je comprends et d'autre part
parce que j'avais oublié de dire que je voulais que ça marche sur une
sélection que j'aurais faite, grace à une touche (F4 par exemple) qui
serait mappé sur la bonne commande dans .vimrc.


--
le curseur et indéfiniment déporté vers la droite sans même
que je ne bouge la souris,
T'aurais pas un bureau en pente ? :-)))

Hugo (né il y a 1 389 720 348 secondes)


mpg
Le #6579921
Le (on) jeudi 08 mai 2008 19:09, Hugolino a écrit (wrote) :

parce que j'avais oublié de dire que je voulais que ça marche sur une
sélection que j'aurais faite, grace à une touche (F4 par exemple) qui
serait mappé sur la bonne commande dans .vimrc.

Euh, c'est un peu ce que fait le code que j'ai posté, il me semble, non ? Ou

j'ai manqué un truc ?

Manuel.

Hugolino
Le #6581581
Le Thu, 08 May 2008 19:41:05 +0200, mpg a écrit:
Le (on) jeudi 08 mai 2008 19:09, Hugolino a écrit (wrote) :

parce que j'avais oublié de dire que je voulais que ça marche sur une
sélection que j'aurais faite, grace à une touche (F4 par exemple) qui
serait mappé sur la bonne commande dans .vimrc.

Euh, c'est un peu ce que fait le code que j'ai posté, il me semble, non ? Ou

j'ai manqué un truc ?


Je suis contraint d'avouer que je n'avais pas testé ton code car je ne
le comprenais pas, notamment pourquoi chaque touche est mappée deux
fois, une fois avec nmap et l'autre fois avec vmap

Toutes mes excuses. Ça marche.


--
A l'âge de bière, les hommes vivaient dans les tavernes.
Hugo (né il y a 1 389 736 502 secondes)


mpg
Le #6581571
Le (on) jeudi 08 mai 2008 23:29, Hugolino a écrit (wrote) :

Le Thu, 08 May 2008 19:41:05 +0200, mpg a écrit:
Le (on) jeudi 08 mai 2008 19:09, Hugolino a écrit (wrote) :

parce que j'avais oublié de dire que je voulais que ça marche sur une
sélection que j'aurais faite, grace à une touche (F4 par exemple) qui
serait mappé sur la bonne commande dans .vimrc.

Euh, c'est un peu ce que fait le code que j'ai posté, il me semble, non

? Ou j'ai manqué un truc ?


Je suis contraint d'avouer que je n'avais pas testé ton code car je ne
le comprenais pas, notamment pourquoi chaque touche est mappée deux
fois, une fois avec nmap et l'autre fois avec vmap

C'est parce que j'essaie d'imiter le comportement des opérateurs comme y ou

autre : pouvoir être utilisé en mode normal (nmap) suivis d'un déplacement
ou d'un objet, ou en mode visuel sur une sélection (vmap). Si tu veux
seulement le truc en mode visuel, on peut simplifier le code...


Toutes mes excuses. Ça marche.

Euh, pas besoin de t'excuser, et content si ça t'aide.


Manuel.



David LE BOURGEOIS
Le #6603391
Bonjour,


Bonjour.

J'ai souvent tout un bloc de texte à commenter (par '#' puisqu'il s'agit
de fichier de configuration ou de script bash).

N'y aurait-il pas un hack/macro/whatever qui permettrait de faire ça en
deux coups de cuillère à pot avec vim (v 7.1.56 sur ubuntu)
Avec bien sur la manip inverse qui permet d'enlever les '#'.


Il existe le plugin NERD Commenter :

http://www.vim.org/scripts/script.php?script_id18

Merci de votre aide


De rien.

--
David LE BOURGEOIS
E-mail : david.lebourgeois (at) free.fr
Jabber : david.lebourgeois (at) jabber.fr
PGP : http://david.lebourgeois.free.fr/pgp/

Publicité
Poster une réponse
Anonyme