Pourquoi les experts Vim préfèrent les tampons aux onglets?


244

Je ne comprends pas les tampons. Lorsque j'ouvre 3 fichiers sur le même onglet et ferme ma fenêtre, je suis généralement ennuyé de découvrir la prochaine fois que j'ouvrirai l'un de ces fichiers qu'il y a d'étranges fichiers d'échange persistants et me donnant des messages embêtants. Mais maintes et maintes fois j'ai lu que ces choses sont le nirvana de productivité que je manque et que des onglets ont été faits pour que les plébéiens les utilisent.

Je vous demande donc, l'expert Vim: quels sont les avantages d'utiliser des tampons par rapport aux onglets? Je ne vois pas comment la différence pourrait être profondément différente, mais je ne me considérerais qu'au niveau débutant-intermédiaire au fonctionnement de Vim. Est-ce :ls :b#vraiment beaucoup plus rapide gtqu'ingérer? Je pense que cela doit aller plus loin que cela.


6
Pour ceux qui apprennent Vim ou qui viennent à Vim fortement influencés par d'autres éditeurs basés sur l'interface graphique, je recommanderais fortement de lire d' abord la réponse de @Jonathan Brink, puis de revenir à la première réponse ici.
icc97

1
Ne vous en faites pas trop. J'utilise les onglets comme principal moyen de navigation entre les fichiers. Comme vous le dites, <#> gt est facile à taper. Pour le rendre encore plus facile à utiliser, je personnalise mes données de tabline pour inclure le numéro d'onglet. Si je dois afficher plusieurs tampons à la fois, je divise une nouvelle fenêtre dans l'onglet. Malgré ce que prétend @romaini, cette façon d'utiliser Vim me rend très productif car il correspond à mes métaphores personnelles. Notez également que dans une carrière de programmeur de 37 ans (jusqu'à présent), je n'ai pas encore eu à ouvrir plus de cinq ou six fichiers à la fois - et cela très rarement. Faites ce qui vous convient le mieux. :)
Tony

Faites ce qui fonctionne. Certaines personnes utilisent beaucoup de fichiers dans une session, donc les tampons comptent beaucoup plus. Même Bram Moolenaar dit "organisez-les comme vous voulez". Ouvrir 20 onglets n'est pas la bonne façon, mais les onglets de quelques fichiers ne sont pas la fin du monde. La solution de Bram pour gérer un grand nombre de fichiers ouvre plusieurs sessions de terminal. Il dit que c'est comme ça qu'il fait, mais pas que c'est ainsi que tout le monde devrait le faire.
craft

La différence la plus évidente qui ne semble pas être mise en évidence correctement est que si vous restez dans un onglet, vous pouvez afficher plusieurs tampons en même temps en :splitcliquant sur "fenêtres". Si vous avez tous vos tampons (fichiers) dans des onglets séparés, vous n'obtiendrez pas cette vue simultanée. Je recommanderais d'apprendre vim en utilisant 1 onglet pour commencer et de s'habituer aux divisions.
NeilG

Réponses:


500

Comme l'a dit ZyX sur #vim, cette question sonne comme "Pourquoi les experts de Vim préfèrent-ils savoureux à chaud?" .

Les "experts Vim" ne préfèrent pas les tampons aux onglets: ils utilisent les tampons comme proxy de fichier qu'ils sont et les pages à onglet comme espaces de travail. Les tampons et les pages à onglets ont des objectifs différents, donc préférer l'un à l'autre n'a aucun sens.

Le problème avec les tampons et les onglets est celui de la confusion , causée par une combinaison de faits indépendants.

  1. La plupart des éditeurs de texte et des IDE «modernes» utilisent une métaphore de tabulation pour représenter les fichiers chargés. Cette métaphore agit comme un système d'information - elle montre à l'utilisateur quels fichiers sont ouverts et leur état - et comme un appareil interactif - elle permet à l'utilisateur de manipuler (réorganiser, sélectionner, fermer…) ces fichiers ouverts. Malgré leurs nombreuses limites, les onglets sont partout et les gens y sont habitués et les attendent partout.

  2. Vim a introduit des pages à onglets dans 7.0 pour permettre à ses utilisateurs de créer des "espaces de travail" ad hoc. Rien dans leurs fonctionnalités, leurs options spécifiques, leurs commandes spécifiques ou leurs :helpsections ne suggère que les pages à onglet pourraient ou devraient être utilisées comme proxy de fichier.

    Rien que le nom et l'apparence des "onglets", bien sûr, ce qui crée beaucoup de confusion.

  3. Sans :set hidden, qui est désactivé par défaut et pas très facile à trouver, Vim rend impossible de basculer vers un autre tampon sans écrire celui en cours ou abandonner ses modifications. Les nouveaux utilisateurs, ignorant cette option, n'ont d'autre choix que de se tourner vers une utilisation intensive de Windows ou vers la fonctionnalité "tabulaire" la plus proche qu'ils peuvent trouver: les pages d'onglet.

