Forum Astuces.divers [Admin] Complétion avec ksh

Posté par  .
Étiquettes : aucune
0
3
juin
2006
Vous vous retrouvez dans un contexte professionnel où vous n'avez pas d'autre choix de travailler avec ksh ?
La complétion vous manque mais vous n'osez pas vous faire remarquer en disant que bash et zsh sont bien supérieurs à ksh ?
Cette astuce est faite pour vous !
Il existe plusieurs versions de ksh, et d'après mes recherches avec google "ksh tab completion", il semblerait que l'on puisse dire à ksh d'utiliser TAB pour faire de la complétion, en fait ça ne marche pas avec tous...en tout cas je n'ai pas réussi avec le ksh fournit en standard dans AIX, bref :
Il existe plusieurs complétions possibles, et elles ne sont pas aussi pratiques que celle de bash, mais elles ont le mérite d'exister, alors commençons :
En mode vi :
set -o vi
ls c* -----> Tous les fichiers/répertoires dont le nom commence par c vont apparaitre, il suffit ensuite d'effacer ce qui gêne
ls c\ -----> Même chose, enfin presque, la complétion se fait jusqu'au max et il faut compléter soit même après
ls c= ------> Une liste apparait de choix possible, un simple copier-coller et c'est parti
En mode emacs :
et bien c'est pareil...
Donc en résumé, ce que vous faisiez avec la touche TAB sous bash est possible avec ksh, mais avec trois combinaisons différentes...c'est toujours ça de pris
  • # Problème avec templeet

    Posté par  . Évalué à 1.

    Il semblerait que teemplet ai "mangé" quelques caractères.

    Il fallait lire la combinaison de touches

    <ESC>*

    Ce qui veut dire qu'il faut appuyer sur la touche ESC puis sur une des touches suivantes * ou \ ou =

    Vous obtiendrez donc la complétion tant attendue avec ksh.
    • [^] # Re: Problème avec templeet

      Posté par  . Évalué à 0.

      Et bien sûr k pour le rappel des commandes
      esc> poru la completion automatique (mais si il n'y a un qu'un seul fichier repondant au critère)
      En mode "commande", hjkl pour gauche bas haut droite
      r pour remplacer le caractère
      dd pour effacer la commande
      x pour effacer un caractère

      Tout ça en mode vi
  • # Ben, ca marche tres bien

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

    $ echo $SHELL
    /bin/ksh
    $ ps
    ps ps2pdf ps2pdf14 psbb pstat
    ps2ascii ps2pdf12 ps2pdfwr psed pstopnm
    ps2epsi ps2pdf13 ps2ps psidtopgm pstruct
    $ ps

    Voila, conf par défaut sous OpenBSD.
  • # Complétion..

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

    Bonjour,
    Prenez garde que "complétion" n'est pas exactement la traduction de "completion" en anglais. Préférez utiliser "complètement automatique" qui, en plus d'être correct, sera compris par le quidam, au moins !

    Désolé pour ceux qui aiment utiliser des termes peu connu pour faire plus 1337.
    • [^] # Re: Complétion..

      Posté par  . Évalué à 2.

      Pour ma culture perso, en quoi "completion" n'est pas correcte ?

      http://atilf.atilf.fr/dendien/scripts/fast.exe?mot=completion

Suivre le flux des commentaires

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