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

tuer vim proprement (?)

34 réponses
Avatar
moi-meme
dans un script je veux tuer vim appelé par
xterm -e vim <fichier> &

Je lui envoie un kill -3 %1
(et pas un-9 je suis gentil ...)
ça tue vim (et xterm ...) mais ce "bâtard de sa mère" laisse le fichier
swap, ce que je comprends.

pas trouvé de signal qui lui dise de fermer normalement.

Ya moyen se faire autrement qu'en effaçant (très gorettement) le fichier
swap ?

ou alors en appelant un autre éditeur qui accepte cela ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/53d2cd05$0$2275$426a74cc@news.free.fr

10 réponses

1 2 3 4
Avatar
Pierre Malard
--Apple-Mail=_CCB358D5-935B-480C-8142-4BF155108859
Content-Type: multipart/alternative;
boundary="Apple-Mail=_90DDEB6E-48BF-4096-97F7-D64ED4E0BBAC"


--Apple-Mail=_90DDEB6E-48BF-4096-97F7-D64ED4E0BBAC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8

Le 25 juil. 2014 à 23:32, moi-meme a écrit :
dans un script je veux tuer vim appelé par
xterm -e vim <fichier> &

Je lui envoie un kill -3 %1
(et pas un-9 je suis gentil ...)
ça tue vim (et xterm ...) mais ce "bâtard de sa mère" laisse le fichier
swap, ce que je comprends.

pas trouvé de signal qui lui dise de fermer normalement.

Ya moyen se faire autrement qu'en effaçant (très gorettement) le fichier
swap ?

ou alors en appelant un autre éditeur qui accepte cela ?




Et pourquoi ne pas le quitter proprement dans la fenêtre xterm ?
Parce que quand sais tu donc si les modifications apportées par l’utilisateur dans la fenêtre xterm ont été enregistrées ou non ?

Et, lorsque tu lance le kill, est-ce le « xterm » que tu tue ou le « vi » ? Avec le « %1 », c’est le « xterm » auquel tu envoie le signale de quitter, lui sortira proprement mais en tuant le « vi » assez brutalement (sans préavis). Il faudrait récupérer le PID du « vi » pour avoir une chance que ça marche. Encore que « vi » étant une commande interactive, pour les raison m’ayant conduit à poser ma première question.

Donc pourquoi donc utiliser « vi » dans un « xterm » dans un script ?
Si c’est pour afficher un fichier, il faudrait peut-être se tourner vers des outils « X » tel que Gtk et Tcl/tk.

A+

--
Pierre Malard

« Je n'ai jamais séparé la République des idée s de justice sociale,
sans laquelle elle n'est qu'un mot »
Jean Jaures - 1887
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr

perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--


--Apple-Mail=_90DDEB6E-48BF-4096-97F7-D64ED4E0BBAC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8