"Tab page" est un choix de nom malheureux pour cette fonctionnalité, en particulier à une époque dominée par l'idée que la lecture de la documentation est une perte de temps.

Dans Vim, les pages à onglets sont une abstraction construite au-dessus des fenêtres, elles-mêmes une abstraction construite au-dessus des tampons. Chaque nouveau niveau ajoute des fonctionnalités utiles mais restreint votre flux de travail.

La "voie tampon"

Avec un flux de travail basé sur un tampon, les fichiers avec lesquels vous travaillez sont répartis sur une seule dimension. Vous pouvez parcourir vos tampons, vous pouvez accéder à un tampon spécifique en tapant une partie de son nom (avec complétion) ou son numéro, vous pouvez alterner entre les tampons, vous pouvez les cibler assez facilement. Il n'y a pratiquement pas de friction.

  1. Huit tampons ouverts, un seul visible:

    Huit tampons ouverts

  2. Commutation par numéro:

    Commutation par numéro

  3. Changement de nom:

    Changement de nom

Les tampons sont les proxys de fichiers de Vim. Si vous pensez en termes de fichiers, vous pensez en termes de tampons.

La "voie fenêtre"

Avec un workflow basé sur une fenêtre, vos "fichiers" sont tous les deux distribués le long de la même dimension "virtuelle" comme ils le feraient si vous utilisiez uniquement des tampons et le long de deux autres dimensions "physiques". Mais les espaces cartésiens dans lesquels se trouvent ces dimensions sont presque complètement séparés: passer à un autre tampon signifie toujours «passer à un autre fichier» mais pas à une autre fenêtre. Le tampon qui correspond au fichier souhaité peut être affiché dans cette fenêtre mais il peut également être affiché dans une autre, peut-être dans une autre page à onglet, ou pas du tout.

Avec Windows, la navigation entre les fichiers ouverts devient trop complexe ou trop simpliste, même avec 'switchbuf'et :sb. Principalement parce que vous êtes obligé d'utiliser deux ensembles de commandes pour ce qui est essentiellement la même chose: accéder à un tampon.

Windows a leur utilisation, comme décrit ci-dessous, mais ils n'ont pas ce qu'il faut pour remplacer les tampons dans le flux de travail de quiconque.

Ici, je travaille sur un schéma de couleurs Vim. Les deux fenêtres sont des vues différentes du même tampon: celle du haut sert de référence, avec un tableau des codes de couleurs utilisés dans le schéma de couleurs, et celle du bas est l'endroit où je travaille:

Travailler sur un schéma de couleurs

Les fenêtres ne sont pas conçues comme des proxys de fichiers et ne peuvent pas être transformées en un: ce sont des "conteneurs" ou des "fenêtres" conçues pour vous offrir une vue dans un tampon. Ni plus ni moins.

La "façon tabulation"

Avec un workflow basé sur des onglets, vous essayez essentiellement de reproduire l'expérience utilisateur à laquelle vous êtes habitué à partir de votre éditeur précédent tout en ignorant complètement la nature même des pages à onglet de Vim. Si nous oublions un instant que cette stratégie est généralement très improductive, il est également impossible, tout comme avec Windows, de forcer Vim à adhérer à ce paradigme "un fichier = un onglet" sans perdre beaucoup de flexibilité.

