tuer vim proprement (?)
Le
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
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
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
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
</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/
Le 25/07/2014 23:32, moi-meme 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)
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$
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$
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/
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
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
</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/
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$
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$
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/
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 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
</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/
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$