<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Le 25 juil. 2014 à 23:32, moi-meme &lt;<a href="mailto:"></a>&gt; a écrit :<div><blockquote type="cite">dans un script je veux tuer vim appelé par<br>xterm -e vim &lt;fichier&gt; &amp;<br><br>Je lui envoie un kill -3 %1<br>(et pas un-9 je suis gentil ...)<br>ça tue vim (et xterm ...) mais ce "bâtard de sa mère" laisse le fichier <br>swap, ce que je comprends.<br><br>pas trouvé de signal qui lui dise de fermer normalement.<br><br>Ya moyen se faire autrement qu'en effaçant (très gorettement) le fichier <br>swap ?<br><br>ou alors en appelant un autre éditeur qui accepte &nbsp;cela ?<br></blockquote></div><div><br></div><div>Et pourquoi ne pas le quitter proprement dans la fenêtre xterm ?</div><div>Parce que quand sais tu donc si les modifications apportées par l’utilisateur dans la fenêtre xterm ont été enregistrées ou non ?</div><div><br></div><div>Et, lorsque tu lance le kill, est-ce le «&nbsp;xterm&nbsp;» &nbsp;que tu tue ou le «&nbsp;vi&nbsp;» ? Avec le «&nbsp;%1&nbsp;», c’ est le «&nbsp;xterm&nbsp;» auquel tu envoie le signale de quitter, lui sortira proprement mais en tuant le «&nbsp;vi&nbsp;» assez brutalement (sans préavis). Il faudrait récupérer le PID du «&nbsp;vi&nbsp;» pour avoir une chance que ça marche. Encore que «&nbsp;vi&nbsp;» étant une commande interactive, pour les raison m’ayant conduit à poser ma première question.</div><div><br></div><div>Donc pourquoi donc utiliser «&nbsp;vi&nbsp;» dans un «&nbsp;xterm&nbsp;» dans un script ?</div><div>Si c’est pour afficher un fichier, il faudrait peut-être se tourner vers des outils «&nbsp;X&nbsp;» tel que Gtk et Tcl/tk.</div><div><br></div><div>A+</div><br><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">--&nbsp;</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">Pierre Malard</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New'; min-height: 11px;"><br></div><div style="margin: 0px; font-family: Times;">&nbsp; &nbsp;«<span class="Apple-converted-space">&nbsp;</span><i>Je n'ai jamais séparé la République des idées de justice sociale,</i></div><div style="margin: 0px; font-family: Times;"><i>&nbsp; &nbsp; &nbsp;sans laquelle elle n'est qu'un mot<span class="Apple-converted-space">&nbsp;</span></i>»</div><div style="margin: 0px; font-family: Times;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Jean Jaures&nbsp;- 1887</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;|&nbsp; &nbsp; &nbsp;&nbsp;_,,,---,,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;/,`.-'`'&nbsp; &nbsp;&nbsp;-.&nbsp;&nbsp;;-;;,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;|,4-&nbsp;&nbsp;) )-,_. , (&nbsp;&nbsp;`'-'</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;'---''(_/--'&nbsp;&nbsp;`-'_) &nbsp; πr</div><div style="margin: 0px; font-family: Times; min-height: 14px;"><br></div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. &nbsp;;-;;,_: &nbsp;|,A- &nbsp;) )-,_. , ( &nbsp;`'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' &nbsp;`-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'</div><div style="margin: 0px; font-family: 'Courier New';"><span style="font-size: 10px;">- --&gt; Ce message n’engage que son auteur &lt;--</span></div></div>
</div>
<br></body></html>
--Apple-Mail=_90DDEB6E-48BF-4096-97F7-D64ED4E0BBAC--

--Apple-Mail=_CCB358D5-935B-480C-8142-4BF155108859
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT0u3FAAoJELzRDw+wKgIyMsEQAJ6CKJryfcTczhYtko+arlEV
/OOD0qwq+EqbKNeWmBweBMtvcRfzdd1tvr7yOsWl7BM41H/WvXDlNiHPkq8/nfVj
MIvQHk44xvgkwz1Loo7+1Qt/KT0PcrFNBD5K4LTAvauDCl06cMhE8/Bx6bc1W+02
NUZaccFnE3uIWCL4aqUhVkpiBRTqmnbtdnbdSCN/R8dKOVZHgvn2nKt59v8bJWnJ
WI0Bt0CGYSaKO+IKMFXDBY1r6Y4EeCLL/Yr4kYs00sFjvQVR6SSlGQlAAQwZMc5t
V1teWRmFn/gxB4jL3LWY3e46bbnUkzyi+0q6OvULbRHbabRuzgpsuL+3GoMQM+g0
Za4zCJrn4vFIQwsW/5yAeYARzhggQHVP8aWHpakTqiOdDab+4v6eWJI5rqwZnm4d
/SAjC4AtrDwKJK0hUyI8n0CeeOE6dpa7LOQtXkees5V+HlvDIhPYhhXzmvhqKOL8
eV+JBu/a9KqTGgrFkmkMN//bCHLyXVu8bE0RJmlBrW0y7Gd9gEmwfFhVLF7m8TET
4L4GXMVPBdlzdBg8QU20ad8LVH2611VTmZlVKPMytvy8eKFuZdnSmVBF01C+XTnG
vTWmAUVAph+tQDWzOXh5rqcoWFSuLOrqix/e3oyWBb+rb2JYVM+DSRDSQyJR/PXU
xfOjE2HYszpqY8Yr3egG
=KpES
-----END PGP SIGNATURE-----

--Apple-Mail=_CCB358D5-935B-480C-8142-4BF155108859--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Bonjour,

Le 25/07/2014 23:32, moi-meme a écrit :
dans un script je veux tuer vim appelé par
xterm -e vim <fichier> &

Je lui envoie un kill -3 %1



Si « ton vim » est la seule tâche en arrière plan
et si ton shell est le bash, alors ceci devrait
marcher :

kill -- -$(jobs -p)

En tout cas, sur ma Debian Wheezy, ça marche (j'ai
testé).

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/lqvsh2$tre$
Avatar
moi-meme
Le Sat, 26 Jul 2014 11:40:02 +0200, Francois Lafont a écrit :

Si « ton vim » est la seule tâche en arrière plan et si ton shell est le
bash, alors ceci devrait marcher :

kill -- -$(jobs -p)



connaissait pas -p

Mais ça ne me supprime pas le .swp. Je le ferai à la main "gorettement".

Merci

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/53d39164$0$3646$
Avatar
Haricophile
Le vendredi 25 juillet 2014 à 21:32 +0000, moi-meme a écrit :
dans un script je veux tuer vim appelé par
xterm -e vim <fichier> &

Je lui envoie un kill -3 %1
(et pas un-9 je suis gentil ...)
ça tue vim (et xterm ...) mais ce "bâtard de sa mère" laisse le
fichier
swap, ce que je comprends.

pas trouvé de signal qui lui dise de fermer normalement.

Ya moyen se faire autrement qu'en effaçant (très gorettement) le
fichier
swap ?

ou alors en appelant un autre éditeur qui accepte cela ?



Pour moi, fermer proprement c'est SIGTERM (15) et pas SIGINT (3)



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Pierre Malard
--Apple-Mail=_6BF06620-2CBF-4D26-BC9B-6488D85F1916
Content-Type: multipart/alternative;
boundary="Apple-Mail=_50976F6E-F483-43ED-8B50-A82026215CF1"


--Apple-Mail=_50976F6E-F483-43ED-8B50-A82026215CF1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8

Bonjour,

Le 26 juil. 2014 à 11:34, Francois Lafont a écrit :
Bonjour,

Le 25/07/2014 23:32, moi-meme a écrit :
dans un script je veux tuer vim appelé par
xterm -e vim <fichier> &

Je lui envoie un kill -3 %1



Si « ton vim » est la seule tâche en arrière plan
et si ton shell est le bash, alors ceci devrait
marcher :

kill -- -$(jobs -p)

En tout cas, sur ma Debian Wheezy, ça marche (j'ai
testé).




Bravo, c’est beaucoup plus propre.
Par contre, si le vi a apporté une modification, on retrouve le .toto.swp...
Donc, ça ne solutionne pas le problème en cas d’utilisat ion du vi dans
des conditions normales de l’usage d’un … éditeur de texte.

Tu peux essayer l’option « -R » (read-only) et/ou « -N » (pas de swap).
Mais, visiblement, ces modes sont simplement invalidés par une simple
insertion dans le vim. Et donc, on récupère à tout coup un .toto.swp.

Mais, si c’est pour piloter un éditeur de texte sous X, pourquoi ne pas
simplement lancer un éditeur de texte X ? Il sera certainement pus
« pilotable » que le vim qui n’est certainement pas prévu pour ça.
Par exemple un « xedit ». Je ne sais pas comment, peut-être avec
QT4...

--
Pierre Malard

« La façon de donner vaut mieux que ce que l'on donne »
Pierre Corneille (1606-1684) - Le menteur
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr

perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--


--Apple-Mail=_50976F6E-F483-43ED-8B50-A82026215CF1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8

<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Bonjour,</div><div><br></div>Le 26 juil. 2014 à 11:34, Francois Lafont &lt;<a href="mailto:"></a>&gt; a écrit :<div><blockquote type="cite">Bonjour,<br><br>Le 25/07/2014 23:32, moi-meme a écrit :<br><blockquote type="cite">dans un script je veux tuer vim appelé par<br>xterm -e vim &lt;fichier&gt; &amp;<br><br>Je lui envoie un kill -3 %1<br></blockquote><br>Si « ton vim » est la seule tâche en arrière plan<br>et si ton shell est le bash, alors ceci devrait<br>marcher :<br><br> &nbsp;&nbsp;&nbsp;kill -- -$(jobs -p)<br><br>En tout cas, sur ma Debian Wheezy, ça marche (j'ai<br>testé).<br></blockquote></div><div><br></div><div>Bravo, c’est beaucoup plus propre.</div><div>Par contre, si le vi a apporté une modification, on retrouve le .toto.swp...</div><div>Donc, ça ne solutionne pas le problème en cas d’utilisation du vi dans</div><div>des conditions normales de l’usage d’un … éditeur de texte.</div><div><br></div><div>Tu peux essayer l’option « -R » (read-only) et/ou «&nbsp;-N&nbsp;» (pas de swap).</div><div>Mais, visiblement, ces modes sont simplement invalidé s par une simple</div><div>insertion dans le vim. Et donc, on récupà ¨re à tout coup un .toto.swp.</div><div><br></div><div>Mais, si c’est pour piloter un éditeur de texte sous X, pourquoi ne pas</div><div>simplement lancer un éditeur de texte X ? Il sera certainement pus&nbsp;</div><div>«&nbsp;pilotable&nbsp;» que le vim qui n’est certainement pas prévu pour ça.</div><div>Par exemple un « xedit&nbsp;». Je ne sais pas comment, peut-être avec&nbsp;</div><div>QT4...</div><div><br></div><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">--&nbsp;</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">Pierre Malard</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New'; min-height: 11px;"><br></div><div style="margin: 0px; font-family: Times;">&nbsp; «&nbsp;<i>La&nbsp;façon&nbsp;de donner vaut mieux que ce que l'on donne&nbsp;</i>»</div><div style="margin: 0px; font-family: Times;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Pierre Corneille (1606-1684) - Le menteur</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp; |&nbsp; &nbsp; &nbsp; _,,,---,,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp; /,`.-'`'&nbsp; &nbsp; -.&nbsp; ;-;;,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp; |,4-&nbsp; ) )-,_. , (&nbsp; `'-'</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;'---''(_/--'&nbsp; `-'_) &nbsp; πr</div><div style="margin: 0px; font-size: 10px; font-family: Courier; min-height: 12px;"><br></div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. &nbsp;;-;;,_: &nbsp;|,A- &nbsp;) )-,_. , ( &nbsp;`'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' &nbsp;`-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'</div><div style="margin: 0px; font-family: 'Courier New';"><span style="font-size: 10px;">- --&gt; Ce message n’engage que son auteur &lt;--</span></div></div>
</div>
<br></body></html>
--Apple-Mail=_50976F6E-F483-43ED-8B50-A82026215CF1--

--Apple-Mail=_6BF06620-2CBF-4D26-BC9B-6488D85F1916
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT05zlAAoJELzRDw+wKgIyyJ0P/iqvcPtkcXK8jK7hFeAQm0Y5
Zw6A7JYR0Ib0T5xjoA1dBVHd29BI2irlUoKj2Bk1T/9Q96l7RNQouxwRvgJ0OMUy
JETbuvoX3G+QzsMZhBoqWcM07l2MT4PAT0TF9YbyEoVVrzhma6Fc+hOuhihSvf1F
vfDkR47oKjZr5eTIS9KxCCISqViXp8ojQkWhVhi7cBNHsXLXIiRk1lGR5QDQ85Ob
UJeS51kaKNdRWGl8aQASBtiOXIbsSBW9DVnSJ06aCK7tRDLZGtK4xgLZv1hGneu6
9KwbsLEVbXXSpxkah+3xuiQ796zL0zLZrD9L58Ups3ekzFkOSg5rW+8565eZB0wd
yKcEdMdifkA0VlamNOMA5FpgqKXuL3zliyKvxH77PRqlSYir18gQfnEbKWYNcV/q
CLZJY++iz9n2EzW2F21FQrCSILEGiZpJFbxzULAOICHoZJQgCipHa7bu710+2MeG
hdWi6zvV2pIqkHFPF/nvXWQUaEMW6Ugay8XbxkmtZYwIxcDzkhT6ma38+cPEfS6U
cWEIILtw7tWIgJWHn8wtrKq1XaTJ2Mhlwlk+hX3nrUEwu2uzvzWvEU2N8xsNt4Bm
tHzPBGvgeho+3rHNFjBS/1gZ3VWwj4KqmKQJhCxzUWSNtpm8ipOsfIx15yjLmsIQ
Pg4x88qyBU7s6qrZ40lV
=ZXFb
-----END PGP SIGNATURE-----

--Apple-Mail=_6BF06620-2CBF-4D26-BC9B-6488D85F1916--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Le 26/07/2014 13:30, moi-meme a écrit :

kill -- -$(jobs -p)



connaissait pas -p

Mais ça ne me supprime pas le .swp.



Ah ? Sur ma Debian Wheezy (à jour), avec bash comme shell,
ça marche. Voici un copier-coller de ma console :

-----------------
~$ xterm -e vim test.c &
[1] 4146

~$ ls .test.c.swp
.test.c.swp

~$ kill -- -$(jobs -p) # il y a un "moins" devant le "dollar"

~$ ls .test.c.swp
ls: impossible d'accéder à .test.c.swp: Aucun fichier ou dossier de ce type
-----------------

On voit avoir un environnement différent :

- je suis sous Wheezy à jour;
- mon shell est le bash
- le paquet xterm est installé version 278 (c'est
possible un numéro de version pareil ?)
- j'utilise vim version 7.3.547

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/lr075d$ca0$
Avatar
Francois Lafont
Le 26/07/2014 14:19, Pierre Malard a écrit :

kill -- -$(jobs -p)

En tout cas, sur ma Debian Wheezy, ça marche (j'ai
testé).




Bravo, c’est beaucoup plus propre.
Par contre, si le vi a apporté une modification, on retrouve le .toto.swp...



1. Chez moi, si j'effectue des modifications avec vim *et*
que je prends bien la peine de l'écrire sur le disque avec
« :w » alors je n'ai plus de fichier .swp après le kill.

2. En revanche, si j'effectue des modifs et que je fais le
kill *sans* avoir fait un « :w » avant au niveau de vim, alors
là, oui, j'ai toujours le .swp. Je pense que ça correspond
malgré tout à une fermeture « propre » de vim qui décide de
garder le .swp étant donné qu'il reste des modifs qui n'ont
pas été enregistrées.

Si on est dans le cas 2, je pense que le .swp sera toujours
présent quelle que soit la manière dont on « kille » car je
ne vois pas comment un kill pourra signaler à vim soit a)
d'enregistrer les dernières modifs non enregistrées, soit b)
de les ignorer. Mais bon, je peux me tromper...

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/lr08e8$pmj$
Avatar
Adrien Dewulf
Bonjour,

Oui, j'utilise aussi kill -SIGTERM "PID" qui décrit comme un moyen
propre de tuer un process.

Trouvé sur
http://www.cyberciti.biz/faq/kill-process-in-linux-or-terminate-a-process-in-unix-or-linux-system

Par contre, je n'ai pas trouvé trouver comme avoir un .swp en éditant un
ficher avec vim.

1. Je créé un fichier test.c avec vim.
2. Je le ferme :x.
3. Je le réouvre.
4. Je le réédite.

Et toujours pas de .swp

Unixment :D

Adrien

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Pierre Malard
--Apple-Mail=_84521CCC-F8BD-4FCD-8CE2-1B5B2A5C9EBA
Content-Type: multipart/alternative;
boundary="Apple-Mail=_3337A4F0-F96A-4E05-AA89-80769C6A7BEC"


--Apple-Mail=_3337A4F0-F96A-4E05-AA89-80769C6A7BEC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8

Bonjour,

Le 26 juil. 2014 à 15:02, Adrien Dewulf a écrit :
Bonjour,

Oui, j'utilise aussi kill -SIGTERM "PID" qui décrit comme un moyen propre de tuer un process.

Trouvé sur http://www.cyberciti.biz/faq/kill-process-in-linux-or-terminate-a-process- in-unix-or-linux-system