Travaillant toujours avec les mêmes fichiers que ci-dessus, la tabline occupe un espace important pour pratiquement aucun avantage. Tous mes fichiers et tous mes onglets sont appelés, javascript*.vimdonc je ne peux pas le faire 3gtet je suis sûr que je vais me retrouver au bon endroit et il est impossible d'atteindre un onglet spécifique par son nom. Ajoutez à cela le fait que son étiquette peut très bien être très inutile mais parfaitement logique [Quickfix List]… Puisqu'il n'y a aucun moyen pratique de lier un fichier / tampon à une page à onglet, il ne vous reste en gros qu'un seul moyen pratique de naviguer entre les pages à onglet / buffers / files: cyclisme.

Et oui, ma tabline est encombrée de seulement 8 onglets, imaginez si j'en avais 20!

  1. Huit tampons ouverts dans huit pages à onglets (faux)

    Faux

  2. Deux onglets pour deux tâches spécifiques (à droite)

    Droite

Les pages à onglet sont des "conteneurs" ou des "fenêtres" conçues pour contenir une ou plusieurs fenêtres, elles-mêmes également des "conteneurs" conçus pour contenir des tampons.

En conclusion

Les "experts Vim" (supposons que je puisse parler comme si j'étais un) ne préfèrent pas les tampons aux onglets: ils utilisent simplement Vim tel qu'il a été conçu et sont parfaitement à l'aise avec ce design:

  • Les "experts Vim" ont 2, 30 ou 97 tampons chargés et sont très heureux de ne pas avoir à gérer la distribution spatiale;

  • lorsqu'ils ont besoin de comparer deux fichiers ou de travailler dans une partie de la mémoire tampon actuelle tout en en gardant une autre comme référence, les "experts Vim" utilisent des fenêtres car c'est ainsi qu'ils sont censés être utilisés;

  • lorsqu'ils ont besoin de travailler pendant un certain temps sur une partie distincte du projet sans toucher à leur vue actuelle, les "experts Vim" chargent une toute nouvelle page à onglet.


10
Pour quelques liens supplémentaires voir mes tampons Utiliser efficacement après
Peter Rincker

7
@DavidEG, avoir 20 tampons n'est pas du tout problématique donc il n'y a vraiment pas besoin d'un plugin. D'un autre côté, 20 pages à onglets - qu'elles soient des proxys de fichiers convaincants ou non - ne peuvent pas tenir sur la plupart des écrans, plug-in ou non.
romainl

2
@Kache, oui, c'est exactement le cœur de mon argument: vous pouvez utiliser des fenêtres et des pages à onglet pour ce qu'elles sont, mais pas en tant que fichiers proxy. Donc, l'argument n'est pas de savoir si les gens devraient utiliser des pages à onglet ou des tampons, mais si les gens devraient utiliser des pages à onglet comme proxy de fichier ou non.
romainl

14
En tant que « expert Vim » Je peux dire que plus de 4 cents tampons « ouvert » (vraiment « dans la liste, mais sans charge, à l' exception de quelques uns ») est une situation régulière quand je traite avec le projet comme NeoVim (j'ouvre simplement tous *.c, *.h, scripts/*et test/**/*.luafichiers). Étant donné que mon terminal ne fait que 239 colonnes de large, l'approche «un fichier par onglet» est impossible à utiliser.
ZyX

3
Et étant donné qu'il existe un certain nombre de plugins (Command-T,…) qui rendent la commutation entre les tampons et / ou les fichiers plus facile en utilisant des onglets pour tout projet relativement volumineux n'a aucun sens. Et neovim avec ≈500 fichiers «intéressants» est un gros projet, mais pas le plus gros. Lorsque vous êtes confronté à la nécessité de traiter de tels projets, vous utilisez toujours une sorte de recherche pour y naviguer (recherche de fichiers / balises avec Command-T et amis, différentes façons d'aller à la définition des symboles) et donc vous n'avez absolument aucune raison d'utiliser des onglets de cette façon: dans tous les cas, vous n'utiliserez pas la fonctionnalité liée aux onglets pour naviguer dans le projet.
ZyX

89

Je gardais chaque tampon dans un onglet séparé, mais j'ai grandi fatigué de constamment gtet gT-ment partout.

J'ai également estimé que les tampons étaient trop difficiles à gérer.

Voici quelques techniques qui ont totalement changé mon opinion précédente:

Voici mon workflow typique:

  • Ouvrez Vim et utilisez :e(généralement avec une expression régulière comme :e src/**/F*Bar.js) pour ouvrir un tampon
  • Sachez que je dois ouvrir un autre fichier. Utilisez :e-le également. Si je veux basculer entre ce tampon et le tampon actuellement ouvert, je vais l'utiliser :spou l' :vspouvrir dans une fenêtre séparée.
  • Répétez jusqu'à ce que j'aie les 3-5 fichiers que je vais basculer entre l'utilisation des techniques de la liste à puces ci-dessus pour voler entre vos tampons.
  • Si je veux "recommencer" avec mes tampons, fermez simplement Vim et rouvrez-le.

J'ai senti qu'après une semaine environ de forcer ces nouveaux modèles, il était devenu beaucoup plus facile de visualiser les tampons que j'avais ouverts et comment accéder à l'un d'eux en seulement quelques coups automatiques.


24
Il est dommage que de gentilles explications conviviales pour les utilisateurs / débutants comme celle-ci obtiennent environ 3% des votes positifs, des réponses trop complexes et désobligeantes, telles que la première votée ici. Je ne savais même pas que gTc'était la commande pour changer d'onglet, j'avais cherché le remplacement pour ctrl+tab. Merci donc d'avoir réellement aidé un nouvel utilisateur plutôt que de simplement le faire se sentir stupide.
icc97

11
Je dois dire que mon commentaire est injuste par rapport à la réponse de @ romainl, il était très heureux de répondre aux questions que j'avais à ce sujet. Mais certainement, en tant que personne essayant d'apprendre Vim, votre réponse est beaucoup plus facile à comprendre, mais sa réponse est plus complète une fois que vous en savez un peu plus.
icc97

3
Je pense que la réponse de @ romainl est extrêmement utile et nous donne une image claire de la façon dont les tampons, les fenêtres et les onglets sont conçus, et comment ils sont censés être utilisés. Même quand même, je pense que les utilisateurs de Vim sautent sur l'occasion de répondre aux questions d'une façon que vous ne grok vi , et cela peut être frustrant.
keyofnight

3
Je ne me souviens pas d'où je l'ai obtenu, mais nnoremap <leader>b :ls<CR>:b<space>c'est assez bien pour changer rapidement de tampon, car il vous montre une liste des tampons actuellement ouverts. De plus, les noms partiels sont acceptés (tant qu'il n'y a qu'une seule correspondance).
naught101

1
Cette méthode a également l'avantage vraiment impressionnant de l'auto-complétion de vim (par défaut, aucun plugin supplémentaire). Puisque vous utilisez plusieurs tampons, lorsque vous êtes en mode insertion et que vous faites un ctrl Nou ctrl P(P est ce que j'utilise habituellement), cela vous donnera une liste de mots pour terminer ce que vous tapiez ... Son intelligent en fonction de votre courant tampon, ceux fractionnés, ceux que vous regardiez et tous les autres fichiers ouverts!
g19fanatic du

12

L'inconvénient des onglets est que vous ne pouvez voir que le contenu d'un à la fois. Donc, si vous les utilisez comme dans un navigateur, vous perdez la visualisation de plusieurs tampons côte à côte, ou même la visualisation de parties séparées du même fichier en plusieurs parties. Par conséquent, beaucoup recommandent d'utiliser des onglets uniquement pour séparer différents espaces de travail (par exemple en avoir un pour un projet Java, un autre pour une liste de tâches, un troisième à pirater sur un script sur le côté).

Les problèmes que vous décrivez font apparaître que vous utilisez mal Vim. Soit (principalement) une seule instance dédiée. Ensuite, les tampons qui deviennent cachés "réapparaîtront" simplement si vous les rééditez (et vous pouvez maintenant utiliser la liste des tampons pour les rappeler), et il n'y aura pas de messages de fichier d'échange. Ou, utilisez des instances Vim distinctes par projet / fichier / session d'édition, mais prenez l'habitude de complètement :quitchaque instance lorsque vous avez terminé avec le fichier.


J'utilise des fractionnements de temps en temps. Je ne savais pas qu'ils étaient considérés comme «utilisant des tampons». C'est vraiment un concept mystérieux pour moi.
2c2c

1
Comme redécouverte intéressante des onglets, tabman peut générer un panneau latéral de type NerdTree, qui détaille tous les tampons tels qu'ils étaient affichés dans chaque onglet.
llinfeng

7

Une autre astuce, lorsque vous utilisez le nom du tampon comme argument pour: tampon, vous n'avez pas besoin de spécifier des noms entiers. Cependant, si plusieurs tampons correspondent à l'argument donné, les tampons ne seront pas commutés.

Tout fragment du nom du tampon peut être utilisé pour correspondre. Par exemple, si vous disposez des tampons request_manager.java, queue_manager.javapuis :buffer queou :b quecorrespond à tous les deux, mais basculez vers queue_manager.java comme il correspond au début.


3

J'utilise des onglets, Ctrl- Pet des sessions Vim dans mon flux de travail et j'ai maintenant plus d'un an:

  • J'ai )et (mappé à "aller à l'onglet suivant" et "aller à l'onglet précédent" respectivement. tnouvre un nouvel onglet. J'utilise également tabm pour aider à garder les choses organisées.

  • J'utilise des sessions Vim pour des groupes de fichiers liés à l'histoire / bug actuel sur lequel je travaille, généralement par catégorie. Ces sessions sont écrasées au cours du processus.

  • Je n'ai pas encore trouvé mieux que Ctrl- P, mais cela prend un peu de temps pour traiter tous les fichiers pour les trouver.


1

Lance 2c dans la pile.

TLDR; :b *part-of-filename*est le meilleur moyen de trouver un fichier dont vous avez besoin dans la liste des tampons, c'est-à-dire qu'il est PLUS RAPIDE et a MOINS de charge cognitive que les numéros de tampon, les onglets ou les fenêtres pour le suivi des fichiers.

Ce n'est rien pour moi d'avoir 30 tampons ouverts (c'est-à-dire que je n'ai pas fait le ménage), et la beauté des tampons utilisés est bien que cela ne me ralentit pas du tout. En fait, cela accélère les choses lorsque quatre jours après avoir ouvert le fichier, j'en ai besoin, j'appelle :b *part-of-filename*et il apparaît comme par magie, impressionnant ses collègues et les collectivistes toady.

Les tampons sont destinés aux fichiers.

Pour être efficace:

  • Ouvrez un premier fichier important à partir d'un répertoire racine diaboliquement bien choisi
  • Ouvrez les fichiers suivants avec :e
  • Utilisez lsTOUT le temps lorsque vous commencez pour obtenir un bon modèle mental (vous ne pouvez pas chercher ce que vous ne pouvez pas voir, mentalement ou littéralement)
  • Jamais :qça souffle
  • Entrez :bdans votre mémoire musculaire
  • :b1 est bon pour le premier fichier que vous savez que vous avez ouvert, sinon les chiffres et les lettres deviennent rapidement maladroits
  • :b# est bon pour passer à votre dernier fichier, ce qui est un besoin courant
  • :bd#est bon lorsque vous êtes passé à un fichier temporaire, avez fait ce que vous deviez faire, êtes revenu avec :b#et souhaitez maintenant fermer ce fichier temporaire
  • :b *part-of-filename* est autrement le meilleur moyen de trouver un fichier dont vous avez besoin dans la liste, c'est-à-dire qu'il est PLUS RAPIDE et a MOINS de charge cognitive que les numéros de tampon, les onglets ou les fenêtres pour le suivi des fichiers.

Le seul ennui de :b *part-of-filename* est que, parfois, vous n'avez pas encore ouvert le fichier et que vous devez d'abord revenir en arrière :e path/to/full-filename.

Les onglets permettent de différencier les fichiers vraiment indépendants.

Ou garder une disposition de fenêtres particulière à portée de main (avertissement: je ne l'ai jamais utilisé pour cela moi-même).

Ou pour les fichiers rarement utilisés, mais prévisibles. Pour moi, c'est généralement un commitMessagefichier que j'annote au fur et à mesure que je travaille, donc je n'ai pas à trop réfléchir quand vient le temps de faire un commit. gtest plus rapide que :b com<enter>(si vous vous sentez chanceux, sinon :b com<tab><enter>)

  • :tabe commitMessage
  • gtou gTaussi un favori de la mémoire musculaire

Les séparations de fenêtres servent à comparer visuellement les informations

Ou avoir un accès immédiat à des informations importantes (à vrai dire, à moins que ces informations ne soient en quelque sorte quelque chose dont j'ai besoin pour une mise à jour en direct, :ec'est- à- dire un fichier journal, je retire généralement le contenu dans le fichier actuel et y traite).

  • :vspou C-w vouvre une scission verticale c'est-à-dire à gauche | à droite, puis utilisez :bou :epour obtenir le fichier souhaité
  • :spou C-w souvrez une séparation horizontale, c'est-à-dire haut / bas
  • C-w C-w c'est-à-dire double Ctrl-w, vous fait tourner autour des fenêtres disponibles
  • C-w c fermer la fenêtre actuelle
  • C-w o fermez toutes les autres fenêtres, gardez le courant UNIQUEMENT

Réponse incroyablement utile, devrait avoir beaucoup plus de votes positifs. Merci pour les conseils, en particulier pour avoir un aperçu de votre flux de travail avec :b#et :bd#!
Alacritas

0

Ajoutez-les à vos .vimrctampons et commencez à les aimer:

:nnoremap <Tab> :n<cr>
:nnoremap <S-Tab> :N<cr>

De cette façon, vous pouvez les parcourir en avant / en arrière en mode normal via Tab/ ShiftTab.


5
Ne fais pas ça. Vous perdrez le mappage pour <C-I>. Mappez <C-Tab>plutôt si vous le voulez vraiment.

6
En outre, :net se :Nrapportent à la liste des arguments, pas aux tampons ouverts. Vous voudriez :bnet :bp( :bnextet :bprev). tpope's unimpaired fournit des mappages ]bet [bpour cela (et d'autres bonnes choses) si vous le souhaitez. (et ), ou <left>et les <right>flèches, seraient sans doute des touches moins utiles à remplacer que tabulation, si vous voulez vraiment un court mappage.
Vaz

1
@jeyoung a accepté - il est également beaucoup plus logique d'utiliser Ctrl + Tabcar c'est ce que la plupart des autres éditeurs et navigateurs GUI utilisent.
icc97

0

Je voudrais suggérer une implémentation brillante d'un bon nombre d'années: kien / tabman.vim . Il clarifie les points suivants:

  • On peut avoir autant de tampons soigneusement cachés quelque part;
  • De par leur conception, les onglets sont censés afficher les tampons de manière créative.
    • Avec un plugin de tabline approprié, on peut afficher tous les tampons cachés sur la ligne supérieure (tabline);
    • D'après mon expérience avec vim- airlines, la tabline affichera très peu d'informations pertinentes lorsque je créerai un nouvel onglet.
    • Deux balises occuperont la fente de tabline, côte à côte, gaspillant le reste des espaces horizontaux
    • Pire encore, je n'ai plus aucune idée de ce que sont les tampons qui sont cachés.

Cela a été une merveilleuse redécouverte de ce plugin magique, qui aurait dû rester dans ma configuration Vim pendant un bon nombre d'années également. Alors que je continuerais à chercher quelque chose qui affiche également tous les tampons cachés, TabMan est mon surhomme lorsqu'il s'agit d'avoir une vue d'ensemble de la façon dont les tampons étaient disposés sur différents onglets.



0

Je charge des tampons "sélectionnés" sous forme d'onglets pour basculer rapidement (TAB / S-TAB) entre eux. Le cadre des espaces de travail convient ici, car pour moi, les tampons VS tabs sont principalement la visibilité. Je peux afficher les fichiers importants / de travail dans les fenêtres et les onglets et masquer ceux que je n'ai pas besoin d'utiliser en arrière-plan à la volée sans avoir à me souvenir des chemins ou prendre du temps pour les rechercher et les charger à nouveau une fois que le besoin se fait sentir. Cela permet de gérer plusieurs tâches ou projets dans une session VIM, je suppose que cela était important dans les machines à faible mémoire, mais est également bon pour concentrer toutes les tâches d'édition sous un même cadre d'application. J'ai également des raccourcis de décalage de tampon définis sur Ctrl-Droite / Gauche afin que je puisse également passer rapidement à travers différents tampons.

En fin de compte, on ne peut diviser en certaines fenêtres pour ses utilisations autant que la succession d'écran, mais on peut conserver plusieurs paramètres de fenêtres dans plusieurs onglets, élargissant ainsi son espace de travail et améliorant le flux de travail permettant la division pratique des tâches compliquées faisant tourner plusieurs fichiers .

Pour les fichiers d'échange, vous pouvez demander à VIM de les conserver tous dans un dossier de votre désignation. Pour cette utilisation :set directory.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.