Savoir bien utiliser zsh, c'est bien. Mais Emacs est puissant, interacfif, et facilement scriptable.
Mais t'as pas l'air de connaître Emacs à fond. Quelques exemples, encore.
Comment tu fais, en zsh, pour renommer un lot de fichiers "foo-bar.xx" en "foo_bar.xx" ? C'est qu'un exemple de renommage de fichiers. En zsh, je sais pas comment faire. Je dois écrire un script. Et si je me plante, je suis mort. Avec Emacs, un débutant saurait faire car on utilise les commandes d'édition normales + Emacs est très bien documenté (il y a le menu et l'aide au bout des doigts. Avec zsh, non). Je cherche tous les fichiers concernés avec find-name-dired et je les obtiens dans un buffer Dired (je peux les trier avec s, les regarder, les vérifier, en exclure, en rajouter). Je passe en mode écriture (C-x-q, je regarde le menu si j'ai oublié). Je lance un search&replace comme d'hab, avec confirmation pour chacun/pour tous d'un coup. Tant que j'ai pas validé, je peux les modifier. Je valide. Les fichiers sont renommés. Facile, et sûr.
Maintenant, si c'est une action récurrente je vais vouloir en faire un script. Je peux créer une macro, ou passer par du lips et écrire ma fonction. Plus haut t'as décrié l'usage de fonctions. Tu sais, c'est comme ça qu'on apprend à développer et qu'on se retrouve à développer des extensions Emacs.
Une fois que tu as ton arborescence dans le cache, l'utilisation de globbing étendus et la description des chemins par la ou les premières lettres des dossiers est très rapide
là tu parles de navigation pour retrouver des fichiers ? Tu perds justement bcp de temps à taper une commande, même courte. T'as déjà essayé helm-projectile ? Pas besoin de mise en cache préalable. Sélection interactive et possibilité de lancer plusieurs actions sur les fichiers si tu veux, le tout via le menu ou un raccourci clavier.
zsh c'est bien, c'est bien pour du script, mais pour travailler: Emacs ! (c'est sûr que c'est un paradigme différent. J'ai reporté bcp de tâches du terminal dans Emacs. Tout le monde n'aime ou ne comprends pas l'intérêt).
C'est pas faux ce que vous dites tous les deux.
Petite remarque: si on considère l'option de mails mu4e, on est plus proche de la philosophie unix car le boulot est réparti entre plusieurs softs, et emacs n'est que l'interface qui lit des fichiers:
la récupération des mails est externalisée (typiquement avec offlineimap),
Si tu te dis qu'Emacs n'est pas un éditeur de fichiers, mais un outil pour éditer du texte, alors savoir faire tout ça a du sens.
Tu vois pas l'intérêt du navigateur de fichiers (Dired) ? C'est pourtant une chose qu'on fait constamment en programmant. On doit trouver un fichier, ou bien renommer des lots de fichiers (alors on peut le faire interactivement, et avec toutes les commandes d'édition habituelles, ce qui est plus sympa et efficace que du bash), ou bien se créer une liste de fichiers spécifique à un projet sur laquelle on travaille, etc.
L'interface avec le shell est expliqué plus haut. Manipuler des fichiers, naviguer avec le terminal n'est vraiment pas efficace (même avec z, fasd ou autres).
Le mail, c'est plus gadget, mais quitte à écrire du texte, autant utiliser un éditeur avec de vrais fonctionnalités d'édition (voire utiliser toutes les fonctionnalités d'org-mode !).
La musique, c'est bien sûr plus gadget, mais quand il faut sélectionner des fichiers, Emacs fait efficacement le job.
machine lisp: prenons l'exemple de changer des raccourcis clavier. Avec Sublime, tu modifies un fichier json. Avec Emacs, tu peux modifier ton fichier de conf, ou tu appelles le prompt de lisp et tu tapes ta fonction pour modifier le raccourci. C'est l'exemple le plus basique. Tu peux écrire une petite fonction qui t'automatise une action d'édition (si une macro ne fait pas l'affaire). Et, ce faisant, tu apprends ton outil de travail, et petit à petit tu le moules à tes besoins. Et t'apprends de nouvelles manières de programmer.
tout est du texte: t'as jamais trouvé ça agréable ? cool à savoir… Tu reconnais que ça peut être très très pratique ? L'exemple le plus basique est le shell-mode. On peut se ballader dans la sortie standard, copier, chercher du texte, se ballader d'input en input, avec nos commandes de navigation habituelles.
Avec Sublime, t'as un terminal. Avec un terminal, tu scrolles avec la souris (ou tu te fais chier avec screen).
Ton systemd ne fait pas navigateur de fichiers comme Emacs (Dired)…
Posté par dzecniv .
En réponse à la dépêche GNU Emacs 24.4.
Évalué à 7.
Dernière modification le 13 novembre 2014 à 11:08.
On lance ce débat ? :)
Emacs vaut encore son pesant de cacahuètes. Tout d'abord il est libre, la comparaison pourrait s'arrêter là, ou continuer avec Atom (encore très jeune).
Emacs est une machine lisp. Il est lui-même éditable avec son propre langage de programmation et ça, c'est puissant.
Un autre truc incroyable c'est que dans emacs, tout ce qui est affiché est du texte. On peut donc s'en servir pour naviguer, lancer toute sorte de grep, etc (exple: la sortie formatée d'une compilation).
Et puis, Emacs n'est pas qu'un éditeur de texte, mais un navigateur de fichiers, un terminal (où tout le buffer est du texte !), une interface avec des commandes shell, un navigateur d'images, un lecteur de musique, un client mail,… dans Sublime ou autre, on doit utiliser d'autres outils, externes.
Emacs possède org-mode.
Le seul avantage de Sublime, c'est qu'il est facile à utiliser par défaut.
Je me retiens de parler de toutes mes extensions préférées, mais juste une chose: que ceux qui préfèrent l'édition modale de vim essayent l'émulation de evil-mode:
Alt-x evil-mode RET
C'est faire la paix dans le monde en pactisant avec le démon. N'est-ce pas tentant ?
Super initiative !
Dans les commentaires du journal on a parlé de starter kits pour ceux qui souhaitent bien commencer (plein de bonnes choses de bien configurées). Et moi je recommande Prelude: https://github.com/bbatsov/prelude.
Tout à fait. À toutes et tous qui se défendent de leur choix parce que tel truc est utile ou pratique: ok, certes, peut être. Mais la question c'est: est-ce que l'utilité que j'accorde à ce truc justifie que je donne du pouvoir à cette entreprise qui m'enferme, m'espionne, me vend, m'arnaque, etc.
Si tant est qu'on s'en rende compte (à priori le cas sur linuxfr) et qu'on voie plus loin que sa pomme.
On remet en cause les élus, mais pas la technologie ? Des fois, on n'a pas besoin d'une fuite en avant technologique. Parce qu'une ville «intelligente» (au sens anglais de renseignement, comme dans CIA), ne me fait pas forcément rêver.
Après avoir indexé quelques nouveaux sites pendant 15-20 minutes, on voit très clairement que les recherches sur les mots-clefs liés sont plus pertinentes.
J'ai essayé un coup sur mon pc (facile, il suffit d'installer un paquet debian), et c'est grisant de choisir les sites à indexer et de voir le nombre augmenter.
C'est la piste que j'aimerais également explorer: installer Yacy sur un raspberry-pi-like en moins de 2 grâce à Yunohost et le laisser crawler gentiment. Peux-tu préciser ce que ça donnait chez toi ?
Pour l'heure Yacy n'est pas trop utilisable pour des recherches, notamment parceque pas assez de monde ne participe à l'indexation et on ne peut pas choisir la langue de recherche (cf https://sortirdefacebook.wordpress.com/#sec-5-5-4)
«
Imagine if we lived in a world where more demand meant less load for a webserver. Imagine if we lived in a world where no organization could take down a website, and everyone could publish a site with no hassle or upfront cost. SyncNet is a first step into that world.
»
offlineimap récupère les mails.
L'outil mu indexe les mails et permet de les chercher (très puissant) en ligne de commnande. mu4e est l'interface de mu pour emacs. La recherche est surpuissante. On peut lire / écrire en html, vues par conversation, voir les images bien sûr, voire écrire des mails en org-mode.
salut, je suis venu la dernière fois pour la première fois, afin de justement «discuter de nos projets respectifs» et «lancer des initiatives locales», mais après avoir salué les personnes autour de la table personne ne s'est présenté :/ Je pense que vous pourriez au minimum faire l'effort de faire un tour de table…
Je m'y suis frotté et ai fini par vraiment l'apprécier et par être épaté par certaines facilités, mais la difficulté, vraiment, c'est de le mettre en place. Il faut se frotter à beaucoup de nouvelles notions, bien connaître le fonctionnement interne si on veut comprendre comment notre application fonctionne, faire avec de la doc aléatoire, et à beaucoup de conf' externe pour de nouveaux outils (qui nous facilitent le dév au final).
une bonne base pour commencer est https://github.com/angular/angular-seed
ou s'inspirer de ce projet https://github.com/buildbot/buildbot/tree/nine/www qui en sus utilise coffeeScript (au lieu de JS) et Jade (pour le html) et un gruntfile (Makefile) complet.
La «magie» d'AngularJS est le «double data binding». Quand on définit une variable avec une certaine visibilité, dès qu'elle est modifiée n'importe où dans le code, elle est mise à jour dans la vue. Le développeur n'a pas écrit de watcher.
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 1.
Un "pixel moving" inutile mais qui m'éclate: highlight tail, qui laisse une trainée colorée de comète lorsqu'on tape !
image: http://emacser.com/screenshots/highlight-tail/highlight-tail-white-black.png
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 3.
Juste pour info, Emacs a bien sûr les curseurs multiples (multiple-cursor).
Est-ce qu'avec vim/sublime on peut éditer des regexps avec un retour visuel ? http://wikemacs.org/wiki/Regexp#Search_and_replace_with_visual_feedback
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 2.
Donc autre force d'Emacs: images, vidéos et pdf sont lus et accessibles avec les mêmes raccourcis claviers.
Voyez la qualité de lecture d'un pdf: http://tuhdo.github.io/static/emacs-read-pdf.gif
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 5.
Savoir bien utiliser zsh, c'est bien. Mais Emacs est puissant, interacfif, et facilement scriptable.
Mais t'as pas l'air de connaître Emacs à fond. Quelques exemples, encore.
Comment tu fais, en zsh, pour renommer un lot de fichiers "foo-bar.xx" en "foo_bar.xx" ? C'est qu'un exemple de renommage de fichiers. En zsh, je sais pas comment faire. Je dois écrire un script. Et si je me plante, je suis mort. Avec Emacs, un débutant saurait faire car on utilise les commandes d'édition normales + Emacs est très bien documenté (il y a le menu et l'aide au bout des doigts. Avec zsh, non). Je cherche tous les fichiers concernés avec find-name-dired et je les obtiens dans un buffer Dired (je peux les trier avec s, les regarder, les vérifier, en exclure, en rajouter). Je passe en mode écriture (C-x-q, je regarde le menu si j'ai oublié). Je lance un search&replace comme d'hab, avec confirmation pour chacun/pour tous d'un coup. Tant que j'ai pas validé, je peux les modifier. Je valide. Les fichiers sont renommés. Facile, et sûr.
Maintenant, si c'est une action récurrente je vais vouloir en faire un script. Je peux créer une macro, ou passer par du lips et écrire ma fonction. Plus haut t'as décrié l'usage de fonctions. Tu sais, c'est comme ça qu'on apprend à développer et qu'on se retrouve à développer des extensions Emacs.
là tu parles de navigation pour retrouver des fichiers ? Tu perds justement bcp de temps à taper une commande, même courte. T'as déjà essayé helm-projectile ? Pas besoin de mise en cache préalable. Sélection interactive et possibilité de lancer plusieurs actions sur les fichiers si tu veux, le tout via le menu ou un raccourci clavier.
zsh c'est bien, c'est bien pour du script, mais pour travailler: Emacs ! (c'est sûr que c'est un paradigme différent. J'ai reporté bcp de tâches du terminal dans Emacs. Tout le monde n'aime ou ne comprends pas l'intérêt).
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 5.
Mais non, c'était passionnant :) ^ (vas-y, ou un simple journal ?)
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 1.
Ouhla, moi aussi ! Heureusement, github ou gitlab le reconnaissent :)
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 3.
C'est pas faux ce que vous dites tous les deux.
Petite remarque: si on considère l'option de mails mu4e, on est plus proche de la philosophie unix car le boulot est réparti entre plusieurs softs, et emacs n'est que l'interface qui lit des fichiers:
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 1.
Si tu te dis qu'Emacs n'est pas un éditeur de fichiers, mais un outil pour éditer du texte, alors savoir faire tout ça a du sens.
Tu vois pas l'intérêt du navigateur de fichiers (Dired) ? C'est pourtant une chose qu'on fait constamment en programmant. On doit trouver un fichier, ou bien renommer des lots de fichiers (alors on peut le faire interactivement, et avec toutes les commandes d'édition habituelles, ce qui est plus sympa et efficace que du bash), ou bien se créer une liste de fichiers spécifique à un projet sur laquelle on travaille, etc.
L'interface avec le shell est expliqué plus haut. Manipuler des fichiers, naviguer avec le terminal n'est vraiment pas efficace (même avec z, fasd ou autres).
Le mail, c'est plus gadget, mais quitte à écrire du texte, autant utiliser un éditeur avec de vrais fonctionnalités d'édition (voire utiliser toutes les fonctionnalités d'org-mode !).
La musique, c'est bien sûr plus gadget, mais quand il faut sélectionner des fichiers, Emacs fait efficacement le job.
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 3.
machine lisp: prenons l'exemple de changer des raccourcis clavier. Avec Sublime, tu modifies un fichier json. Avec Emacs, tu peux modifier ton fichier de conf, ou tu appelles le prompt de lisp et tu tapes ta fonction pour modifier le raccourci. C'est l'exemple le plus basique. Tu peux écrire une petite fonction qui t'automatise une action d'édition (si une macro ne fait pas l'affaire). Et, ce faisant, tu apprends ton outil de travail, et petit à petit tu le moules à tes besoins. Et t'apprends de nouvelles manières de programmer.
tout est du texte: t'as jamais trouvé ça agréable ? cool à savoir… Tu reconnais que ça peut être très très pratique ? L'exemple le plus basique est le shell-mode. On peut se ballader dans la sortie standard, copier, chercher du texte, se ballader d'input en input, avec nos commandes de navigation habituelles.
Avec Sublime, t'as un terminal. Avec un terminal, tu scrolles avec la souris (ou tu te fais chier avec screen).
Ton systemd ne fait pas navigateur de fichiers comme Emacs (Dired)…
[^] # Re: Félicitations
Posté par dzecniv . En réponse à la dépêche GNU Emacs 24.4. Évalué à 7. Dernière modification le 13 novembre 2014 à 11:08.
On lance ce débat ? :)
Emacs vaut encore son pesant de cacahuètes. Tout d'abord il est libre, la comparaison pourrait s'arrêter là, ou continuer avec Atom (encore très jeune).
Emacs est une machine lisp. Il est lui-même éditable avec son propre langage de programmation et ça, c'est puissant.
Un autre truc incroyable c'est que dans emacs, tout ce qui est affiché est du texte. On peut donc s'en servir pour naviguer, lancer toute sorte de grep, etc (exple: la sortie formatée d'une compilation).
Et puis, Emacs n'est pas qu'un éditeur de texte, mais un navigateur de fichiers, un terminal (où tout le buffer est du texte !), une interface avec des commandes shell, un navigateur d'images, un lecteur de musique, un client mail,… dans Sublime ou autre, on doit utiliser d'autres outils, externes.
Emacs possède org-mode.
Le seul avantage de Sublime, c'est qu'il est facile à utiliser par défaut.
# J'ai le pdf
Posté par dzecniv . En réponse à la dépêche Meteor 1.0. Évalué à 1.
Salut,
si certains souhaitent découvrir le pdf sans s'inscrire, je peux l'envoyer par mail (ou par un autre moyen à me proposer ?).
++
# vim => evil-mode
Posté par dzecniv . En réponse à la dépêche GNU Emacs : quelques extensions (première partie). Évalué à 2.
Je me retiens de parler de toutes mes extensions préférées, mais juste une chose: que ceux qui préfèrent l'édition modale de vim essayent l'émulation de evil-mode:
C'est faire la paix dans le monde en pactisant avec le démon. N'est-ce pas tentant ?
# starter kits
Posté par dzecniv . En réponse à la dépêche GNU Emacs : quelques extensions (première partie). Évalué à 4.
Super initiative !
Dans les commentaires du journal on a parlé de starter kits pour ceux qui souhaitent bien commencer (plein de bonnes choses de bien configurées). Et moi je recommande Prelude: https://github.com/bbatsov/prelude.
On a une petite liste ici: http://wikemacs.org/wiki/Starter_Kits
[^] # Re: Bonne idée !
Posté par dzecniv . En réponse au journal GNU Emacs : quelques extensions (première partie). Évalué à 6. Dernière modification le 14 octobre 2014 à 10:30.
Alors pour ceux qui souhaitent bien commencer avec un starter kit (ce qui est une très bonne idée), je recommande Prelude: https://github.com/bbatsov/prelude (celui justement du B. Batsov sus-cité). On a une petite liste ici: http://wikemacs.org/wiki/Starter_Kits
ps: super initiative ce post:)
# dans le Diplo
Posté par dzecniv . En réponse au journal Forum sur la gouvernance de l'Internet. Évalué à 0.
J'avais lu un article sur la dernière réu similaire dans le Monde Diplomatique. (mais rien trouvé sur leur site)
# discover.el
Posté par dzecniv . En réponse au journal Des prompteurs pour Emacs. Évalué à 3.
Salut,
Je ne trouve pas ta doc très explicite.
2 remarques:
- ton projet n'est-il pas similaire à discover.el ? http://www.masteringemacs.org/articles/2013/12/21/discoverel-discover-emacs-context-menus/
- des plans pour une recette MELPA ?
cheers
[^] # Re: Même pas surpris
Posté par dzecniv . En réponse au journal bookmark : En acceptant les CGU de Facebook vous pouvez être le sujet d'expérimentation. Évalué à 4.
Tout à fait. À toutes et tous qui se défendent de leur choix parce que tel truc est utile ou pratique: ok, certes, peut être. Mais la question c'est: est-ce que l'utilité que j'accorde à ce truc justifie que je donne du pouvoir à cette entreprise qui m'enferme, m'espionne, me vend, m'arnaque, etc.
Si tant est qu'on s'en rende compte (à priori le cas sur linuxfr) et qu'on voie plus loin que sa pomme.
C'est ma formulation.
# remise en cause de quoi ?
Posté par dzecniv . En réponse au journal « Si je garde ma carte bancaire avec moi, personne ne l'utilisera à ma place ! ». Évalué à 3.
On remet en cause les élus, mais pas la technologie ? Des fois, on n'a pas besoin d'une fuite en avant technologique. Parce qu'une ville «intelligente» (au sens anglais de renseignement, comme dans CIA), ne me fait pas forcément rêver.
[^] # Re: Et pour les utilisateurs il y a quoi ?
Posté par dzecniv . En réponse à la dépêche Se passer de Google, Facebook et autres big brothers 2.0 #1 — Les moteurs de recherche. Évalué à 2. Dernière modification le 03 juin 2014 à 21:51.
Après avoir indexé quelques nouveaux sites pendant 15-20 minutes, on voit très clairement que les recherches sur les mots-clefs liés sont plus pertinentes.
J'ai essayé un coup sur mon pc (facile, il suffit d'installer un paquet debian), et c'est grisant de choisir les sites à indexer et de voir le nombre augmenter.
C'est la piste que j'aimerais également explorer: installer Yacy sur un raspberry-pi-like en moins de 2 grâce à Yunohost et le laisser crawler gentiment. Peux-tu préciser ce que ça donnait chez toi ?
Pour l'heure Yacy n'est pas trop utilisable pour des recherches, notamment parceque pas assez de monde ne participe à l'indexation et on ne peut pas choisir la langue de recherche (cf https://sortirdefacebook.wordpress.com/#sec-5-5-4)
# Syncnet
Posté par dzecniv . En réponse au journal Bitcoin : votre avis sur un article que je viens de lire sur de possibles utilisations alternatives.. Évalué à 0.
Une autre utilisation alternative: Syncnet, un projet de navigateur web décentralisé: http://jack.minardi.org/software/syncnet-a-decentralized-web-browser/
«
Imagine if we lived in a world where more demand meant less load for a webserver. Imagine if we lived in a world where no organization could take down a website, and everyone could publish a site with no hassle or upfront cost. SyncNet is a first step into that world.
»
# en fr
Posté par dzecniv . En réponse au journal DuckDuckGo change de parure. Évalué à 1.
Pour rappel voici une extension Firefox pour les recherches en français: https://addons.mozilla.org/fr/firefox/addon/duckduckgo/ (on peut l'avoir en double de ddg en anglais).
[^] # Re: ah la fonction de recherche...
Posté par dzecniv . En réponse au journal Thunderbird : j'en peux plus ! Qui arrive à l'utiliser pour de vrai ? Quoi d'autre ?. Évalué à 2.
comme notmuch, mais avec une meilleur interface: mu4e, soit mu for… Emacs ! :) http://wikemacs.org/index.php/Mu4e
offlineimap récupère les mails.
L'outil mu indexe les mails et permet de les chercher (très puissant) en ligne de commnande.
mu4e est l'interface de mu pour emacs. La recherche est surpuissante. On peut lire / écrire en html, vues par conversation, voir les images bien sûr, voire écrire des mails en org-mode.
screens: http://www.djcbsoftware.nl/code/mu/mu4e.html
exples de conf: http://www.djcbsoftware.nl/code/mu/mu4e/Example-configurations.html#Example-configurations
# tour de table
Posté par dzecniv . En réponse à la dépêche Repas du Libre à Toulouse le 9 janvier 2014. Évalué à -1.
salut, je suis venu la dernière fois pour la première fois, afin de justement «discuter de nos projets respectifs» et «lancer des initiatives locales», mais après avoir salué les personnes autour de la table personne ne s'est présenté :/ Je pense que vous pourriez au minimum faire l'effort de faire un tour de table…
[^] # Re: yogurtman
Posté par dzecniv . En réponse à la dépêche AngularJS, une autre façon de faire du web. Évalué à 1.
exactement (et c'est vachement bien d'avoir la séparation MVC à ce niveau !)
# plein de notions
Posté par dzecniv . En réponse à la dépêche AngularJS, une autre façon de faire du web. Évalué à 10.
Je m'y suis frotté et ai fini par vraiment l'apprécier et par être épaté par certaines facilités, mais la difficulté, vraiment, c'est de le mettre en place. Il faut se frotter à beaucoup de nouvelles notions, bien connaître le fonctionnement interne si on veut comprendre comment notre application fonctionne, faire avec de la doc aléatoire, et à beaucoup de conf' externe pour de nouveaux outils (qui nous facilitent le dév au final).
une bonne base pour commencer est https://github.com/angular/angular-seed
ou s'inspirer de ce projet https://github.com/buildbot/buildbot/tree/nine/www qui en sus utilise coffeeScript (au lieu de JS) et Jade (pour le html) et un gruntfile (Makefile) complet.
La «magie» d'AngularJS est le «double data binding». Quand on définit une variable avec une certaine visibilité, dès qu'elle est modifiée n'importe où dans le code, elle est mise à jour dans la vue. Le développeur n'a pas écrit de watcher.