Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/11/2024, à 08:51

diogenelecynique

[Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

Bonjour,

Je cherche à compiler en C sans quitter VIM : actuellement, je lance la commande :

gcc -o nom_du_programme nom_du_fichier_objet 

Mais cette technique m'oblige à ouvrir une nouvelle fenêtre de Terminal. J'aimerais compiler à l'intérieur de VIM pour gagner du temps et lancer automatiquement le programme compilé.

Merci

Dernière modification par diogenelecynique (Le 25/11/2024, à 19:42)

Hors ligne

#2 Le 18/11/2024, à 09:35

Watael

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

vim dispose d'un terminal. :bo vert ter va, par exemple, ouvrir une fenêtre de terminal à droite de la fenêtre courante.
cf. :tab h ter


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 18/11/2024, à 10:56

krodelabestiole

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

...mais on préfère souvent utiliser neovim avec tmux, et des extensions qui transforment neovim en IDE complet.

je te laisse chercher, on trouve plein de vidéos de youtubeurs qui expliquent leurs setups (en se touchant éventuellement un téton ^^).

Hors ligne

#4 Le 18/11/2024, à 11:07

Watael

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

c'est pour quoi faire tmux ? si c'est pour scinder des fenêtres et générer des onglets, neovim le fait aussi bien que vim.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 18/11/2024, à 11:33

krodelabestiole

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

pour gérer le terminal tmux est plus riche en fonctionnalités que neovim (la gestion des sessions en particulier peut permettre de faire gagner du temps).
différents avis pour ceux que ça t'intéresse : https://www.reddit.com/r/neovim/comment … t_windows/
https://www.reddit.com/r/neovim/comment … _terminal/
après je suppose que ça dépend surtout du workflow de chacun, et il existe probablement des extensions pour retrouver ces fonctionnalités dans neovim.
bref il n'y a pas une manière de faire plus officielle qu'une autre, ça me semble par contre utile de relever le fait que cette configuration est aussi largement utilisée.

Hors ligne

#6 Le 18/11/2024, à 12:43

sputnick

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

Salut,

cool :bo vert term.

Par contre, quelle est la sémantique du mot clef botright? DeePL me traduit en droit de la mer roll


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 18/11/2024, à 14:29

Watael

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

krodelabestiole a écrit :

gestion des sessions

(neo)vim aussi peut sauvegarder des sessions (peut-être, par contre, pas les programmes actifs, je n'ai pas encore réussi, si c'est toutefois possible...).

sputnick a écrit :

droit de la mer

lol

botright : bottom right, imho.

Dernière modification par Watael (Le 18/11/2024, à 14:41)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#8 Le 18/11/2024, à 15:05

sputnick

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

Un bout de conf pour le C qui m'a bien servit:

" http://stackoverflow.com/questions/540721/compile-directly-from-vim
" permet de lancer :make
au FileType c setlocal makeprg=g++\ %\ -Wall
au FileType cpp setlocal makeprg=g++\ %\ -Wall

" compiler le c/c++ avec :make et lancer l'executable
autocmd QuickfixCmdPost make call AfterMakeC()
function! AfterMakeC()
    " No any error after make
    if len(getqflist()) == 0
        !./a.out
    endif
    " :~)
endfunction

Un truc bien, c'est qu'en cas d'erreur de compilation, vim place le curseur au niveau de l'erreur dans le code.

Ce que ça donne en réel: https://i.imgur.com/O5hqhZ2.gif

Dernière modification par sputnick (Le 18/11/2024, à 15:34)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 18/11/2024, à 17:01

Watael

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

au FileType c,cpp setlocal makeprg=g++\ %\ -Wall

une ligne de plus en moins. big_smile


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#10 Le 19/11/2024, à 07:48

serged

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

Sinon, le terminal "de base' -gnome-terminal possède un mode "onglets" et on peut lancer la compil dans un nouvel onglet (Menu Fichier/nouvel onglet ou Ctrl-Alt-T)....

Note : Il existe des terminaux plus évolués, comme terminator, permettant de créer plusieurs fenêtres....


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#11 Le 25/11/2024, à 19:41

diogenelecynique

Re : [Résolu] Compiler en C à l'intérieur de VIM pour gagner du temps.

Watael a écrit :

vim dispose d'un terminal. :bo vert ter va, par exemple, ouvrir une fenêtre de terminal à droite de la fenêtre courante.
cf. :tab h ter

Cette commande répond parfaitement à mon besoin : merci beaucoup !

Hors ligne