Par contre, je n'ai pas trouvé trouver comme avoir un .swp en éditant un ficher avec vim.

1. Je créé un fichier test.c avec vim.
2. Je le ferme :x.
3. Je le réouvre.
4. Je le réédite.

Et toujours pas de .swp




Ça signifie juste que lorsqu’on a bien tout terminé sous vim (:w, :wq, :x, ZZ, …), qu’on est pas en mode d’insertion/modification (« i », « R », …), alors vim n’ayant plus de « modifications en cours » supprime de lui-même le fichier swap dont il n’a plus besoin. Cela ne signifie pas que le signal donne l’ordre à vim de fermer proprement tout fichier avant de quitter. on lui donne l’ordre de quitter plus ou moins drastiquement (signal 3, 9, 15), alors le processus quitte, c’est tout.

La conservation du fichier swap est juste une sauvegarde ajoutée à vi par vim. Comme ça, même avec un plantage, on retrouve le contexte enregistré.

Encore une fois, il serait intéressant de savoir pourquoi « moi-même » souhaite piloter vim dans un xterm pour mieux répondre à la question !

vim n’est pas, comme « sed » pour « ed », une commande de manipulation de texte par script. Il suffit de lire le « man » pour s’en persuader. Il n’y a aucune « commande externe » prévue. Au mieux, on peut envoyer dans l’entrée standard, toute une série de texte qui peut être interprétée par vim comme une commande par un :
# vim -
dans lequel on envoie le nom de fichier à éditer dans l’entrée standard et les commandes sont lues depuis la sortie d’erreur qui peut-être un tty… Un peu fruste non ?
Un « awk » , un « sed » ou même une manipulation du fichier dans un script écrit pour ça me semble plus patent… mais bon, c’est un chalenge comme un autre.

Cordialement

--
Pierre Malard

« On ne peut pas pousser à fond l'éducation politique et l'éducation
tout court de masses sans l'accompagner d'un développement
économique, culturel et social parallèle. »
Romain Gary - "Les racines du ciel"
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr

perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--


--Apple-Mail=_3337A4F0-F96A-4E05-AA89-80769C6A7BEC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8

<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Bonjour,<div><br><div><div>Le 26 juil. 2014 à 15:02, Adrien Dewulf &lt;<a href="mailto:"></a>&gt; a écrit :</div><blockquote type="cite">Bonjour,<br><br>Oui, j'utilise aussi kill -SIGTERM "PID" qui décrit comme un moyen propre de tuer un process.<br><br>Trouvé sur <a href="http://www.cyberciti.biz/faq/kill-process-in-linux-or-terminate-a- process-in-unix-or-linux-system">http://www.cyberciti.biz/faq/kill-process -in-linux-or-terminate-a-process-in-unix-or-linux-system</a><br><br>Par contre, je n'ai pas trouvé trouver comme avoir un .swp en éditan t un ficher avec vim.<br><br>1. Je créé un fichier test.c avec vim.<br>2. Je le ferme :x.<br>3. Je le réouvre.<br>4. Je le réédite.<br><br>Et toujours pas de .swp<br></blockquote></div><div><br></div><div>Ça signifie juste que lorsqu’on a bien tout terminé sous vim (:w, :wq, :x, ZZ, …), qu’on est pas en mode d’insertion/modifica tion («&nbsp;i&nbsp;», «&nbsp;R&nbsp;», …), alors vim n’ayant plus de «&nbsp;modifications en cours&nbsp;» supprime de lui-même le fichier swap dont il n’a plus besoin. Cela ne signifie pas &nbsp;que le signal donne l’ordre à vim de fermer proprement tout fichier avant de quitter. on lui donne l’ordre de quitter plus ou moins drastiquement (signal 3, 9, 15), alors le processus quitte, c’est tout.</div><div><br></div><div>La conservation du fichier swap est juste une sauvegarde ajoutée à vi par vim. Comme ça, même avec un plantage, on retrouve le contexte enregistré.</div><div><br></div><div>Encore une fois, il serait intéressant de savoir pourquoi «&nbsp;moi-même&nbsp;» souhaite piloter vim dans un xterm pour mieux répondre à la question !</div><div><br></div><div>vim n’est pas, comme «&nbsp;sed&nbsp;» &nbsp;pour « ed », une commande de manipulation de texte par script. Il suffit de lire le «&nbsp;man&nbsp;» pour s’en persuader. Il n’y a aucune «&nbsp;commande externe&nbsp;» prévue. Au mieux, on peut envoyer dans &nbsp;l’entrée standard, toute une série de texte qui peut être interprétée par vim comme une commande par un :</div><div><span class="Apple-tab-span" style="white-space:pre"> </span># vim -</div><div>dans lequel on envoie le nom de fichier à éditer dans l’entrée standard et les commandes sont lues depuis la sortie d’erreur qui peut-être un tty… Un peu fruste non ?&nbsp;</div><div>Un «&nbsp;awk&nbsp;» , un «&nbsp;sed&nbsp;» &nbsp;ou même une manipulation du fichier dans un script écrit pour ça me semble plus patent†¦ mais bon, c’est un chalenge comme un autre.</div><div><br></div><div>Cordialement</div><br><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">--&nbsp;</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">Pierre Malard</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New'; min-height: 11px;"><br></div><div style="margin: 0px; font-family: Times;">&nbsp; «<span class="Apple-converted-space">&nbsp;</span><i>On ne peut pas pousser à fond l'éducation politique et l'éducation</i></div><div style="margin: 0px; font-family: Times;"><i>&nbsp; &nbsp;&nbsp;tout court de masses sans l'accompagner d'un développement</i></div><div style="margin: 0px; font-family: Times;"><i>&nbsp; &nbsp;&nbsp;économique, culturel et social parallèle.<span class="Apple-converted-space">&nbsp;</span></i>»</div><div style="margin: 0px; font-family: Times;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Romain Gary - "Les racines du ciel"</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;|&nbsp; &nbsp; &nbsp;&nbsp;_,,,---,,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;&nbsp;/,`.-'`'&nbsp; &nbsp;&nbsp;-.&nbsp;&nbsp;;-;;,_</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;&nbsp;|,4-&nbsp;&nbsp;) )-,_. , (&nbsp;&nbsp;`'-'</div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">&nbsp;'---''(_/--'&nbsp;&nbsp;`-'_) &nbsp; πr</div><div style="margin: 0px; font-family: Times; min-height: 14px;"><br></div><div style="margin: 0px; font-size: 10px; font-family: 'Courier New';">perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. &nbsp;;-;;,_: &nbsp;|,A- &nbsp;) )-,_. , ( &nbsp;`'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' &nbsp;`-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'</div><div style="margin: 0px; font-family: 'Courier New';"><span style="font-size: 10px;">- --&gt; Ce message n’engage que son auteur &lt;--</span></div></div>
</div>
<br></div></body></html>
--Apple-Mail=_3337A4F0-F96A-4E05-AA89-80769C6A7BEC--

--Apple-Mail=_84521CCC-F8BD-4FCD-8CE2-1B5B2A5C9EBA
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJT079DAAoJELzRDw+wKgIy2SkP/1o1uf1bIjuUozQ2l7s1WnNc
iwbykct72XeQf0bmDEuFXONZm/kXVby6IRingPBERldSbng14TzVNfUGn0DKsUbH
LgeBkd/LROjSJ7ZtRNTMwwNH4UOnFzx96DVnJ5RSqLNX3WjhsUlV1V0+QRQp/Evb
pv01nQgCr7r+SL2Ijp6RR3FpE/GaZaHuxhkOsa8beHdW5gdXGa+9kpmIPIrhT3TU
sBydOsN/UfijUL0usgKhRQMq7Wp8NuHeD4kE0/fBo0eXSsUuOFeXfHwhus6UZ2zb
+BtJQbO6GRqxZM2qnxijeVICn+9TGtfQqy4a7JvNQLOcNxPfwPiHxt0AEZ4utFB8
Xts8nZ2BSmDy3T1vWDnAUvrgpgC6VC2vXV5ZWS+crNNoEPbjBZehzQ8JfaYfKt1M
GCbTDpMCMq4D2qG1ggUhgtmlAUTEfmY1EMVBZgtwo5UyzRQRkftzfCQw74Vv/UhC
9z1TzOmeJ2UKnH+VWTYJ55KANRHOOw0Whur6BCY4pE7tXoMAStpW/Ai4rnxiJ9UE
9pzgaiUJvEX/Z5jB3IOGHAJgwY8hTdxkv4tLsQ+TB1N/ZAl8odbAmpNwvywKCIow
dCEGxr2vMH4ew1WMCpqohaHov8VrXaVTbl21dTf4U4U6TRbg5o5fFooGLvvytHAX
rVOX3ejBL0cVGX7Qlclc
=Fgnq
-----END PGP SIGNATURE-----

--Apple-Mail=_84521CCC-F8BD-4FCD-8CE2-1B5B2A5C9EBA--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
moi-meme
Le Sat, 26 Jul 2014 15:00:01 +0200, Francois Lafont a écrit :

Si on est dans le cas 2, je pense que le .swp sera toujours présent
quelle que soit la manière dont on « kille » car je ne vois pas comment
un kill pourra signaler à vim soit a) d'enregistrer les dernières modifs
non enregistrées, soit b) de les ignorer. Mais bon, je peux me
tromper...



le problème du swap c'est quand on revient : vim "gueule" (normal).

Haricophile m'a donné une voie intéressante qui fait disparaître le swap
en même temps.
Envoyer le signal SIGTERM à la tâche.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/53d3fb29$0$2205$
1 2 3 4