Bonjour
Me mettant petit à petit à linux je me rends compte que des connaissances en programmation me seront indispensables
J'ai déjà les grosses bases théoriques (les boucles, les variables, les algo) blabla
Je cherche à bien configuré mon WM, awesome, qui est sous LUA, donc je vais apprendre un peu le LUA
Mais je me demandais quel IDE prendre sous linux?
Rester simple et prendre Vim, emacs? J'aurai toutes les fonctions que je veux tant que je trouve comment les avoirs? (genre coloration du texte, débuggueur, compilation, execution ect...?)
Ou alors prendre un truc bien complet ?
Merci d'avance
PS: Je compte commencez grâce au tuto de dévellopez.com et de ça: http://www.lua.org/pil/contents.html
Bonne idée?
« Rester simple et prendre Vim, emacs? J'aurai toutes les fonctions que je veux tant que je trouve comment les avoirs? (genre coloration du texte, débuggueur, compilation, execution ect...?) »
Vim fait ce qu'il est censé faire: éditer. Donc:
-Coloration syntaxique
-Indentation (auto ou non, réglable...)
-Recherche de motifs, remplacements, édition avancée de manière générale (tu n'imagines pas la puissance totale de cet éditeur quand on le maitrise ne serai-ce qu'un minimum
)
-Complétion (plus ou moins intelligente suivant ce que tu configures)
-Compatibilité avec make pour compiler directement depuis l'éditeur, et trouver les erreurs facilement
-Plein d'autres trucs.
Mais non, il n'inclut pas le compilo, ni le débugger, ni l'analyseur statique ou dynamique de code, car ça n'est pas sa fonction (je suis d'avis qu'un logiciel qui ne fait qu'une chose en la faisant bien vaut tous les logiciels multifonctions du monde
).
Tu peux installer tes outils en parallèle et les utiliser en ligne de commande, d'autant que les environnements tiling s'y prêtent bien ![]()
D'accord, merci
J'aime bien l'idée d'avoir un editeur très puissant et d'appeler tel outil quand j'en ai besoin
Qu'est ce que l'indentation? Complétion (completer?, il bouche tout seul le code? OoO)?
Je pense prendre Vim, j'en entends que du bien!
Et je suis du même avis que toi, autant prendre plusieurs logiciels performants qu'un seul multitache qui ne l'est pas, ou tout du moins pas autant.
Reste à savoir tout les "outils parallèles" dont j'aurai besoin:
Compilateur
Débugger
analyseur statique (wtf is that?)
executeur
??
Merci de ta réponse ![]()
J'ai peut être un peu inversé mes flèches
D'ailleurs, par rapport au environnements tiling, sur mon tout nouveau Awesome j'ai testé seulement avec un dizaine de terminal
Mais le tiling ne marche pas avec iceweasel :/ Comment l'activer?
Pas besoin pour la complétion, et indentation, j'ai googlé ![]()
je vais arreter de spammer je pense ![]()
« Qu'est ce que l'indentation? Complétion (completer?, il bouche tout seul le code? OoO)? »
L'indentation, c'est le fait de s'imposer une certaine mise en forme dans le code pour maintenir une certaine lisibilité. Ca rend le code agréable à lire, et ça n'affecte absolument pas son déroulement (c'est juste une façon de l'aérer en quelques sortes).
Un exemple pour les langages dérivés du C, c'est la présence d'un niveau de tabulation pour chaque contenu de "bloc" (entre un { et un }), une seule instruction par ligne, etc.
La complétion, c'est un outil qui te permet de gagner du temps lorsque tu es amené à saisir des mots assez longs plusieurs fois. Dans Vim, quand tu saisis une première fois
dans ton fichier par exemple, puis que dans la suite de ton fichier tu as besoin d'en rajouter un autre, tu peux simplement saisir
puis <Ctrl>+n, ce qui a pour effet de retrouver le mot et le saisir directement. En activant certaines options ou en installant certains plugins pour Vim (on parle souvent des ctags comme une référence), tu peux même obtenir une complétion intelligente (qui regarde les noms de variables disponibles dans la portée où tu écris actuellement, etc.). Personnellement je m'en passe, <Ctrl>+n me suffit les trois quarts du temps.
Pour LUA, je ne sais pas ce qu'on utilise comme outils en fait. Je fais surtout du C et du C++ du coup ça donne:
Compilateur: gcc (pour le C), g++ (pour le C++), combinés à make pour simplifier le travail et organiser mes projets
Debugger: gdb (pour les deux)
Analyseur statique de code: splint (il lit ton code sans le compiler, et te dit tout ce que tu as écrit de foireux / risqué / qui ne lui plait pas... c'est un peu comme si ta belle-mère savait programmer et lisait ton code pour te dire ce qu'elle en pense
mine de rien ça aide beaucoup à éviter certaines erreurs)
Exécuteur: s'agissant de langages compilés, les fichiers produits sont directement exécutables depuis la ligne de commande ![]()
Ok merci mec ![]()
Finalement la précision sur la complétion était plus utile que ce que j'avais lu sur le wiki
Je suppose que je peux pas utiliser les logiciels que tu as cité pour le LUA, mais tant que j'ai la fonction je peux trouver le logiciel correspondant, merci
ça fait en fait 4 en plus de vim?
4 dans mon cas, ça change d'un développeur à l'autre et selon la nature des projets hein
rien n'est fixé, surtout que sous Linux tu installes un logiciel en une commande donc au pire quand tu as besoin de quelque chose c'est jamais bien loin du moment que tu as une connexion
Pense à commencer par le vimtutor (commande: vimtutor, dans un terminal
) pour t'initier à Vim au début si tu n'y as jamais touché. Le manuel d'aide est excellent aussi ![]()
D'accord merci
Je vais voir tout ça ![]()
Ah et, meilleurs conseils qu'on puisse te donner pour débuter sur vim : désactiver les flèches directionnelles :
nnoremap <UP> <NOP>
nnoremap <DOWN> <NOP>
nnoremap <LEFT> <NOP>
nnoremap <RIGHT> <NOP>
dans un premier temps pour apprendre à se servir de h,j,k,l.
Et une fois que t'as pris le coup, installer le plugin vim-hardtime (ou vim-hardmode) qui te désactiveront ou limiteront l'utilisation de ces mêmes touches h,j,k,l (entre autres touches) pour te forcer à perdre cette très mauvaise habitude et utiliser les vrais opérateurs de mouvement qui sont la force de vim
H,J,K,L, même si c'est toujours plus rapide que n'importe quel éditeur non modal, c'est le mal ![]()
Ok merci de l'info
Pour désactiver cela c'est dans le vimrc?
Sinon j'ai vu qu'il existait un plugin spécialement fait pour le lua, vim-lua-ftplugin, vous pensez que je devrais le prendre?
Ce genre de plugins filetype est chargé uniquement quand tu édites le type de fichier concerné, donc ça risque pas vraiment de surcharger ton éditeur. Tu peux y aller sans craintes, si le plugin te semble intéressant.
Ah et, du coup, sers-toi d'un plugin manager, type Vundle, NeoVundle ou Pathogen. Gérer les plugins à la main dans vim est une perte de temps monumentale.
D'accord, merci, c'est interessant à savoir pour les plugin manager
Mais pour désactiver les touches fléchés c'est dans vimrc?
Hum, merci de cette réponse
Vu que j'ai déjà fait mon choix (vim), je ne vais pas, dans l'immédiat, en changer, désolé
Surtout qu'il semblerait que vim est un "must have" si je ne me trompe pas?
J'ai une question:
Ils disent 'faites q! pour sortir de vim' sauf que ça ne fait rien que je le fais
Je dois faire 'shift + q' pour pouvoir accéder a un micro terminal et faire q!
Je comprends pas tout là...
:q!
(qui ferme sans sauver ni confirmation d'ailleurs, donc attention. Pour sauver et quitter c'est :wq, et pour quitter avec confirmation c'est :q )
Ah ok!
Je connaissais leurs utilités mais j'avais pas compris qu'il fallait mettre les ":" avant ça!
Merci Caletlog ![]()
(J'ai bien désactiver les flèches comme tu me l'avais conseillé)
Voilà, c'est surtout une histoire de motivation et de temps.
Tout le monde n'a pas forcément le temps, l'envie ou les moyens de se consacrer à l'apprentissage de Vim ou Emacs, et c'est tout à fait compréhensible. Mais une fois que c'est fait, les avantages et gains en productivité sur des environnements classiques et avec souris sont indéniables.