J'ai une idée pour coder plus vite

ça existe ?

a marqué ce sujet comme résolu.

Bonjour, j'ai pensé à une fonctionnalité qui n'existe dans aucun IDE que je connais; une console avec des commandes permettant de manipuler son code. Je m'explique; Il m'arrive très souvent de devoir supprimer un bout de code, mais le chercher, le sélectionner puis le supprimer, c'est souvent lent et ennuyant; pourquoi ne peut pas mettre des consoles dans les éditeurs permettant de taper des commandes du style:

1
rm getJSON()

cette commande permettrait de supprimer la fonction getJSON() du fichier. etc.....

Je sais pas comment tu fonctionnes, mais je me demande comment tu fais pour avoir envie de supprimer du code sans l'avoir sous les yeux et le lire un petit coup avant de le virer ^^

Personnellement j'aurais pas l'utilité d'un système comme celui-là, je suis persuadé que j'irais toujours plus vite à me rendre sur le bout de code à supprimer à la main plutôt que de chercher à taper une commande et être sûr que ça supprimera bien ce que je veux.

+7 -1

N'importe quel langage, il suffirait d'avoir une console intégré à l'éditeur permettant de manipuler des bouts de code facilement via des commandes: supprimer une fonction, une classe, ou bien par exemple tous le code de la ligne 10 à la ligne 45 comme ça (par exemple) :

1
rm 54-89

supprime le code de la ligne 54 à 89

1
cp 85-96 132

Et puis c'est surtout que j'ai pas envie de toucher à ma souris, et se déplacer dans le code au clavier n'est pas toujours facile: je trouve pas ça pratique copie le code des lignes 85 à 96 à la ligne 132 etc…

+1 -6

Et puis c'est surtout que j'ai pas envie de toucher à ma souris, et se déplacer dans le code au clavier n'est pas toujours facile: je trouve pas ça pratique

jerkoco

Essaye vim ou emacs, tu devrais être heureux car il me semble qu'ils proposent déjà tout ça.

+13 -0

Et puis c'est surtout que j'ai pas envie de toucher à ma souris, et se déplacer dans le code au clavier n'est pas toujours facile: je trouve pas ça pratique

jerkoco

Essaye vim ou emacs, tu devrais être heureux car il me semble qu'ils proposent déjà tout ça.

Wizix

En gros, oui. En 2 commandes (en fait ce sont plutôt des raccourcis clavier), tu peux te déplacer à la ligne voulue puis copier/couper/supprimer le nombre de lignes voulues.

+4 -0

Et puis c'est surtout que j'ai pas envie de toucher à ma souris, et se déplacer dans le code au clavier n'est pas toujours facile

Hum si tu n'aimes ni la souris ni le clavier…

Avec Vim je taperais :

1
2
54gg0
d89gg

soit :

  • aller au début de la ligne 54
  • supprimer du curseur jusqu'à la ligne 89 incluse

Bon forcément faut l'apprendre et tout le monde n'est pas fan de Vim, mais faut avouer que c'est très rapide. Et je n'ai pas touché à ma souris :)

Pourquoi vouloir inventer une usine à gaz pour qqch d'aussi simple (même à la souris ?)

EDIT : grillé ;)

+3 -0

Merci, je vais essayer VIM, même si je sens que je vais passer 50 heure à le configurer ;)

jerkoco

ça ira surement plus vite que de coder ton editeur

Pour ton cas avec vim je fais :

:tag Nomdemafonction

il se deplace a la declaration de ma fonction.

Je fais ensuite vib pour selectionner l'interieur du bloc, et d pour l'effacer.

+3 -0

Bon après, le but de la souris c'est justement de ne plus avoir besoin de s'ennuyer à taper des commandes pour sélectionner du texte, le supprimer, le copier, etc.

Ce n'est pas étonnant si les IDE modernes n'offrent pas ce genre de services : soit ils considèrent qu'une action est beaucoup plus facile et rapide à exécuter avec la souris, soit ils proposent des services de refactoring directement intégrés dans l'interface graphique.

Si j'avais besoin de supprimer une fonction entière avec un IDE moderne, je la chercherais dans la liste des symboles (ou avec une fonction de recherche si je sais plus dans quelle fichier elle est), et si elle est longue, je fold le bloc et je le supprime. De mon point de vue, ça demande bien moins d'effort que de taper le nom de la fonction entière, ou les numéros de lignes.

Si j'avais besoin de supprimer une fonction entière avec un IDE moderne, je la chercherais dans la liste des symboles (ou avec une fonction de recherche si je sais plus dans quelle fichier elle est), et si elle est longue, je fold le bloc et je le supprime. De mon point de vue, ça demande bien moins d'effort que de taper le nom de la fonction entière, ou les numéros de lignes.

Olybri

Ou mieux, j'utilise l'outil de refactoring, qui m'indique où elle est utilisée si elle l'est encore, y compris dans les commentaires, et ce que je dois faire des appels restants.

Bon après, le but de la souris c'est justement de ne plus avoir besoin de s'ennuyer à taper des commandes pour sélectionner du texte, le supprimer, le copier, etc.

Plutôt à apprendre des commandes avant de pouvoir faire quoique ce soit. Déplacer la souris, c'est toujours beaucoup plus fastidieux (et donc ennuyeux) en soit que d'écrire des commandes. Le temps de taper une commande connue doit probablement être du même ordre que celui nécessaire pour simplement atteindre la souris. La partie chiante et pas super intuitive, c'est le temps de se mettre dans le crâne le minimum vital en terme de commandes.

Si Vim et Emacs ont survécu aux IDE graphiques et sont encore bien solidement ancrés, c'est qu'il y a une raison. Outre leur disponibilité sur quasi n'importe quelle machine (dans le pire des cas, tu te retrouves avec un vi bien dégueu, mais ça passe quand même), l'efficacité à l'exécution de commandes clavier par rapport à un clicodrome n'est pas à prouver (d'ailleurs, les clicodromes sans raccourcis claviers a minima pour les opérations courantes, ça n'existe pas, ce serait un calvaire).

La demande de l'OP me paraît donc parfaitement légitime. Je pense que c'est même une idée qui montre un certain recul sur ses propres outils de la part de quelqu'un qui n'a visiblement jamais entendu parler de Vim ou Emacs.

+7 -1

Ce qui est bien avec Vim c'est qu'une fois qu'on sait se déplacer efficacement, le reste vient intuitivement :

d} : supprime du curseur jusqu'à la prochaine ligne vide (rapide pour le coup)

On peut coupler suppression et recherche : je veux supprimer une fonction parmi d'autres, par exemple dans un fichier Python, je me place au début de celle-ci et :

d/def<Entrée> : supprime jusqu'à la prochaine occurence du mot-clef def (sans me soucier du fait qu'il y ait des lignes vides dans la fonction à supprimer)

Les tags en effet c'est super puissant aussi

Pour ce qui est de la souris, le pb quand on travaille sur un portable c'est qu'utiliser le touchpad est pas super précis, je préfère 100 fois le clavier

Salut,

Avec Vim je taperais :

1
2
54gg0
d89gg

noobien

Ou, plus simplement avec ex. ;)

1
:54,89d

On peut faire de même pour supprimer une fonction rapidement suivant comment on rédige son code. Par exemple, pour du C.

1
2
3
4
5
void
test(void)
{
        return;
}
1
:/^test/-1,/^}/d
+1 -0

Tout ça c'est sans mentionner que Vim supporte aussi nativement le folding, et moyennant plugin, les outils de refactoring dans la plupart des langages…

La question n'est pas de savoir si un éditeur comme Vim supporte telle ou telle feature des IDE graphiques (dits "modernes"). La réponse sera systématiquement "oui, et sûrement depuis plus longtemps !".

Le problème revient surtout à décider si on estime être plus efficace en les utilisant au clavier (moyennant un apprentissage initial, certes) ou avec une souris.

Dans mon cas perso, y'a pas photo. Je déteste lever les mains de mon clavier. À l'exception de mon browser et mon client mail, mon environnement de travail tient tout entier dans un émulateur de terminal, moyennant une combinaison judicieuse d'onglets et de screen et je navigue dedans sans jamais toucher à la souris.

J'approuve donc complètement le post d'adri1 : ce n'est pas "taper des commandes au clavier" qui est ennuyeux, c'est l'investissement initial pour mettre en place un environnement de travail dans lequel on se sent bien, à savoir le temps qu'il faut pour assimiler ces commandes et ces raccourcis jusqu'à les taper sans même réfléchir, et configurer son .vimrc et son .screenrc pour la première fois. Je ne comprends même pas qu'on puisse encore considérer ce coût comme "trop cher payé" quand on bosse avec un tel environnement sur une base quotidienne pendant des mois ou des années.

+5 -0

Dans mon cas perso, y'a pas photo. Je déteste lever les mains de mon clavier. À l'exception de mon browser et mon client mail, mon environnement de travail tient tout entier dans un émulateur de terminal, moyennant une combinaison judicieuse d'onglets et de screen et je navigue dedans sans jamais toucher à la souris.

Connais tu pentadactyl ?

Merci de vos réponses. J'ai trouvé un jeu nommé Vim Adventures qui permet d'apprendre à utiliser Vim sous la forme d'un jeu. Juste pour en revenir au débat je trouve que décoller les mains de son clavier, prendre sa souris, trouver le curseur, sélectionner du texte puis revenir au clavier pour le supprimer est lent et frustrant. Personnellement ça a tendance à m'agacer et je me déconcentre de mon code.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte