IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

[Vim] Continuer à éditer pendant la compilation


Sujet :

Autres éditeurs

  1. #1
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut [Vim] Continuer à éditer pendant la compilation
    Bonjour à tous,

    Je me suis récemment mis à Vim, j'utilise le mode quickfix qui n'a rien à envie à un EDI… si ce n'est le fait que j'aime bien pouvoir continuer à regarder et éditer mon code pendant la compilation (d'autant plus que je suis actuellement sur un projet qui met longtemps à compiler).

    Comment configurer Vim pour que cela soit possible ? Par exemple, la sortie s'afficherait sur un split à part, qui, idéalement, se fermerait une fois la compilation terminée.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    - Soit en utilisant mon script BuildToolsWrapper (qui connaitra du refactoring à termes pour mieux intégrer la définition automatique de filtres à partir des compiler-plugins, et autres colorisation/folding de résultat de compilation),
    -> http://code.google.com/p/lh-vim/sour...#svn/BTW/trunk (il te faudra aussi récupérer vim-lib, et system-tools aussi je crois bien)

    - Soit en utilisant le script Python de Marc Weber qui permettra la compilation en tâche de fond, et pas uniquement sous les *nixoides.
    -> http://github.com/MarcWeber/theonevimlib/tree/master (et peut-être aussi sur SF, je ne sais plus)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Super, Luc, je vais jeter un œil à tout ça. Merci beaucoup !
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  4. #4
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Ce qui serait top, c'est de pouvoir scripter le comportement de Vim à chaque fois où il est censé lancer une commande externe (comme pendant :make ou en général :!commande).
    On pourrait alors remplacer le comportement par défaut et à la place créer un nouveau processus qui ouvrirait une nouvelle fenêtre de terminal où la commande externe serait alors exécutée.
    Une nouvelle fenêtre, ou alors un split. Je ne sais pas si GNU screen sait faire ça.

    Plus fort, définir une fonction callback qui ferait un :cg tout seul une fois le make terminé.

    Ce serait tip top et totalement dans l'esprit KISS.

    C'est possible ?
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    C'est ce que fait BTW : un :Copen une fois la compilation finie -- *nix only, perl requis.

    Sinon, voir le script de Marc Weber.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    J'ai essayé de m'atteler à installer BTW, mais je n'arrive pas à trouver le plugin LHOptions cité dans les requirements…
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    C'est un vieux pré-requis qui a été changé en (lh-)vim-lib (dont la v2.2.0 est bientôt prête : encore une dizaine de fonctions à documenter )
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  8. #8
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    vim-lib devrait donc fournir ce qu'il faut ?
    Pourtant, les messages d'erreur que j'ai évoquent lh#option :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Erreur détectée en traitant /home/florian/.vim/plugin/BuildToolsWrapper.vim :
    ligne  152 :
    E117: Fonction inconnue : lh#common#ErrorMsg
    ligne  157 :
    E117: Fonction inconnue : lh#option#Get
    E15: Expression invalide : lh#option#Get('BTW_key_make'   , '<F7>')
    ligne  158 :
    E117: Fonction inconnue : lh#option#Get
    E15: Expression invalide : lh#option#Get('BTW_key_execute', '<C-F5>')
    ligne  159 :
    E117: Fonction inconnue : lh#option#Get
    E15: Expression invalide : lh#option#Get('BTW_key_config' , '<M-F7>')
    ligne  234 :
    E121: Variable non définie : s:key_make
    E15: Expression invalide : '  nnoremap '.s:key_make   .':call <sid>Compile()<cr>'
    Avec ces fichiers dans mon répertoire de plugins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BuildToolsWrapper.vim  system_utils.vim  words_tools.vim
    searchInRuntime.vim    ui-functions.vim
    Par contre j'ai tout pris dans le svn, les dernières révisions. J'ai peut-être faux sur ce point ?
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  9. #9
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Tu as autoload/lh/option.vim ? (qui vient de lh-vim-lib)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Non, en effet. Je ne suis pas (encore !) un spécialiste de Vim, je pensais que seul les .vim des dossiers plugin étaient à récupérer.

    Du coup j'ai repris proprement depuis le début : j'ai téléchargé et installé les vimball lh-vim-lib-2.1.0.vba, searchInRuntime-2.1.7.vba et system_utils-2.0.0.vba, puis j'ai fait un checkout du svn pour récupérer tout le dossier BTW.
    J'ai copié BTW/trunk/* dans ~/.vim/
    J'ai eu une erreur en installant lh-vim-lib-2.1.0.vba :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Erreur détectée en traitant function vimball#Vimball :
    ligne  154 :
    E154: Marqueur "lhvl#syntax" dupliqué dans le fichier /home/florian/.vim/doc/lh-vim-lib.txt
    did helptags
    Mais après avoir tout installé, j'ai pu lancer Vim sans le message d'erreur de mon post précédent.

    Ensuite j'ai fait un « :Make » qui m'a donné une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Erreur détectée en traitant function <SNR>12_Compile :
    ligne   31 :
    E499: Nom de fichier vide pour '%' ou '#', ne marche qu'avec ":p:h": make %<
    Du coup j'ai tenté un « :Make all », qui n'a pas renvoyé d'erreur, mais n'a rien donné de différent d'un « :make » classique.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  11. #11
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Tiens? J'ai oublié de le documenter.

    Il faut positionner [bg]:BTW_make_in_background à 1. Si tu utilises gvim, il y a une entrée dans le nouveau menu Project pour faire cela.

    Pour le target implicite, le plugin est fait pour compiler le fichier courant par défaut, comme s'il était l'unique fichier du projet. Pour utiliser autre chose, il faut positionner [bg]:BTW_project_target. Généralement, je fais ça avec mon autre plugin local_vimrc.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Retours chariots bloquant pendant la compilation
    Par agdid04 dans le forum SQL
    Réponses: 4
    Dernier message: 19/05/2008, 17h21
  2. Réponses: 12
    Dernier message: 09/05/2008, 06h05
  3. Probleme SDL pendant la compilation
    Par Nigdown dans le forum SDL
    Réponses: 2
    Dernier message: 28/11/2007, 15h18
  4. [Compiler] Erreur pendant la compilation
    Par mehdiing dans le forum MATLAB
    Réponses: 1
    Dernier message: 05/05/2007, 20h22
  5. Hibernate évaluation pendant la compilation
    Par cyrille37 dans le forum Hibernate
    Réponses: 5
    Dernier message: 26/07/2006, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo