Forum Linux.général Changer la taille des tabulations.

Posté par  .
Étiquettes : aucune
0
17
jan.
2005
Hello !
J'aimerais changer de manière définitive la taille des tabulations dans mon terminal. Par défaut, j'utilise bash. Sous vi, j'ai trouvé (depuis longtemps), y'a la commande :set ts=x, avec x le nombre de caractère souhaités pour la tabulation. C'est tip-top nickel.
Comme je n'ai pas trop de place, je l'ai positionné à 2. C'est un choix personnel, alors merci de ne pas troller sur la taille "normale" d'une tabulation.
Comment fait-on pour que les commandes cat, less, more, etc... lancées depuis un shell formattent les tabulations à une valeur autre que 8 ?
Et puis, dans la foulée, si l'une ou l'autre de ces commandes était capable de m'afficher mes sources avec la coloration syntaxique, ça m'éviterait de faire un vi dessus systématiquement.
Par avance merci de votre attention et de votre aide.
  • # vi et la coloration syntaxique

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

    A ma connaissance, vi ne fait pas la coloration syntaxique.
    Mais vim, si.

    Et attendre de cat, more ou meme less qu'ils le fassent, c'est leur demander beaucoup. perso, quand je veux de la coloration, je lance view (qui est un alias de vim en mode lecture seule). Ca prend pas des heures a se lancer et c'est pas super long a taper.

    sinon, pour les tabulation, au lieu de cat, utilise
    sed 's/ / /g'
    (ou le premier espace est une tabulation, ce qui s'ecrit en faisant control-v tab)
    • [^] # Re: vi et la coloration syntaxique

      Posté par  . Évalué à 2.

      Désolé de t'avoir froissé à propos de vi vs vim... ;-) !
      En fait, je parlais évidement de vim, mais comme il y a systématiquement un lien de vi -> vim lors de l'installation de ce dernier... Disons que c'est un abus de langage !

      Pour view, je ne connaissait pas... C'est sympa, mais ça correspond trop à vi{,m}, n'affiche pas page par page, bref, ne correspond pas à un affichage à la cat/more/less.

      L'idée du sed, j'y avais pensé, mais j'avais plus simple : sed 's/\t/ /g' ? Enfin, bref, merci pour ces pistes.
      Je trouve ça dommage qu'aucun programme ne permette de coloriser ce qu'on voit à l'écran. J'ai même pas réussi à utiliser vim comme un filtre. Tant pis (ou alors je ne dois pas être doué, après tout, je suis loin de tout connaître !)....
  • # Non

    Posté par  . Évalué à 3.

    Dans la console, d'après mes souvenirs, c'est codé en dur dans le noyau. La console est une émulation de VT100 (fichier drivers/char/vt.c), et le VT100 ne permet pas de modifier la taille des tabulations.

    Quant au xterm, c'est une autre émulation de VT100, donc, à mon avis, ça ne doit pas être modifiable non plus. Mais tu peux toujours jeter un oeil à man xterm, je poste de mémoire, donc je peux toujours me tromper :-) .
    • [^] # Re: Non

      Posté par  . Évalué à 2.

      Bon sang, mais c'est bien sûr !
      C'est bien vu tout ça, et ça explique beaucoup de choses.
      Comme j'utilise KDE, j'ai regardé dans les paramètres de konsole, c'est pas plus possible à priori , que dans la console de changer la taille. Tant pis. En tout cas, merci pour ces explications, qui, à défaut de résoudre le problème, permettent d'en identifier la source !
  • # Attention ...

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

    A regler ta tab sur 2 caractères, tu vas vite faire des indentations de 5 ou 6 tabs, qui donneront des fichiers illisibles sur les machines normalement configurées (tab = 8).

    Solution : indenter avec des espaces.
    • [^] # Re: Attention ...

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

      /me s'enfonce un poignard dans le coeur.
      Plus sérieusement, il faut utiliser des éditeurs civilisés (ce n'est pas ça qui manque sous unix) qui sont capables d'adapter la taille, le format des tabulations en fonction du type de fichier édité.
      Pour du C, je ne me prononcerai pas, c'est trop risqué (4 vrais espaces).
      Pour du LISP, ce sont clairement des espaces qu'il faut.
      Pour du XHTML, des tabs à 4?
      Pour du python, des tabs à 8?

      Solution facile : les modelines Emacs ou vim (par défaut, yen a pas)
      Solution intermédiaire : la conf Emacs ou vim (par défaut, yen a pas)
      Solution plus complexe : la conf des fichiers de mode Emacs ou de syntaxe vim (en général, faits avec bon sens)
      • [^] # Re: Attention ...

        Posté par  . Évalué à 1.

        Plus sérieusement, il faut utiliser des éditeurs civilisés (ce n'est pas ça qui manque sous unix) qui sont capables d'adapter la taille, le format des tabulations en fonction du type de fichier édité.

        Mais je n'ai jamais dit que je n'utilisais pas un de ces éditeurs !
        Ce que je voudrais, c'est pouvoir visualiser le contenu d'un fichier source, colorisé, indenté comme je veux, sans passer par un tel éditeur. Un cas d'utilisation vous éclairerait ? Très bien. Je développe pas mal en php, et parfois, j'ai des fichiers un peu long. Si je fais un less dessus, il m'en affiche le contenu, mais c'est pas très lisible, car pas colorisé. Si on pouvait juste parcourir le fichier, sans risquer d'en changer le contenu, avec les folds pliés, déplier ceux qu'on veut, ou seulement ceux contenant le terme recherché (c'est un exemple, hein !). Ou mieux, le fin du fin : n'obtenir que la partie du script qu'on souhaite, le code d'une fonction seulement, et pas tout le ficher... Mais dans un terminal, peu importe que ce soit une console, une konsole, un xterm ou autre... Ce serait le bonheur. Voilà mon souhait, et visiblement, ça n'existe pas... Si un jour j'en ai le temps, ça pourrait être un projet...

Suivre le flux des commentaires

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