Xsh (abréviation de Xiki Shell) possède de nombreuses fonctionnalités:
xsh
puis taper return.$ xsh
On est maintenant de retour à Bash. Xsh est destiné à compléter bash plutôt que de le remplacer. Ainsi, on peut rapidement sauter dans xsh puis en sortir.
Xsh affiche les raccourcis clavier directement à l'écran! Donc, vous n'aver pas à les mémoriser comme dans des shell traditionnels.
Les lettres soulignées indiquent les raccourcis Ctrl.
En cliquant dessus, vous obtener une description (si le support de la souris est activé). Vous pouver taper ces raccourcis clavier même s’ils n’apparaissent pas à l’écran.
Toutes les clés sauf les 3 dernières peuvent être directement appellées depuis bash.
Dépannage: Si la “configuration par défaut” n'a été pas sélectionnée lors de la configuration de xsh, il est possible que les raccourcis clavier bash ne soient pas activés. Exécuter xsh --help
dans bash pour afficher les équivalents en ligne de commande de chaque raccourci clavier.
Il suffit de taper des lettres pour filtrer la sortie de commande
Par exemple dans bash :
cd /
et return pour revenir au répertoire racine.ls
mais ne pas faire return.Ctrl + O
. Il ouvre xsh et exécute la commande.Dans xsh, il est facile de filtrer la sortie des commandes shell. Il suffit de taper quelques lettres après l'exécution de la commande! Dans les shells traditionnels, il faut utiliser grep, ce qui est lent et fastidieux
Lorsque Filtre AZ
apparait dans la barre inférieure, cela signifie que l'on peut taper des lettres à filtrer.
Taper bi
pour filtrer progressivement jusqu'à ne contenir que les lignes contenant bi
.
Lorsque Filtre AZ
n'est pas affiché, les touches de lettre servent à la saisie, car tout est modifiable dans xsh.
Appuyer sur échap pendant le filtrage pour recommencer. Ensuite, taper quelques lettres pour filtrer à nouveau.
Xsh fait de la sortie de commande une interface interactive! Pour la commande ls
, cela signifie que l'on peut naviguer de manière visible dans les répertoires et les fichiers. Au lieu d'avoir à taper un tas de commandes ls
et cd
.
$ ls
.
La barre du bas affiche à nouveau Filtre AZ
, on peut donc taper des lettres à filtrer.
etc
pour filtrer jusqu'à etc
.etc
.Si cela retourne une erreur «Aucune action shell n’est installée» créer le script ~/xiki/ls.xiki avec le contenu suivant.
> @xiki .Shell action for navigating files $ ls |:anything !.# ! # This shell action lets you expand the output of ! # the ls command, like this: ! # ! # $ ls ! # : etc/ ! # : home/ ! # : craig/ ! # : guest/ ! # ! ! # "$ ls", so change "|..." lines to ":..." lines... ! ! if args == [] ! return "|\n| This action lets you expand the output of the 'ls' shell command.\n|" if ! shell_output ! return shell_output.gsub(/^\|/, ':') ! end ! ! path = args.map{|o| o.sub(/^: /, '')}.join("/") ! ! # ": dir" line passed... ! ! if File.directory? path ! return Shell.command("ls -p '#{path}/'").quoted ! end ! ! View.open path ! "" # Blank string means we handled ! # Shell.command("cat '#{path}'").snippet
ho
pour filtrer à nouveau.
Nous verrons plus tard comment xsh rend toutes sortes de commandes shell interactives, pas seulement ls
.
Ctrl + O exécute des commandes et ouvre des choses. Alors que return insère généralement des sauts de ligne. Mais lorsque Filtre AZ
est visible, le retour est similaire à Ctrl + O. Un double-clic agit également comme Ctrl + O (si le support de la souris est activé).
Xsh s'intègre l'éditeur de texte par défaut.
Cela permet de visualiser le contenu du fichier /etc/hosts, pour l'éditer:
Xiki utilise l'éditeur spécifié dans la variable d'environnement bash “EDITOR”. Si cela n'est pas encore fait, on peut configurer l'éditeur favori (puis recharger via xsh --reload
dans bash après). Si ce n'est pas défini, xsh utilise par défaut “nano” sur linux ou “TextEdit” sur mac.
Pour quitter l'éditeur de texte et retourner à bash.
en cas de problèmes, essayer échap pour aller à la vue précédente ou Ctrl + Z pour annuler.
Il existe un support de souris optionnel. Ne soyer pas trop inquiet s'il n'est pas activé pour votre configuration de terminal ou xsh. C'est complètement optionnel. Les utilisateurs avancés de xsh l'utilisent rarement.
$ ls
pour la réduire.Cliquer sur les mots dans la barre inférieure pour afficher une description de ce que fait chaque touche.
Ouvrir
dans la barre du bas.Go
dans la barre du bas.x
à droite de la barre inférieure pour fermer la vue.Si le support de la souris n'est pas activé, appuyer sur Ctrl + \ pour voir les descriptions.
La création de notes est aussi simple que de créer un fichier texte (ou d’ajouter des éléments à un fichier texte existant).
En bash, pourrevenir au dernier endroit en xsh, appuyer simplement sur Ctrl + G à l’invite de bash vide. De cette façon, xsh agit comme un bloc-notes persistant, dans lequel on peut entrer et sortir.
En xsh, tout est éditable! on peut taper n'importe où. Dans les shells traditionnels, on ne peut taper qu'à l'invite la plus basse. Lorsqu'on quitte xsh, il enregistre automatiquement la vue actuelle (et mémorise le répertoire en cours).
Ctrl + G fonctionne dans les deux sens. Lorsqu'on utilise une commande shell dans xsh, il accède à bash et exécute la commande.
$ ls
et appuyer sur Ctrl + G.etc /
et appuyer sur Ctrl + G pour aller à bash et cd à ce répertoire.Xsh permet de créer des notes interactives! Les notes peuvent être ce qu'on veut. Elles peuvent être aussi simples qu'une commande shell ou deux et une description. Il peut même s'agir d'interfaces utilisateur légères et puissantes pour les commandes shell et autres API. Il est conseillé d'organiser les notes en sujets.
Chaque sujet est juste un fichier texte dans le répertoire ~/xiki/
. Ils contiennent les notes. Les sujets listés ont été créés lors de l’installation de xsh, pour aider à démarrer. Les sujets créés par la suite seront ajoutés en haut de cette liste. Les rubriques utilisent une syntaxe wiki-ish simple et peuvent être créées et modifiées avec n’importe quel éditeur de texte.
di
pour filtrer jusqu'à la rubrique “disque”.
Noter que la barre du bas indique qu'on se trouve dans le fichier ~/xiki/disk.xiki
. Les lignes avec un fond gris sont des en-têtes de notes. Ils séparent chaque note. Les titres ne sont que des lignes commençant par >
.
C'est un peu accablant de voir toutes les notes d'un sujet à la fois. Voir seulement les noms de notes serait plus facile. Surtout pour les sujets avec beaucoup de notes. Disons 100 ou plus.
di
pour filtrer sur “disque”.Ces trois retours auraient pu être Ctrl + O à la place. La seule différence est que return masque les autres éléments avant son ouverture.
On aurait aussi pu taper “espace disque” puis Ctrl + X à une invite bash vide, puis appuyer deux fois sur la touche retour. Cela montrerait le sujet “disque” et filtrerait jusqu'aux notes contenant le mot “espace”.
Xsh transforme le terminal en moteur de recherche! Il suffit de taper un terme de recherche à l’invite bash et d’appuyer sur Ctrl + S. C'est plus rapide et moins gênant que de copier et coller des commandes à partir de recherches sur le Web.
Les résultats de la recherche sont des notes partagées par d'autres utilisateurs de xsh.
cp
pour filtrer les résultats de la recherche “Processus prenant cpu”.On aurait aussi pu taper “process cpu” puis Ctrl + S à l'invite bash.
Toutes les notes sont privées par défaut. Le partage est encore en version bêta privée, mais sera bientôt disponible pour tous les utilisateurs xsh.
Pour créer une note très simple:
echo
à l'invite bash, mais ne pas appuyer sur la touche Entrée.C'est vide car il n'existe pas encore. Noter le chemin du fichier dans la barre inférieure.
> Nom d'utilisateur $ echo $ USER
Vous pouver voir qu'un nouveau sujet est là, avec la note à l'intérieur. C'est en haut, puisqu'il s'agit du fichier le plus récemment mis à jour. On aurait pu accomplir la même chose en créant “~/ xiki/foo.xiki” avec n’importe quel éditeur de texte.
xsh permet de naviguer facilement dans git!
La rubrique “git”, fournit des exemples de notes avec xsh qui crée des référentiels.
cd
et revenir au répertoire personnel.git
dans bash, mais ne pas appuyer sur return.la note “+ create example repository”. Il y a “+” au début car c'est une action (une note spéciale qui exécute quelque chose lorsqu'on l'ouvre). Pour créer une action, il suffit de mettre un point au début de son nom (par exemple: “> .Foo”).
git log
dans bash, puis sur Ctrl + O pour l'ouvrir dans xsh. Xsh le rend interactif.
Pour changer de branche, taper git
et filtrer jusqu'à “branche” (bien que l'on puisse taper “git branche” directement).
git
et Ctrl + O pour l’ouvrir en xsh.br
puis appuyer sur Entrée pour développer la ligne “branche …”.On peut observer d'u'on a changé de branche.
lo
pour réduire à git log
, puis appuyer sur Retour.On verra qu'il y a des commits “master” dans cette branche. Vous pouver les ouvrir pour voir les diffs.
Ignorer cette section pour n'utiliser xsh qu'avec ssh ou docker (si on ne peut pas démarrer un navigateur Web à partir du shell).
La barre oblique à la fin indique à xsh d’exécuter une action spéciale qui affiche des extraits de code HTML dans le navigateur.
Les changements seront directement affichés dans le navigateur. Par défaut, un nouvel onglet est ouvert à chaque fois. Cela peut être évité en installant une dépendance qui permet à xsh d’avoir le contrôle total du navigateur.
Par exemple pour créer une note expliquant comment faire une div avec des coins arrondis en CSS.
(Sinon, on aurait pu appuyer sur Ctrl + O et accéder au fichier de sujet.)
On peut modifier certaines valeurs et appuyer à nouveau sur Ctrl + O. On peut également essayer de rechercher “bootstrap”, “d3”, “threejs”, “fontawesome” ou “react” pour donner quelques exemples.
En utilisant une note qui a été installée par défaut pour aider à réaliser le didacticiel. (A l'avenir, utiliser Ctrl + S pour rechercher d'autres notes pour les utiliser et les installer pour qu'elles soient faciles d'accès.)
On aurait pu taper “sqlite3 / tables” et Ctrl + X en bash pour accéder directement à l'action “tables”. Mais il existe un sujet “tables” pour le rendre encore plus rapide.
La barre oblique à la fin signifie exécuter l'action pour le sujet. Les actions de barre oblique sont des notes spéciales qui permettent aux sujets de se comporter éventuellement comme des actions.
On peut également taper “sqlite3/” dans bash, puis sur Ctrl + X pour exécuter des instructions SQL.