[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tuer vim proprement (?)



Le 28 juil. 2014 à 07:45, moi-meme <chiebel@free.fr> a écrit :
édition du fichier avec vim déjà ouvert sauvegarde sans fermeture de
vim

Heu... c'est dans la boucle bash ça ? Tu as des commandes bash qui
éditent un fichier sous vim et qui font un « :w » ?

non je l'édite à la main et je fais un :w! à la main, et je ne le ferme
pas. Mon fichier sur le disque est à jour de mes modifs et je fais un
"bash <fichier>"

Tu pourrais faire un simple « bash fichier » plutôt que ton « eval ...
», non ?

Pourquoi faire simple quand on peut faire compliqué :-)

réaffichage de l'image qui a été traitée par le fichier modifié

Si cela est bon je kill vim, les afficheurs d'image et je passe à la
séquence suivante avec l'étape 1.

Vraiment désolé mais je n'ai globalement rien compris. Par exemple je
n'ai pas compris ce qui est exécuté par toi manuellement et ce qui est
exécuté par ton script bash. Ça vient peut-être de moi, je suis une peu
lent parfois...

si le fichier édité sous vim ne fait pas ce que je veux, je le modifie,
je relance le bash <fichier> et je réaffiche l'image résultat du bash ...
Si cela me plaît -de la console d'où j'ai lancé le script- je termine la
boucle, avec une réponse à un "read x" dans le script : fermeture vi vim ,
des images (avec kill)

Voir les remarques Pierre Marlard sur sed et awk qui pourraient
peut-être te faire gagner pas mal de temps.

non car les modifs sont interactives.

Il semble avoir mieux compris que moi ce que tu cherches à faire.

Heureux pour moi :-)
Je suis tellement dans mon truc que pour moi tout est évident donc je ne
dis pas tout.

En tout cas merci pour l’aide

Ola,

Décidément, c’est une histoire à épisode. Tous nous est découvert par 
épisodes successifs… ;-)

Si tu lance le vim dans un xterm pour faire des modifications à la main que 
tu valide par un « :w » dans une boucle infinie que tu contrôle dans ton 
terminal, pourquoi le lancer en tâche de fond avec un « & » ?
Dans ce cas, il faut quitter ton vim par un « :wq » et non un simple « :w ».  
De toute façon, comme tu tuais le vim après, c’est beaucoup plus propre...

Si ce n’est pas obligatoire de lancer une autre fenêtre, tu pourrais fout 
simplement lancer ton vim dans le même terminal. Comme ça, ton script 
rattraperai la main une fois le vim quitté (modifié ou non), afficherait l’image 
avec les nouveaux paramètres et te demanderait si tu veux continuer, 
tout simplement. Avec un script du genre :
— MonScript.sh ———————
#!/bin/bash
FichierParametre=$1
while true ; do
   vim FichierParametre
    <Affiche l'image avec le fichier paramètre>
    echo -n "On continue ? "
    read Rep
    case Rep in
        n|N)
            echo "Sauvegarde Fichier paramètre"
            cp FichierParametre FichierParametre.sav
            exit
         ;;
      *) echo "OK" ;;
    esac
done
—————

Tu lances ce script par un « MonScript.sh toto » où « toto » est le nom du 
fichier paramètre de ton image. Le vim est lancé tant que tu n’as pas 
répondu « N » et sauvegardé après. Tu pourrais même indiquer le nom de
l’image à affiché associé au fichier paramètre et sauvegarder ce couple 
ensuite quelque part. Il est

Si vraiment tu souhaite utiliser un xterm, tu fais la même chose avec le 
xterm sans le lancer en tâche de fond. Dans ce cas, il pourrait être plus 
sympa de lancer un éditeur X comme ledit ou gedit (si tu utilises GNOME). 
Mais ça va ouvrir une fenêtre à chaque fois n’importe où sur ton écran; une 
fenêtre que tu devras chercher avec ta souris à chaque boucle pour revenir 
à ton terminal une fois les modifications terminées avec un « :wq » (pour vim).

En espérant que ça peut t’aider.

-- 
Pierre Malard

  « - Il n'y a que trois éléments indispensables à la vie.
        Et il n'y a que les scientifiques pour penser que
        c'est l'oxygène, l'hydrogène et le carbone...
      - Quoi alors ? L'eau, l'air et le feu ?
      - Non ! Le désir, le désordre et le danger... »
                   Manon Briand ; La turbulence des fluides
                                        (film québécois de 2001)
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,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 <--

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


Reply to: