Journal GNU/Emacs est-il ésotérique ?

Posté par  .
Étiquettes : aucune
0
15
sept.
2005
Les débuts ne sont pas toujours faciles avec emacs...

J'ai voulu expliciter au maximum mes questions et mes recherches ; si vous ne souhaitez pas tout lire, ma question principale se trouve à la fin.

Je commence tout juste à utiliser emacs et je dois avouer que ça n'est pas facile facile, malgré ma bonne volonté. Ceci dit, j'ai vraiment envie d'utiliser ce fabuleux programme, intelligent et surtout extrêmement utile. Question subsidiaire : un troll s'est subrepticement glissé dans la phrase précédente : saurez vous le démasquer ?

Venons-en au problème : je suis sur Ubuntu, j'installe donc emacs avec toutes les librairies qui-vont-bien (tm). Problème : comment avoir un bon début de .emacs puissant et simple, comme la plupart des fichiers de configuration qui sont livrés avec les autres logiciels ?
Il n'y a en effet aucun exemple livré par la distribution : j'ai donc recherché dans les sites suivants :
- http://www.dotemacs.de/(...)
- http://dotfiles.com/(...)
- http://www.emacswiki.org/(...)
Aucun des fichiers proposés n'a valeur de bonne base pour la personnalisation. Ils sont tous très pointus, et susceptibles d'être incompris par un utilisateur débutant ; de plus, ils provoquent un grand nombre d'erreur, du fait de librairie(s) manquante(s), ... Voici donc ma question : connaissez-vous un bon début de fichier .emacs, ou pouvez-vous proposer le votre s'il vous semble le plus approprié, ou si celui fourni par votre distribution vous semble suffisant ?

De manière plus générale : pouvez-vous nous faire part de votre expérience quant à la programmation sous Emacs (il existe déjà un tutorial : http://www.geocities.com/SiliconValley/Horizon/8726/emacs-tut2.html(...) , mais il ne parle pas du .emacs) ; et plus précisément celle concernant l'utilisation de php et html (vous avez du entendre parler de http://www.emacswiki.org/cgi-bin/emacs-fr/HtmlModeDeluxe(...) ). Les modes que j'ai utilisés ont quelques problèmes quant à l'indentation (html + css + php) et sont très lents (le mmm en tout cas) : comment faîtes-vous ? Quel(s) type(s) d'indentation utilisez-vous ?

Je ne suis pas tout à fait convaincu par les arguments contre les tabs : est-ce seulement une question d'affichage ?

En fait j'ai l'impression (après avoir épluché les 10 premières pages de résultat de recherche linuxfr sur emacs) que sans un .emacs qui tienne la route, il est impossible d'utiliser correctement emacs : pas de coloration syntaxique automatique, pas d'indentation claire, pas de reconnaissance de langage,.. Autant ce fichier de configuration permet de personnaliser au maximum le programme en rajoutant des commandes spécifiques, ... ; autant il est impossible d'utiliser correctement emacs sans un fichier minimum qui gère un certain nombre d'options indispensables

Utilisez-vous emacs ou xemacs ?

Si un modérateur passe par là : un forum consacré à (x)emacs ne serait pas inutile.

J'avais d'abord pensé à poster dans le forum, mais la question me semble être assez générale, et surtout, intéresser tous ceux qui se posent les mêmes questions : cela justifie à mon sens sa place dans les journaux.

Par conséquent : pouvez-vous :
- nous faire part de votre expérience,
- partager votre fichier.emacs,
- expliquer de quelle manière vous utilisez emacs pour programmer en php + html ?


Je vous remercie de votre attention.
  • # Un forum consacré aux éditeurs...

    Posté par  . Évalué à 8.

    ... en général. Histoire d'éviter une guerre de religions vim/emacs/nedit/etc. (quoique les trolls pourraient investir aussi cet éventuel forum dédié aux éditeurs :) ). Tu imagines la réaction des pro-vi ? Tout le monde voudrait un forum consacré à son propre éditeur...

    Plus sérieusement, l'idée d'un forum consacré aux éditeurs n'est peut-etre pas mauvaise...
    • [^] # Re: Un forum consacré aux éditeurs...

      Posté par  . Évalué à 6.

      Oui tu as raison. Heureusement que tu t'es arrêté à Vim/Emacs [1] ; cependant ces deux-là sont ceux qui nécessiterait peut-être - c'est juste une proposition - un forum distinct, quitte à en faire un troisième pour les autres (encore que ça m'étonnerait qu'il y ait beaucoup de personnes qui parlent de gedit et autres kate...).

      [1] : http://www.linux-center.org/fr/applications/editors/(...) et http://www.framasoft.net/rubrique157.html(...)
      • [^] # Re: Un forum consacré aux éditeurs...

        Posté par  . Évalué à 3.

        J'allais dire :
        "Ne parler que de VI et Emacs parce que ce sont les plus utilisés, ne risque pas d'inciter le nouveaux venus à utiliser d'autres éditeurs de textes. Même si ils leur conviendraient mieux (par exemple parce-que plus simple)"
        Mais finalement je me dis que ça va virer au troll tout ça.

        Disons les choses autrement.
        J'ai personnellement 3 utilisations différentes (il y en a peut-être plus) des éditeurs :
        - l'administration -- vi car en mode texte c'est celui que je préfère.
        - le développement --1 IDE qui intègre bien le language (BOA pour le python, eclypse pour le java)
        - le scripting -- un éditeur simple (nedit en gal) pour faire des petits script/css/HTML pour le fun.

        Je verais plutôt des forums dédiés aux différentes utilisations des éditeurs plutôt que des forums dédiés aux différents éditeurs.
        • [^] # Re: Un forum consacré aux éditeurs...

          Posté par  . Évalué à 2.

          C'est une bonne idée un forum par utilisation. Par exemple vim-python, vim-perl, vim-scripts.

          Pour ma part, personnellement je trouve moi-même que c'est quand même beaucoup plus efficace d'utiliser un seul et même éditeur que l'on maitrise bien plutôt que de devoir changer sans arrêt. Surtout avec des éditeurs farcis de raccourcis claviers...
          Par ex j'ai essayé un temps d'utiliser emacs pour programmer et vi pour l'admin, mais je me retrouvai régulièrement avec des

          File "t.py", line 2
          :wq
          ^
          SyntaxError: invalid syntax
    • [^] # Re: Un forum consacré aux éditeurs...

      Posté par  . Évalué à 1.

      > Tout le monde voudrait un forum consacré à son propre éditeur...

      [OUI] à un forum : $wine notepad.exe

      -------------------->[]
      • [^] # Re: Un forum consacré aux éditeurs...

        Posté par  . Évalué à 0.

      • [^] # Re: Un forum consacré aux éditeurs...

        Posté par  . Évalué à 3.

        mdr, j'allais faire la même :)

        bon, du coup je vais me rabattre là dessus :

        j'ai vraiment envie d'utiliser ce fabuleux programme, intelligent et surtout extrêmement utile. Question subsidiaire : un troll s'est subrepticement glissé dans la phrase précédente : saurez vous le démasquer ?


        -> le troll c'est la partie : "j'ai vraiment envie", alors qu'il faudrait dire "j'ai vraiment besoin" ;)

        bon, moi aussi je commence sous emacs, pour essayer de composer en LaTeX (le gars courageux, apprendre à la fois ces deux horreurs systèmes très pointus).
        Je n'ai pas encore migré mon profil emacs sous mac os x, mais dès que je rebascule sous linux, je poste le tout petit profile que j'ai, pour le moment il me convient bien.

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

        • [^] # Re: Un forum consacré aux éditeurs...

          Posté par  . Évalué à 3.

          le voici : (rien de spécial, mais il y a la molette de la souris et la colorisation syntaxique)


          (require 'tex-site)
          (setq TeX-auto-save t)
          (setq TeX-parse-self t)
          (setq-default TeX-master nil)

          (mouse-wheel-mode 1)

          (custom-set-variables
          ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
          ;; Your init file should contain only one such instance.
          '(case-fold-search t)
          '(current-language-environment "Latin-9")
          '(default-input-method "latin-9-prefix")
          '(global-font-lock-mode t nil (font-lock)))
          (custom-set-faces
          ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
          ;; Your init file should contain only one such instance.
          )

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # Je galère aussi

    Posté par  . Évalué à 1.

    Tout à fait d'accord.
    je débute aussi avec Xemacs et c'est tout simplement inutilisable tel quel.
    Pleins d'options qui devraient être activés mais qui ne le sont pas par défaut.

    Bon ok je viens du monde Windows et j'ai donc une vision déformée de la bonne façon dont devrait fonctionner un éditeur, mais bon il serait appréciable d'avoir un .emacs permettant de simuler le comportement des éditeurs standards sous Windows.

    Rien que les raccourcis pour le copier-coller, ça m'a vite saoûlé.

    Pour info j'en commence un (du gros bricolage) et je compte bien le propager dès que je l'aurai un tant soi peu validé.

    Pour le moment j'en suis à trouver une méthode pour les recherches/remplace dans le texte. Comment avoir une belle boîte comme pour Nedit ? J'ai récupéré un vieux truc tout moche (déjà mieux que rien) mais c'est pas terrible.
    (et oui je préfère avoir une boîte pop-up pour cette action).

    Cela dit (X)emacs, c'est vraiment _génial_, vraiment.
    Je suis réellement abassourdi des fois par ses capacités, c'est dommage il ne lui manque pas grand chose pour devenir une application quasi-parfaite.
    Par exemple, ne serait-ce que pour faire de la programmation en C, il lui manque un bon environnement de développement intégré (j'essaye en ce moment EDE et ECB et c'est plutôt moyen je trouve).

    Et OUI j'ai essayé vi(m), et NON je n'arrive pas à accrocher. Qui me fait une Analyse en Composantes Principales (ACP) pour me déterminer quels sont les facteurs physiques/sociologiques/psychologiques rattachés aux utilisateurs respectifs de (X)emacs/vi(m) ? ;-)
    • [^] # Re: Je galère aussi

      Posté par  . Évalué à 3.

      Intéressant, quel éditeur Windows utilises tu ?

      Un bon .emacs de base, çà aide

      Sinon, de tête,

      ctrl -s : seach
      ctrl -r : reverse search
      Esc-x % : rechercher remplacer (y ou n pour remplacer un par un, ! pour remplacer toutes les occurences)

      EB
    • [^] # Re: Je galère aussi

      Posté par  (site web personnel) . Évalué à 0.

      Rien que les raccourcis pour le copier-coller, ça m'a vite saoûlé.

      Mauvaise habitude, changer habitude...

      Tu aurais connu emacs avant, le copier/coller sous windows t'aurait saoulé aussi :

      M-w pour copier
      C-y pour coller et une fois que tu en est là A-y pour naviguer dans ce que tu as déjà copié / collé.

      C'est peut-être juste que Windows donne trop de mauvaises habitudes : il apprend à être assisté et croire que tout les logiciels fonctionnent pareils.
      • [^] # Re: Je galère aussi

        Posté par  . Évalué à 10.

        Je proteste, mollement.
        Les commandes d'emacs sont anarchiques et non intuitives de quelque point de vue que l'on puisse adopter.
        La standardisation a du bon, n'est on pas d'accord ? W3c en exemple.
        Donc que ouinouin ait donné de mauvaises habitudes, c'est chargé la barque gatesienne à tort. D'ailleurs, le schéma le plus en vogue
        ctrl-{C,X,V} est issu de chez Apple. Beaucoup de gens remercient ces deux firmes pour cette constance.
        Ensuite si tu veux dépasser le moutonnage inoffensif, voire bénéfique (voir paragraphe précédent), je ne connais aucune solution immédiatement intuitive pour tout béotien. Par contre, une fois avalée la couleuvre des modes dans la famille des vi, tu peux apprécier les efforts d'orthogonalité et de possibilité de mémorisation plus aisée (voire "logique" pour ceux que l'utilisation de cet adjectif à tort et à travers ne dérange pas) même si, j'en suis fort marri, ce n'est pas la panacée.
        Avec a pour append, b pour before, c pour change, d pour delete, e pour end ... :q pour quit, :w pour write, y pour yank, p pour put ... il y a un mieux par rapport à ctrlX-ctrlC pour sortir, ctrl-W pour couper & co de ce monument aux nombreux thuriféraires dédaigneux qu'est emacs. Que des gens y trouvent leur bonheur, grand bien leur (et nous) fasse ! Mais de là à gifler au nom de l'ouverture d'esprit, c'est antipédagogique, pour le moins.

        Désolé d'avoir mis les pieds dedans.

        PS: Escape-Meta-Alt-Control-Shift le bien nommé a aidé bon nombre de libristes et été écrit par le premier libriste, merci à eux donc merci à "lui". Ça n'empêche qu'il est jerusal^Wlisie^Wlourd. Coin !
        • [^] # Re: Je galère aussi

          Posté par  (site web personnel) . Évalué à 4.

          Il ne t'est jamais venu à l'esprit que emacs était plus ancien que tout ce que tu cites ?

          Ensuite, moi je fonctionne surtout à coup de ctl-k et ctl-y, le killing ring et l'autocomplétion voila 2 trucs génial. Si tu veux un vrai copier-coller tu utilises la sélection et le clic central de souris, cela marche tout le temps.

          Pour les trucs complexes, tu utilises la selection rectangulaire ctl-x-r-t ctl-x-r-k etc...

          "La première sécurité est la liberté"

          • [^] # Re: Je galère aussi

            Posté par  . Évalué à 1.

            Il ne t'est jamais venu à l'esprit que emacs était plus ancien que tout ce que tu cites ?

            D'ailleurs, il n'a pas été conçu sur un PC. L'histoire d'Emacs a commencé sur un PDP-10 en 1976. J'ai entendu parler aussi d'un clavier très spéciale sur une machine Lisp.
            Donc bien avant Microsoft et Macos!
          • [^] # Re: Je galère aussi

            Posté par  . Évalué à 1.

            Effectivement, mais rien ne l'empêche d'évoluer ou tout du moins de proposer deux configurations (puisqu'il est ce me semble extrémement configurable) : une à l'ancienne et une un peu plus en accord avec les standards de fait que l'on a actuellement sous Windows et MacOS.
        • [^] # Re: Je galère aussi

          Posté par  . Évalué à 0.

          Eh bien, tu vas rire, tu peux tout configurer comme tu veux.
          C'est fort çà non ! Les touches fonction idem.
          Créer de macros de dingue.

          Si, comme une de mes connaissances, tu n'as besoin que de couper/copier/coller
          rechercher/remplacer
          indenter/coloriser
          sauvegarder

          Ca prends 1 minute à paramétrer, et l'utilisateur est content. Alors l'argument, c'est pas intuitif ...
          vi pour l'ex windowsien, c'est pas cool, parce que c'est WYTINWYG.
          What You Type Is Not What You Get.

          EB
      • [^] # Re: Je galère aussi

        Posté par  . Évalué à 7.


        C'est peut-être juste que Windows donne trop de mauvaises habitudes : il apprend à être assisté et croire que tout les logiciels fonctionnent pareils.

        Je te trouve bien de mauvaise foi ! Non, ce n'est pas trop demander que d'avoir nos logiciels qui fonctionnent tous pareil, c'est un point fort pour une plateforme que de présenter un ensemble d'interfaces uniformes et cohérentes. Et d'un point de vue interface homme-machine, il faut reconnaitre que emacs est une horreur ! L'organisation des menus est...spéciale, les raccourcis clavier peu habituels (ok ils étaient peut-être courants il y a 30 ans), etc.
        Perso quand je suis chez moi (j'utilise gnome) toutes mes applis ont leur paramétrage sous Edition...Préférences. Au boulot (win2k), elles sont toutes dans Outils...Options. Comme ça pendant que je bosse je réfléchis pas sans arrêt à ce que je dois faire pour obtenir le même résultat d'un programme à l'autre.
        Contre-exemple : le raccourci CTRL-S :
        - sous une application "normale" (OpenOffice.org, Eclipse) =>sauve le fichier en cours
        - sous emacs (merci pour l'exemple au fait) =>chercher
        - sous Lotus Notes version française (hé oui y'a des gens qu'on pas de bol dans la vie mon bon monsieur) => souligne du texte
        Du coup si je veux vraiment sauvegarder tout ce que j'ai d'ouvert dans les 3 applis, je fais 1 CTRL-S, 1 chaispasquoi pour emacs, et 1 CTRL-E pour Notes. Intuitif et pratique.

        Eh ben traitez-moi de tous les noms, de rétrograde, de ouinedozien ou d'anti-geek si vous voulez, mais je trouve ça minable. Ca me rappelle un pamphlet contre les interfaces VB bricolées maison, où l'auteur faisait l'analogie avec une maison (sonnette qui ne marche que si on double-clique dessus, porte qui s'ouvre à l'envers etc.)

        Enfin cela dit je suis pas contre emacs, c'est certainement un bon produit (que j'ai jamais réussi à utiliser, mais ça vient de moi). On sent juste que la préoccupation principale de ses contributeurs, ce n'est pas l'ergonomie...
        • [^] # Re: Je galère aussi

          Posté par  . Évalué à 10.

          Non, ce n'est pas trop demander que d'avoir nos logiciels qui fonctionnent tous pareil


          Bah ! Il suffit de n'utiliser qu'emacs.
        • [^] # Re: Je galère aussi

          Posté par  . Évalué à 6.

          et encore, si yavait que ca...
          mais les raccourcis qui changent selon les applis et qui tombent sur un raccourci existant.

          genre, a tout hasard, couper sous emacs (ctrl w).
          Sachant que j'ai repris les raccourcis emacs pour eclipse au taff (vieilles habitudes, le ctrl s incremental est salutaire je trouve, ainsi que le ctrl ae et d'autres du meme acabit).
          Bref, en gros, ctrl w c'est couper sous emacs, fermer l'onglet sous la suite mozilla.

          et la paf!! on ecrit une reponse sur un forum ou un mail dans son webmail favori.
          On edite le message, apres une dure journee au taff a coder, bah les reflexes sont acquis, on veut couper et BIIIM!!!
          a pu onglet, le long message qu'on a mit 30 minutes a rediger n'existe plus.
        • [^] # Re: Je galère aussi

          Posté par  (site web personnel) . Évalué à 2.

          - sous une application "normale" (OpenOffice.org, Eclipse) =>sauve le fichier en cours
          - sous emacs (merci pour l'exemple au fait) =>chercher
          - sous Lotus Notes version française => souligne du texte

          et plus fort sous GNOME:
          - Ctrl+S sous Gedit sauve le fichier
          - Ctrl+S dans Nautilus affiche une boite de dialogue où entrer un motif de sélection pour la fenêtre en cours (genre naruto*.avi) => pratique avant un drag'n'drop, mais casse un peu la logique du Ctrl+S, même si là c'est Select et pas Save
      • [^] # Re: Je galère aussi

        Posté par  . Évalué à 4.

        ouais, enfin emacs c'est quand meme le seul soft que je connais ou le copier / coller ne se fait pas par le traditionnel ctrl c/v/x

        autant le alt w est pas mal (ca tombe bien sous les doigts, pas trop de mouvements a faire et encore, sur un azerty, sur un qwerty ca doti pas etre la meme), autant le ctrl y, c'est une heresie ce truc, obliger d'ecarter les doigts au max et en cas de coller massifs, c'est pas franchement agreable.

        bref, les raccourcis tordus d'emacs c'est pas trop son point fort.
        • [^] # Re: Je galère aussi

          Posté par  (site web personnel) . Évalué à 3.

          ouais, enfin emacs c'est quand meme le seul soft que je connais ou le copier / coller ne se fait pas par le traditionnel ctrl c/v/x

          Ah... et Vi/Vim alors (qui comme dit plus haut et nettement plus logique qu'Emacs) ?

          (évidemment, ce commentaire n'a pas d'intéret, mais comme ce fil de discussion a du mal a partir en troll vi/emacs, je me sacrifie ;)
          • [^] # Re: Je galère aussi

            Posté par  . Évalué à 2.

            vi?
            connais pas, c'est quoi?
            :))

            nan, serieux, effectivement, mais vu que je fais tres peu de copier/coller avec vi, ca m'a pas interpelle.
        • [^] # Re: Je galère aussi

          Posté par  (site web personnel) . Évalué à 2.

          ouais, enfin emacs c'est quand meme le seul soft que je connais ou le copier / coller ne se fait pas par le traditionnel ctrl c/v/x


          Et sous Mac, ou c'est Pomme-c/v/x...

          Et sous X, c'est sélection/clic-milieu..

          Mais en fait, il y avait eu un vrai standard sur le sujet (poussé par IBM), qui définissait Shift-Ins/Ctrol-Ins/Shift-Suppr pour les copier/coller. Et ça, ça marche sous windows (normalement) et sous Emacs et quelques autres environnements. Mais évidemment, sous Windows, le standard de fait est devenu Ctrl-x/v/c.

          seb.
        • [^] # Re: Je galère aussi

          Posté par  (site web personnel) . Évalué à 3.

          essaye de faire des ctrl-C dans ton terminal! Eh oui, bash aussi il utilise les ctrl-K , ctrl-Y (et les autres raccourcis de base de emacs , genre ctrl-A, ctrl-E etc). Et aussi tous les softs en ligne de commande qui utilisent la libreadline.
          • [^] # Re: Je galère aussi

            Posté par  . Évalué à 0.

            Il y a encore des utilisateurs de bash?
            Je croyais pourtant être le dernier à avoir choisis zsh
          • [^] # Re: Je galère aussi

            Posté par  (site web personnel) . Évalué à 3.

            set -o vi
            et hop, ton shell bascule en mode vi (mode insertion par défaut)
            ensuite, a, A, i, I, 0, $, hjkl...les déplacements/copier/coller se font à la vi...
  • # php + html ?

    Posté par  (site web personnel) . Évalué à 6.

    Je ne pense pas que emacs soit la meilleure solution.
    Que penses-tu de bluefish ? http://bluefish.openoffice.nl/(...)

    Emacs est sans aucun doute un très bon outils pour la programmation, mais trouve tout son intérêt dans des languages fonctionnant en console, ou du moins pas à travers un naviguateur tel le html ou le php.
    Ce n'est que mon avis...
    • [^] # Re: php + html ?

      Posté par  . Évalué à 3.

      Je code php + html avec emacs et j'en suis ravi.

      Le confort apporté par les (fameux) raccourcis claviers et l'infaillibilité et la qualité de l'indentation d'emacs sont tout ce qu'il me faut.

      Tu sélectionne tout une partie du code, puis tu fais :

      Shift + Meta + X
      indent-region

      et hop ! tout le passage est indenté correctement.

      A noter que sous Mandriva il y a un paquet modephp pour emacs.

      Sinon j'ai glané de ci de là sur des sites des infos pour mon .emacs, en particulier la directive qui permet de stocker tous les fichiers ~ (i.e. de sauvegarde) d'emacs dans un seul et unique répertoire :

      (setq backup-directory-alist
      '(("." . "~/.emacs-backup-files/")))

      C'est propre et net.
      • [^] # Re: php + html ?

        Posté par  . Évalué à 2.

        Pourtant au niveau de l'indentation automatique, chez moi ça ne marche pas très bien.

        En php-mode, il met le bazar dans mes tags html. Comment faire, autrement qu'en sélectionnant à la main les régions intéressées, pour indenter tous le fichier, en prenant en compte : d'une part la partie php, d'autre part la partie html.
        En multi-mode, l'indentation ne marche pas très bien aussi.

        Pour te montrer un exemple d'erreur assez énervant :
        $table_user=array(
        ____________________array('', '')
        ____________________);
        ____________________$table_liens=array(
        ________________________________________array()
        ________________________________________);

        Solution auto-trouvée sur le moment : c'est en fait mon style de programmation qui est en cause. En faisant comme cela, ça marche :
        $table_user=array(
        ____________________array('',''));
        $table_liens=array(
        ____________________array());

        Au passage : quelle balise faut-il utliser sur linuxfr pour taper du code ? La balise [code] ne fonctionne pas, et aucune n'est spécifiée dans les conseil en bas.

        Auriez-vous des liens qui expliquent les bonnes manières de la programmation, qui expliquent par exemple pourquoi ne pas utiliser les tabs... ? En peu à la manière du Python qui favorise - de manière coercitive - un bon style de programmation (indentation obligatoire...).
      • [^] # Re: php + html ?

        Posté par  . Évalué à 2.

        J'ai oublié de te demander : tu utilises quoi comme mode (le php-mode seul ? Ou le multimode ?) ? Peux-tu me passer ton .emacs ?
        • [^] # Re: php + html ?

          Posté par  . Évalué à 2.

          Je n'utilise que modephp seul, et pour cause, tout mon html est inclu dans mon code php (certains crieront au scandale, mais qu'importe...).

          $output = "\n";
          $output .= "\n";

          etc. ...

          echo $output;
          • [^] # Re: php + html ?

            Posté par  . Évalué à 2.

            En effet j'avais pensé à cette solution.

            Mais pourquoi certains se sentiront obligés de crier au scandale ? Parce que il n'y aurait aucune indentation dans le code source de ta page ? Parce ton fichier .php est illisible ?
            • [^] # Re: php + html ?

              Posté par  . Évalué à 2.

              Parce que certains diront que l'interpréteur php n'est là que pour traiter des instructions php et non du simple 'echo'.

              Mais dans mon cas tout est fonction ou procédure et c'est bien pratique d'avoir le html intégré dans le code php.

              Exemple purement théorique :

              top ();

              fonctionquituetout ();

              bottom ();

              C'est du reste l'approche du fameux livre de chez O'Reilly "Pratique de PHP et MySQL" par Philippe Rigaux.
    • [^] # Re: php + html ?

      Posté par  . Évalué à 2.

      J'aime beaucoup Bluefish ainsi que Quanta (qui me semble plus au point quant à la coloration syntaxique mélangeant php et html).

      Je souhaite utiliser emacs, parce que :
      - il est conseillé par tous le monde
      - ses raccourcis clavier sont quand même bien utiles
      - il se trouve que je programme aujourd'hui en php, mais m'y habituer dès maintenant me permettra de l'avoir déjà bien en main quand je programmerai en Python.
      - j'en ai marre de Vim pour modifier mes fichiers de configuration
    • [^] # Re: php + html ?

      Posté par  . Évalué à 1.

      Pour ma part, c'est Eclipse+PHPEclipse, avec un soupçon de quantumDB. Moderne, intuitif et très complet (la version de PHPEclipse pour Eclipse 3.1 me signale même les bouts de code non atteints, les variables non initialisées, etc. Je n'en attendais pas tant!)
  • # tabs et religion

    Posté par  (site web personnel) . Évalué à 2.

    Je ne suis pas tout à fait convaincu par les arguments contre les tabs : est-ce seulement une question d'affichage ?


    Toujours pareil, il ne faut pas confondre tabulation et indentation. Le caractère tabulation est utilisé pour faire des tables, avec des écartements fixes. Et un caractère tabulation DOIT être représenté sur 8 espaces.

    Le goût de chacun sur l'indentation, après, c'est une autre histoire, que ce soit 2, 4 ou 8 espaces. Utiliser la touche Tab, c'est une facilité. Utiliser le caractère Tab, c'est de l'abus. Un bon éditeur sait passer outre le nombre d'espaces utiliser. Avec Emacs et les modes majeurs, il n'est d'ailleurs quasiment jamais nécessaire d'utiliser la touche Tab, car l'indentation se fait automatiquement. Et quand on veut revenir une ligne plus haut, il sait supprimer tous les espaces autres.

    Pour le reste, Emacs demande pas mal d'intégration en général, malheureusement. Par contre, il sait aussi généralement avoir l'essentiel des features que peuvent avoir d'autres éditeurs et plus. (le module du jour à voir est msf-abbrev, avec démo animée).

    seb.
    • [^] # Re: tabs et religion

      Posté par  . Évalué à 3.

      Je ne suis absolument pas d'accord. Pour faire des tables à écartement fixe, on utilise des espaces en quantité nécessaire et suffisante. Utiliser le caractère tab pour ça, c'est faire figure de dinosaure incapable de compresser efficacement un fichier texte.

      Et le caractère tab pour indenter, c'est vraiment la solution la plus pratique sur un projet où certains veulent voir une indentation équivalente à 2 caractères, d'autres la veulent à 4 ou 8.

      • [^] # Re: tabs et religion

        Posté par  (site web personnel) . Évalué à 1.

        Pourquoi utiliser des espaces quand le caractère de tabulation offre le fonctionnement adéquat pour faire des tables? C'est d'ailleurs pour cet usage qu'on l'a nommé ainsi. Par ailleurs, l'indentation, c'est juste mettre un début de ligne sur une colonne, donc on pourrait aussi remplacer à cet endroit par des espaces, non?

        (mais bon, déjà, faire des tables en texte/ascii, c'est suffisement être dinosaure en soit)

        Pour le reste, http://www.jwz.org/doc/tabs-vs-spaces.html(...) résume suffisement la situation.

        Mon problème essentiel avec le caractère tabulation, c'est qu'en dehors de l'éditeur, il est représenté par 8 caractères, cf less, cat... Donc régulièrement, avec du code indenté par le caractère tab, on se retrouve avec n'importe quoi en affichage, par exemple sur un cvs diff...

        Et le vrai problème ensuite, ce sont les gens/outils qui mélangent tab et espaces (par exemple indentation de 4, tab de 8 et mettre une tab pour chaque 2 niveaux d'indentation).

        Pour ce qui est des projets, de toutes les manières, il faut adopter des normes et que tout le monde les suivent pour un même projet. Sinon, on a aussi le même problème pour le placement des accolades, des parenthèses, les espaces autour des opérateurs, le nommage des variables, etc...

        seb.
    • [^] # Re: tabs et religion

      Posté par  . Évalué à 0.

      Si la taille de l'indentation n'est qu'une question de goût, quel avantage peut-il bien y avoir à fixer la taille de la tabulation à 8 si la taille de l'indentation n'est qu'une question de goût ??

      Alors au lieu d'avoir 'une tabulation = une indentation' pour que chacun ouvre un document selon la présentation qu'il préfère, on en arrive à l'aberration suivante : mélanger tabulations et espaces lorsque l'indentation n'est pas un multiple de 8.
    • [^] # Re: tabs et religion

      Posté par  (site web personnel) . Évalué à 1.

      Moi, je préfère utiliser les tabulations pour indenter ... et pour plusieurs raisons:
      - KWrite m'affiche une petit point a l'endroit de la tabulation ... je peux ainsi visualiser facilement les colonnes
      - J'utilise intensément les flèches gauche/droite et je m'attend a ce qu'elles sautent d'indentation en indentation.
      - Dans tout bon editeur de texte, on peut choisir la taille de la tabulation ... donc les gens qui préfère un 2/4/8 caractères peuvent le changer

      POar contre, c'est vrai qu'il y a des inconvénients ... notament le fait que la tabulation fasse 8 colonnes en standard.
      Et c'est dailleurs pour cette raison que j'indente avec une tabulation de 8 colonnes.
  • # Ca prend du temps

    Posté par  . Évalué à 4.

    A mon avis, pour se sentir bien avec emacs, ça prend un peu de temps, et se ruer sur le lisp pour faire son .emacs, c'est peut être pas le plus facile pour commencer.

    Juste pour savoir, est-ce que tu as lu/fait le tutorial ? (qui se trouve soit dans le menu Help, soit avec la combinaison de touches C-h t) ca m'a bien aidé à lacher la souris plus rapidement quand j'utilise emacs.

    Perso, j'ai presque rien dans mon .emacs. Des trucs tout con qui peuvent servir:

    ;; coloration syntaxique
    (global-font-lock-mode)(setq font-lock-maximum-decoration t)

    ;; permet d'ouvrir les gz a la volee
    (auto-compression-mode t)

    ;;molette
    (mouse-wheel-mode t)

    Et c'est quasiment tout (le reste c'est pour charger des bibliothèques de mode pour certains langages).
    • [^] # Re: Ca prend du temps

      Posté par  (site web personnel) . Évalué à 5.

      Quelques petites bricoles simples qui peuvent aussi être utiles :

      ; ----------------------------------------------------------------------
      ; surlignage d'une région sélectionnée
      (transient-mark-mode t)

      ; ----------------------------------------------------------------------
      ; surlignage du "matching" de parenthèses
      (show-paren-mode 1)

      ; ----------------------------------------------------------------------
      ; suppression du message de départ
      (setq inhibit-startup-message t)

      ; ----------------------------------------------------------------------
      ; suppression barre d'outils
      (tool-bar-mode 0)

      ; ----------------------------------------------------------------------
      ; affichage de l'heure
      (setq display-time-24hr-format t)
      (setq display-time-day-and-date t)
      (setq display-time-use-mail-icon t)
      (display-time-mode t)

      ; ----------------------------------------------------------------------
      ; affichage du nombre de colonnes
      (column-number-mode t)

      ; ----------------------------------------------------------------------
      ; Mettre un titre aux fenêtres
      (setq frame-title-format '(buffer-file-name "Emacs: %b (%f)" "Emacs: %b"))

      ; ----------------------------------------------------------------------
      ; aspell pour orthographe
      (setq ispell-program-name "aspell")
      (ispell-change-dictionary "default")

      ; ----------------------------------------------------------------------
      ; Affichage des images et fichiers compressés
      (setq auto-image-file-mode t)
      (setq auto-compression-mode t)


      Et puis il y a tout ce qui concerne l'encodage et les polices, du type :


      ; ----------------------------------------------------------------------
      ; fonte d'affichage par défaut
      ; astuce : pour récupérer la chaîne de définition de la fonte,
      ; évaluer (insert (prin1-to-string (w32-select-font)))
      ; ou (insert (prin1-to-string (w32-select-font)))
      (set-default-font "-bitstream-bitstream vera sans mono-medium-r-*-*-*-80-*-*-*-*-iso8859-15")
      (setq default-frame-alist
      '((font . "-bitstream-bitstream vera sans mono-medium-r-*-*-*-80-*-*-*-*-iso8859-15")))

      ; ----------------------------------------------------------------------
      ; encodage
      (set-language-environment "Latin-9") ; pour affichage des caractères spéciaux
      (setq selection-coding-system 'compound-text-with-extensions)
      (set-keyboard-coding-system 'iso-8859-15)
      (set-terminal-coding-system 'iso-8859-15)
      ; code ascii en décimal pour C-q
      (setq read-quoted-char-radix 10)




      C'est vrai que l'apprentissage d'Emacs prend du temps, et qu'il faut en avoir envie pour s'accrocher. Mais franchement, ça vaut le coup, c'est un investissement à long terme. Il y a des modes d'édition qui sont absolument géniaux, comme le mode pour XML nxml-mode, qui renvoit tous les XML Spy et autres loin derrières.
    • [^] # Re: Ca prend du temps

      Posté par  . Évalué à 1.

      Oui, j'ai fait le tutorial, que j'ai trouvé très bien fait et très clair pour quelqu'un n'ayant jamais utilisé emacs.
      Pour la molette, j'ai trouvé ça dans mon .emacs :


      ; wheel
      (defun up-slightly () (interactive) (scroll-up 5))
      (defun down-slightly () (interactive) (scroll-down 5))
      (global-set-key [mouse-4] 'down-slightly)
      (global-set-key [mouse-5] 'up-slightly)

      (defun up-one () (interactive) (scroll-up 1))
      (defun down-one () (interactive) (scroll-down 1))
      (global-set-key [S-mouse-4] 'down-one)
      (global-set-key [S-mouse-5] 'up-one)

      (defun up-a-lot () (interactive) (scroll-up))
      (defun down-a-lot () (interactive) (scroll-down))
      (global-set-key [C-mouse-4] 'down-a-lot)
      (global-set-key [C-mouse-5] 'up-a-lot)
  • # Mon fichier de conf

    Posté par  . Évalué à 6.

    voici mon fichier de configuration emacs.
    Pour completer ce que vous tappez dans emacs: alt+/ (soit shift+alt+:)
    certain fichiers (std.el std_comment.el ido.el) qui sont mis en commentaire rajoute des fonctions assez sympa notamment ido.el. Vous les trouverez dans ma conf sur mon site, il faut les mettres dans: /usr/share/emacs/site-lisp
    cette conf marche aussi sur windows.

    De plus une page du wiki est consacré a emacs : http://www.ctaf.free.fr/dokuwiki/doku.php?id=programmation(...)
    Les ;; sont des commentaires. Je decommente certaines sections selon mes besoins.

    en esperant que se soit utile :-)
    ;;
    ;; .emacs for env in std_env
    ;;
    ;; Made by CTAF
    ;; Login <@epita.fr>
    ;;
    ;; Started on Sat Oct 16 12:48:04 1993 CTAF
    ;;

    ;;(load "std.el")
    ;;(load "std_comment.el")

    ;;ocaml,caml => tuareg-mode
    ;;lisp => ilisp
    ;;
    ;; load our
    ;;
    ;;(if (file-exists-p "~/.myemacs")
    ;; (load-file "~/.myemacs"))

    ;;ilisp mode;;;;;;;;;;;;;;;;;;;;;;;
    ;; (if (file-exists-p "~/ilisp")
    ;; (progn
    ;; (setq load-path (cons "~/ilisp" load-path))
    ;; ;;support extension file
    ;; (set-default 'auto-mode-alist
    ;; (append '(("\\.lisp$" . lisp-mode)
    ;; ("\\.lsp$" . lisp-mode)
    ;; ("\\.cl$" . lisp-mode))
    ;; auto-mode-alist))
    ;; ;;C-c evalue l'exprression sur laquel le pointeur se trouve
    ;; (setq lisp-mode-hook '(lambda () (require 'ilisp)
    ;; (local-set-key "\C-c" 'eval-defun-lisp)))
    ;; ;;pas de popup, scrollauto de la fenetre ilisp
    ;; (setq ilisp-mode-hook '(lambda ()
    ;; (setq lisp-no-popper t)
    ;; (setq comint-always-scroll t)))
    ;; (require 'ilisp)))
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    (standard-display-european 1)

    ;;scroll ac la souris
    (mouse-wheel-mode 1)

    ;;coloration syntaxique
    (global-font-lock-mode 1)

    ;;virage du menu qui sert a rien
    (menu-bar-mode 0)

    ;;virage de la toolbar qui sert a rien
    (tool-bar-mode 0)

    ;;affiche la colonne en cour
    (column-number-mode 1)
    (line-number-mode 1)

    ;;vire le bootsplash
    (setq inhibit-startup-message t)
    ;;(gnus-inhibit-startup-message t)

    ;; montre les lignes inutilises et les limites d'un buffer
    (setq-default indicate-empty-lines t)

    ;; s'assurer que les fichiers comportent des newline finaux
    ;; nil n'ajoute pas de newline
    ;; non-nil pose la question
    ;; t rajoute les newlines automatiquement
    (setq require-final-newline 1
    mode-require-final-newline 1)


    ;;supprimer les fichiers de conf en quittant
    ;;(setq make-backup-files nil)

    ;;fuck yes or no
    (fset 'yes-or-no-p 'y-or-n-p)
    ;;change le comportement de backspace
    ;;(normal-erase-is-backspace-mode 1)

    ;; Zlock handling for emacs
    (defun zlock ()
    (interactive)
    (shell-command "zlock -immed"))
    (global-set-key "\C-c\C-z" 'zlock)

    ;;changement de buffer ac ctrl+tab
    (global-set-key [(control tab)] 'other-window)


    (when (require 'ido nil t)
    (ido-mode t))


    ;;goto line= alt+l
    (global-set-key "\M-l" 'goto-line)

    ;;switch buffer
    (iswitchb-mode 1)

    ;;for ocaml
    (when (require 'tuareg nil t)
    nil
    )
    ;;find-file, ..
    ;;(ido-mode 1)

    (normal-erase-is-backspace-mode 1)

    ;; '(current-language-environment "Latin-1")
    ;; '(default-input-method "latin-1-prefix")

    ;;TEST FOR OS TYPE
    ;;(cond ((eq system-type 'darwin)
    ;; ()
    ;;))

    ;;test si on est en graphique
    (if window-system
    (setq default-frame-alist
    '((width . 80) (height . 30)
    (cursor-color . "yellow")
    (cursor-type . box)
    (foreground-color . "MediumPurple2")
    (background-color . "black")))

    )

    ;;list-colors-display to display all color
    ; Conversion des fins de lignes du format MS-DOS au format Unix
    (defun dos2unix ()
    (interactive)
    (goto-char (point-min))
    (while (search-forward "\r" nil t)
    (replace-match "")
    )
    )


    ; Conversion des fins de ligne du format Unix au format MS-DOS
    (defun unix2dos ()
    (interactive)
    (goto-char (point-min))
    (while (search-forward "\n" nil t)
    (replace-match "\r\n")
    )
    )


    (custom-set-faces
    ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
    ;; Your init file should contain only one such instance.
    '(default ((t (:background "black"
    :foreground "thistle3"
    :inverse-video nil
    :box nil
    :strike-through nil
    :overline nil
    :underline nil
    :slant normal
    :weight normal
    :height 125
    :width normal
    :family "misc-fixed")))))
    ;;(custom-set-faces
    ;; ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
    ;; ;; Your init file should contain only one such instance.
    ;; '(default ((t (:background "black"
    ;; :foreground "blue"
    ;; :inverse-video nil
    ;; :box nil
    ;; :strike-through nil
    ;; :overline nil
    ;; :underline nil
    ;; :slant normal
    ;; :weight normal
    ;; :height 125
    ;; :width normal
    ;; :family "misc-fixed")))))

    (custom-set-variables
    ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
    ;; Your init file should contain only one such instance.
    )
  • # Des fichiers point

    Posté par  . Évalué à 3.

    Tout plein de fichiers de conf. Et pas de jaloux, il y en a pour tous les éditeurs. Au passage, j'ai vu un french .emacs :

    http://www.dotfiles.com/(...)
  • # Juste un conseil

    Posté par  . Évalué à 2.

    Un grand nombre de paramêtres sont configurables via la commande M-x customize commence peut-être par là pour modifier les modes que tu comptes utiliser, (M-x customize-group pour aller dans un sous-menu directement) ensuite tu pourras toujours passer directement en lisp, mais fais attention de ne pas marcher sur les plates-bandes de customize (les paramêtres sont sauvés dans le .emacs donc c'est assez simple à vérifier)


    Sinon un truc pour les fainénants :

    ; Set y/n insead of yes/no
    (fset 'yes-or-no-p 'y-or-n-p)
  • # emacs

    Posté par  . Évalué à 1.

    J'ai vraiment commencé avec emacs il y a quelques mois, et je trouve ça vraiment génial, je n'utilise que ça pour coder (et vi pour éditer les fichiers de conf, car oui emacs c'est lourd, et j'ai pas envie de le lancer à chaque fois que je veux éditer un fichier de conf, par contre pour programmer je le laisse lancé). Ce que je fais pour la coloration syntaxique, c'est d'utiliser emacs en graphique et d'aller voir dans les menus à la souris puis de sauvegarder la conf.

    J'ai découvert xemacs il y a pas longtemps et j'ai beaucoup apprécié aussi, du fait qu'il ajoute des "onglets".

    Il m'est très agréable de pouvoir programmer, exécuter dans une autre sous-fenêtre (avec un shell dedans), et commiter sur le CVS quand c'est prêt, tout ça avec le même programme.

    De plus la coloration syntaxique est très agréable, utilisant des couleurs pastel, alors que kate par exemple utilise des couleurs plus primaires. Ca repose les yeux (je sais c'est personnalisable et alors).

    Et puis le grand avantage du psycologue d'emacs, c'est qu'il ne porte pas de robe blanche et ne te donne pas de chemise que tu n'arrive pas à t'en détacher :D
    • [^] # Re: emacs

      Posté par  . Évalué à 3.

      Il m'est très agréable de pouvoir programmer, exécuter dans une autre sous-fenêtre (avec un shell dedans), et commiter sur le CVS quand c'est prêt, tout ça avec le même programme.
      ce que fait n'importe quel ide, hein ;-)
  • # Tiny-tools

    Posté par  . Évalué à 2.

    Il existe le projet tiny-tools http://tiny-tools.sourceforge.net/(...) qui permet de configurer son emacs plus facilement.

    A propos du copy/cut/paste, il existe le mode CUA qui permet d'emuler les raccourcis Windows (Ctrl-c/Ctrl-x/Ctrl-v pour copy/cut/paste).
    Ce mode est livré en standard dans GNU/Emacs depuis quelques versions déjà et est accessible par le menu Options.
  • # Du temps

    Posté par  (site web personnel) . Évalué à 1.

    Avec emacs il faut du temps, et de la persévérance. Ne pas se perdre (on peut faire tellement de chose qu'il vaut mieux se concentrer sur quelque petite chose et avancer petite à petit). Et puis un jour tu comprendra pourquoi il y a une guerre vi/emacs : les deux sont d'une puissance rarement égaler une fois la bête maîtrisée, alors pas question de passer à.... "l'autre".

    Si tu est soius debian, tu serat content d'apprendre que le mode seront automatiquement configurer et prêt à l'emploi après l'install (après tu voudra surement configurer à ta sauce). Deuxième point : n'oublie pas "M-x customize-group" et les C-h ...

    Petit extrait de mon .emacs:

    ;; pas de curseur clignotant
    (blink-cursor-mode nil)

    ;; l'heure dans la modeline en format 24h
    (setq display-time-24hr-format t)
    (setq display-time-day-and-date nil)
    (display-time)

    ;(display-battery)

    ;; enleve l'inutile
    ;(menu-bar-mode nil)
    (tool-bar-mode nil)
    (scroll-bar-mode nil)

    ;; LA BASE
    ;; active la coloration du texte
    (global-font-lock-mode t)
    ;; maximum de couleur
    (setq font-lock-maximum-size nil)

    ;; mode text en auto-fill par défaut
    (setq default-major-mode 'text-mode)
    (add-hook 'text-mode-hook 'turn-on-auto-fill)
    (setq-default transient-mark-mode t)

    ;; racourci
    (global-set-key [(meta g)] 'goto-line)
    ;; eviter le C-x k
    (global-set-key [f8] 'kill-this-buffer)

    ;; Backup directory pour avoir tous les fichiers de backup dans un
    ;; seul repertoire plutôt que d'en avoir partout
    (setq backup-directory-alist '(("." . "~/documents/backups")))

    ;; correction orthographique aspell au lieu de ispell
    (setq ispell-program-name "aspell")
    (setq ispell-dictionary "francais")

    ;, très partique, décompresse les .gz à la volé
    (auto-compression-mode t)
  • # Résultats

    Posté par  . Évalué à 3.

    Suite à cette discussion :
    - je tiens d'abord à tous vous remercier pour vos interventions. Je n'ai pas voulu le faire de façon individuelle pour ne pas nuire à la qualité du débat.
    - j'ai créé une page sur le wiki que je vous invite expréssement à modifier : http://www.emacswiki.org/cgi-bin/emacs-fr/PointEmacs(...)

    En effet, j'ai fait une compilation de ce qui a été dit ici et là, et j'ai donc un ~/.emacs qui me semble tenir la route. Il est très documenté et sera certainement utile à tous ceux qui débutent sur ce merveilleux éditeur.

    Voici le début de ce fichier :

    ; Fichier de configuration .emacs suite à une discussion sur linuxfr
    ; Il constitue un bon début

    ; ----------------------------------------------------------------------
    ; Différents liens

    ; Vous trouverez de l'aide sur le wiki :
    ; http://www.emacswiki.org/cgi-bin/emacs-fr(...)
    ; (la partie en anglais est plus importante)
    ; Ainsi que sur le site suivant :
    ; http://www-verimag.imag.fr/~moy/emacs/(...)

    ; Une bonne introduction à Emacs et à Elisp :
    ; http://people.via.ecp.fr/~flo/2000/emacs-tut/(...)

    ; De bons fichiers exemples :
    ; http://www.hollenback.net/emacs/emacs.el(...) (partie programmation particulièrement intéressante)

    ; Modes à installer
    ; (votre distribution les inclus surement, sinon vous pouvez utiliser votre gestionnaire de paquets habituel)
    ; Aide pour installer : http://www.emacswiki.org/cgi-bin/wiki/LoadPath(...)
    ; python-mode : http://sourceforge.net/projects/python-mode/(...)
    ; color-theme : http://www.emacswiki.org/cgi-bin/wiki?ColorTheme(...)

    ; ----------------------------------------------------------------------
    ; Aide

    ; A partir d'Emacs même, M-x puis customize vous permettra de voir
    ; les différentes options.

    ; Si vous souhaitez annuler une option, commentez-la en placant un
    ; point-virgule devant

    ; ----------------------------------------------------------------------
    ; Thème - Affichage

    ; Installer avant color-theme
    (require 'color-theme)
    ; Un theme très clair
    (color-theme-bharadwaj)

    ; Enlève la barre de menu
    ; (menu-bar-mode nil)
    ; Enlève la barre d'outil
    (tool-bar-mode nil)
    ; Enlève la barre de défilement
    ; (scroll-bar-mode nil)

    ; Mettre un titre aux fenêtres
    (setq frame-title-format '(buffer-file-name "Emacs: %b (%f)" "Emacs: %b"))

    ; Afficher le numéro de colonne
    (column-number-mode 1)
    (line-number-mode 1)

    ; Fonte d'affichage par défaut
    ; De bon exemples : http://www.lowing.org/fonts/(...) ; http://www.emacswiki.org/cgi-bin/wiki/GoodFonts(...)
    (set-default-font "-bitstream-bitstream vera sans mono-medium-r-*-*-*-140-*-*-*-*-iso8859-15")
    (setq default-frame-alist
    '((font . "-bitstream-bitstream vera sans mono-medium-r-*-*-*-140-*-*-*-*-iso8859-15")))

    ; ----------------------------------------------------------------------
    ; Edition

    ; Mettre quatre espaces pour l'indentation
    (setq c-basic-offset 4)

    ; Supprime tous les espaces en fin de ligne
    ; http://www.splode.com/users/friedman/software/emacs-lisp/(...)
    (autoload 'nuke-trailing-whitespace "whitespace" nil t)

    ; Activer la coloration syntaxique
    (global-font-lock-mode t)
    ; Mettre un maximu de couleurs
    (setq font-lock-maximum-size nil)

    ; Mode texte en auto-fill par défaut
    ; (créé une nouvelle ligne à chaque fois que vous taper du texte)
    (add-hook 'text-mode-hook 'turn-on-auto-fill)

    ; Recherche automatique des fermetures et ouvertures des parenthèses
    ; Voir cette adresse pour quelquechose de plus fin :
    ; http://www.linux-france.org/article/appli/emacs/faq/emacs-faq-7.htm(...)
    (load-library "paren")
    (show-paren-mode 1)

    ; surlignage d'une région sélectionnée
    (transient-mark-mode t)

    ; ----------------------------------------------------------------------
    ; Accents
    ; Ils sont normalement supportés par votre distribution mais on ne sait jamais

    (setq selection-coding-system 'compound-text-with-extensions)
    (set-terminal-coding-system 'latin-1)
    (set-keyboard-coding-system 'latin-1)
    (set-language-environment 'latin-1)

    ; Pour la console
    (if (not (eq window-system 'x))
    (standard-display-european t))

    ; ----------------------------------------------------------------------
    ; Raccourcis claviers

    ; M-g pour aller à la x-ième ligne
    (global-set-key [(meta g)] 'goto-line)

    ; ----------------------------------------------------------------------
    ; Divers

    ; Mettre tous les fichiers de sauvegarde dans un seul répertoire
    (setq backup-directory-alist
    '(("." . "~/.emacs-backup-files/")))

    ; Pour ne pas avoir à taper en entier la réponse yes/no
    (fset 'yes-or-no-p 'y-or-n-p)

    ; Affichage des images et fichiers compressés
    (setq auto-image-file-mode t)
    (setq auto-compression-mode t)

    ; Molette de la souris
    (defun up-slightly () (interactive) (scroll-up 5))
    (defun down-slightly () (interactive) (scroll-down 5))
    (global-set-key [mouse-4] 'down-slightly)
    (global-set-key [mouse-5] 'up-slightly)
    (defun up-one () (interactive) (scroll-up 1))
    (defun down-one () (interactive) (scroll-down 1))
    (global-set-key [S-mouse-4] 'down-one)
    (global-set-key [S-mouse-5] 'up-one)
    (defun up-a-lot () (interactive) (scroll-up))
    (defun down-a-lot () (interactive) (scroll-down))
    (global-set-key [C-mouse-4] 'down-a-lot)
    (global-set-key [C-mouse-5] 'up-a-lot)

    ; ----------------------------------------------------------------------
    ; PHP - HTML - CSS

    ; Manuel php en français
    (setq php-manual-url "http://www.nexen.net/docs/php/annotee/manual.php(...)")

    ; Utiliser le html-helper-mode, http://www.gest.unipd.it/~saint/hth.html(...)
    (autoload 'php-html-helper-mode "html-helper-mode" "html-helper-mode" t)

    ; Ajoute un mode pour éditer du php
    ; http://www.ontosys.com/reports/PHP.html(...)
    (autoload 'php-mode "php-mode" "PHP editing mode" t)
    (add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
    (add-to-list 'auto-mode-alist '("\\.php3\\'" . php-mode))
    (add-to-list 'auto-mode-alist '("\\.php4\\'" . php-mode))

    ; Utiliser le menu expert
    (setq html-helper-use-expert-menu t)
    ; Indenter automatiquement lorsque l'on appuie sur entrée
    (defun my-html-helper-load-hook ()
    (define-key html-mode-map (kbd "RET") 'newline-and-indent)
    )
    (add-hook 'html-helper-load-hook 'my-html-helper-load-hook)

    ; Utiliser PSGML pour les fichiers SGML, HTML, XML
    (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
    (autoload 'xml-mode "psgml" "Major mode to edit XML files." t)

    ; ----------------------------------------------------------------------
    ; C - C++

    ; Essayez d'avoir la version la plus à jour de cc-mode


    Je vous invite donc à modifier ce fichier sur le wiki afin de corriger mes erreurs et mes approximations.

    http://www.emacswiki.org/cgi-bin/emacs-fr/PointEmacs(...)
    http://www.emacswiki.org/cgi-bin/emacs-fr(...)
  • # Un .emacs vide

    Posté par  . Évalué à 7.

    Pour moi, il faut commencer sans .emacs. On croit gagner du
    temps au debut en en prenant un tout fait, mais en
    fait, si on est debutant on s'y perd et c'est pas productif.

    La methode que je recommande, c'est partir avec un .emacs vide
    et le remplir au fur et a mesure de ses besoins. On a ainsi
    un meilleur controle de ce qu'on fait.

    Autre remarque a propos du troll sur les raccourcis claviers.
    Ils me font marrer ceux qui debarquent et voudraient
    que les applis utilisent les raccourcis WIndows. Chaque logiciel
    a son histoire et emacs n'echappe pas a la regle. Rien que sur
    ce forum, nous sommes des dizaines a avoir appris les
    raccourcis emacs et a y etre habitues. Dire que les
    raccourcis par defaut doivent etre concus pour les nouveaux venus
    ne me semble pas raisonnable. On ne peut pas
    mepriser ainsi les anciens utilisateurs.
  • # Troll detected

    Posté par  . Évalué à 3.

    Tiens, personne n'a releve le defi:

    >un troll s'est subrepticement glissé dans la phrase précédente

    Je me lance. Tu dis qu'emacs est intelligent. Or il n'y a pas
    d'application intelligente. Il n'y a qu'un conception intelligente
    d'un programme. Mais le programme est bete. Seuls les
    services marketings vous disent qu'ils ont une nouvelle
    application plus intelligente. En plus, il faut se mefier. Ca veut
    dire que le programme prend souvent des decisions a votre
    place, donc evidemment il se trompe de temps en temps,
    et CA ENERVE TERRIBLEMENT.

    C'est bon ? J'ai gagne un Carambar ?

    O.
    • [^] # Re: Troll detected

      Posté par  . Évalué à 1.

      Non, car emacs *est* intelligent.
      La preuve, il me répond et me soutient quand ça va mal, mieux qu'un ami.
      Merci M-x doctor
      • [^] # Re: Troll detected

        Posté par  . Évalué à 1.

        ... Et je le prouve :

        I am the psychotherapist. Please, describe your problems. Each time
        you are finished talking, type RET twice.

        I am sad

        Why do you say you are sad?

        because someone said that you are stupid

        Is it because someone said that I am stupid that you came to me?

        yes, I have to talk about this.

        Earlier you said someone said that I am stupid?

        Yes, incredible, isn't it ?

        Maybe your plans have something to do with this.

        Yes, I explain him that it was a big mistake.

        Does it bother you that it was a big mistake?

        Of course, You are not stupid
  • # Mon .emacs

    Posté par  . Évalué à 2.

    Voilà mon .emacs que j'ai mis du temps à faire, et j'ai un peu expliqué tout ce qui a été ajouté.

    Voilà la page : http://nico.tuxfamily.org/Configurations/9-Emacs(...)

    Si tu a des questions, n'hésite pas ;)
    • [^] # Re: Mon .emacs

      Posté par  . Évalué à 2.

      Exactement ce que je cherchais !
      Merci beaucoup.

      Je crois que je vais quand même utiliser bluefish pour le Php/Html/Css ; parce que ça en fonctionne pas très bien avec Emacs (les trois en même temps). Néanmoins, je commence déjà à l'utiliser avec Python et avec les scripts bash.
      • [^] # Re: Mon .emacs

        Posté par  . Évalué à 2.

        de rien ;)

        Pour pouvoir utiliser les trois en même, si mes souvenirs sont bons, il faut utiliser le mm-mode (pas sur:/) qui permet de détecter les portions de code suivant leur type et d'adapter le mode.
        Mais seulement je n'ai jamais réussi à le faire marcher comme je voulais rapidement, et comme je code en php avec un système de templates, je n'ai pas de code mélangés ;)
        • [^] # Re: Mon .emacs

          Posté par  . Évalué à 2.

          C'est exactement ça. Le multi-mode ne fonctionne cependant pas très bien (lenteur, coloration bof...).

          Au passage, que me conseilles-tu comme système de templates très léger : Plume ? Mambo ? Spip ?
          • [^] # Re: Mon .emacs

            Posté par  . Évalué à 1.

            Attention à ne pas tout mélanger, Plume, Mambo et spip sont des CMS (content management system) et proposent une solution clé en main pour faire un site.
            Petit coup d'oeil rapide sur framasoft :
            Plume : http://www.framasoft.net/article3151.html(...)
            Mambo : http://www.framasoft.net/article2166.html(...)
            Spip : http://www.framasoft.net/article1077.html(...)


            Un système de template en php permet de dissocier le code html et le code php. Je n'ai donc pas de problèmes de colorations syntaxiques, car j'ai des fichiers qui ne contiennent que du code php ou du code html. Je sépare également mes feuilles de style dans un fichier .css, donc pas de soucis à ce niveau.
            Pour les système de templates, je suis utilisateur depuis toujours de modelixe (http://modelixe.phpedit.com/)(...) sinon il existe le moteur de la phplib ou bien Smarty qui est bien en vogue en ce momment parait-il.
            Quoiqu'il en soit, par manque de temps et de volonté, je ne les ai jamais testé ;)
            • [^] # Re: Mon .emacs

              Posté par  . Évalué à 2.

              Ok ! Merci pour la précision : je doutais en effet sur la distinction CMS/Template system, c'est d'ailleurs l'une des raisons pour laquelle j'ai posé cette question.

              Ca m'intéresse un peu donc je vais regarder tout ça.
  • # Commentaire supprimé

    Posté par  . Évalué à 4.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: happycoders-emacs

      Posté par  (site web personnel) . Évalué à 2.

      Niveau interface, il épure emacs de la barre de menu, de la barre d'outils (que je n'ai jamais utilisé) et des barre de défilement). En gros il ne resque que les buffer et leur modeline ainsi que le mini-buffer. C'est très esthétique et très pratique.


      Si on veut aller encore plus loin dans le côté on-se-concentre-sur-le-code, on peut utiliser KDE (je sais pas si d'autres WM proposent cette option, hormis les minimalistes ion/rats/...) et mettre le Emacs en fullscreen sur un bureau (c'est à dire, plein écran sans aucune décoration du WM). J'aime assez, même si je regrette de ne pas pouvoir utiliser ainsi la speedbar qui réclame sa propre frame.

      seb.
    • [^] # Re: happycoders-emacs

      Posté par  . Évalué à 2.

      Merci infiniment pour ta réponse ! J'intéressante des deux mains.

      Peux-tu me donner ton fichier .Xdefaults, si ça ne te dérange pas ? Ainsi que tes modifications pour la coloration syntaxique du php-mode ? Je sais que ça a dû te demander beaucoup de travail, mais ça serait vraiment sympa de ta part.
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 1.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: happycoders-emacs, happier !

          Posté par  . Évalué à 2.

          Merci encore !

          Grâce à toi j'ai enfin un vrai Emacs qui marche du feu de dieu.
          Pour ceux que ça intéresse, il faut redémarre X pour que les modifications du .Xdefaults soient acceptées. Regarder du côté de xrdb sinon.

          Voici donc le fichier .emacs définitif :


          ; Fichier de configuration .emacs suite à une discussion sur linuxfr
          ; http://linuxfr.org/~deu44tdf/19421.html(...)
          ; Il constitue un bon début

          ; ----------------------------------------------------------------------
          ; Différents liens

          ; Vous trouverez de l'aide sur le wiki :
          ; http://www.emacswiki.org/cgi-bin/emacs-fr(...)
          ; (la partie en anglais est plus importante)
          ; Ainsi que sur le site suivant :
          ; http://www-verimag.imag.fr/~moy/emacs/(...)

          ; Une bonne introduction à Emacs et à Elisp :
          ; http://people.via.ecp.fr/~flo/2000/emacs-tut/(...)

          ; De bons fichiers exemples :
          ; http://www.hollenback.net/emacs/emacs.el(...) (partie programmation particulièrement intéressante)

          ; Modes à installer
          ; (votre distribution les inclus surement, sinon vous pouvez utiliser votre gestionnaire de paquets habituel)
          ; Aide pour installer : http://www.emacswiki.org/cgi-bin/wiki/LoadPath(...)
          ; python-mode : http://sourceforge.net/projects/python-mode/(...)

          ; Pour Debian
          ; apt-get install happycoders-emacs emacs-goodies-el
          ; Installe plein de mod...

          ; ----------------------------------------------------------------------
          ; Aide

          ; A partir d'Emacs même, M-x puis customize vous permettra de voir
          ; les différentes options.

          ; Si vous souhaitez annuler une option, commentez-la en placant un
          ; point-virgule devant

          ; ----------------------------------------------------------------------
          ; Thème - Affichage

          ; Pour avoir une bonne police, mettez ceci dans votre .Xdefaults :
          ; emacs.font:-bitstream-bitstream vera sans mono-medium-r-normal--14-0-0-0-m-*-iso8859-15
          ; C'est dans ce fichier que vous mettrez vos modification concernant les couleurs.

          ; Enlève la barre de menu
          ; (menu-bar-mode nil)
          ; Enlève la barre d'outil
          ; (tool-bar-mode nil)
          ; Enlève la barre de défilement
          ; (scroll-bar-mode nil)

          ; Mettre un titre aux fenêtres
          (setq frame-title-format '(buffer-file-name "Emacs: %b (%f)" "Emacs: %b"))

          ; Afficher le numéro de colonne
          (column-number-mode 1)
          (line-number-mode 1)

          (setq user-mail-address "user@domain.org")

          ; ----------------------------------------------------------------------
          ; Edition

          ; Mettre quatre espaces pour l'indentation
          (setq c-basic-offset 4)

          ; Supprime tous les espaces en fin de ligne
          ; http://www.splode.com/users/friedman/software/emacs-lisp/(...)
          (autoload 'nuke-trailing-whitespace "whitespace" nil t)

          ; Activer la coloration syntaxique
          (global-font-lock-mode t)
          ; Mettre un maximu de couleurs
          (setq font-lock-maximum-size nil)

          ; Mode texte en auto-fill par défaut
          ; (créé une nouvelle ligne à chaque fois que vous taper du texte)
          (add-hook 'text-mode-hook 'turn-on-auto-fill)

          ; Recherche automatique des fermetures et ouvertures des parenthèses
          ; Voir cette adresse pour quelquechose de plus fin :
          ; http://www.linux-france.org/article/appli/emacs/faq/emacs-faq-7.htm(...)
          (load-library "paren")
          (show-paren-mode 1)

          ; surlignage d'une région sélectionnée
          (transient-mark-mode t)

          ; ----------------------------------------------------------------------
          ; Accents
          ; Ils sont normalement supportés par votre distribution mais on ne sait jamais

          (setq selection-coding-system 'compound-text-with-extensions)
          (set-terminal-coding-system 'latin-1)
          (set-keyboard-coding-system 'latin-1)
          (set-language-environment 'latin-1)

          ; Pour la console
          (if (not (eq window-system 'x))
          (standard-display-european t))

          ; ----------------------------------------------------------------------
          ; Raccourcis claviers

          ; Mettez ici vos raccourcis clavier persos

          ; M-g pour aller à la x-ième ligne
          ; (global-set-key [(meta g)] 'goto-line)

          ; ----------------------------------------------------------------------
          ; Divers

          ; Mettre tous les fichiers de sauvegarde dans un seul répertoire
          (setq backup-directory-alist
          '(("." . "~/.emacs-backup-files/")))

          ; Pour ne pas avoir à taper en entier la réponse yes/no
          (fset 'yes-or-no-p 'y-or-n-p)

          ; Affichage des images et fichiers compressés
          (setq auto-image-file-mode t)
          (setq auto-compression-mode t)

          ; Molette de la souris
          (defun up-slightly () (interactive) (scroll-up 5))
          (defun down-slightly () (interactive) (scroll-down 5))
          (global-set-key [mouse-4] 'down-slightly)
          (global-set-key [mouse-5] 'up-slightly)
          (defun up-one () (interactive) (scroll-up 1))
          (defun down-one () (interactive) (scroll-down 1))
          (global-set-key [S-mouse-4] 'down-one)
          (global-set-key [S-mouse-5] 'up-one)
          (defun up-a-lot () (interactive) (scroll-up))
          (defun down-a-lot () (interactive) (scroll-down))
          (global-set-key [C-mouse-4] 'down-a-lot)
          (global-set-key [C-mouse-5] 'up-a-lot)

          ; Mode de coloration syntaxique générique
          (require 'generic-x)
  • # Un éditeur console avec les même raccourcis que Gedit et Kedit...

    Posté par  . Évalué à 1.

    J'aime bien Vim,
    mais tout bien réfléchi je rêverai d'un éditeur puissant, en mode console, multi-plateforme, modulable avec tout plein d'options (coloration syntaxique, regex, configurable)

    et surtout avec les mêmes raccourcis que Gedit et Kedit

    un truc léger, passe-partout comme Vi, mais qu'on puisse mettre entre toutes les mains sans effort,

    un truc qui pourrait servir de moteur aux futurs Gedit et Kedit

    toussa koi

    mais ça n'existe pas. Pas touche au ctrl-c Trop énorme étoussa
    :-/

    Peut-être un emacs bien configuré ferait ça, allez savoir,
    Bon, c'est pas tout ça, mais je retourne travailler un petit peu.

    PS : comment je fais pour utiliser mes raccourcis clavier Vim quand je poste avec Firefox ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.