Il s'agit de la commande zshzle qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
zshzle - éditeur de ligne de commande zsh
DESCRIPTION
Si la MAL est définie (ce qui est le cas par défaut dans les shells interactifs) et le shell
l'entrée est attachée au terminal, l'utilisateur peut éditer les lignes de commande.
Il existe deux modes d'affichage. Le premier, le mode multiligne, est le mode par défaut. Cela ne fonctionne que si
le TERME paramètre est défini sur un type de terminal valide qui peut déplacer le curseur vers le haut. Les
le second, mode ligne simple, est utilisé si TERME est invalide ou incapable de déplacer le curseur vers le haut,
ou si le SINGLE_LINE_ZLE l'option est définie. Ce mode est similaire à ksh, et n'utilise pas de termcap
séquences. Si TERME est "emacs", le MAL L'option sera désactivée par défaut.
Les paramètres BAUDS, COLONNES et LIGNES sont également utilisés par l'éditeur de ligne. Voir Paramètres
Occasion By Pour coquille in zshparam (1).
Le paramètre zle_highlight est également utilisé par l'éditeur de ligne ; voir Personnage Mise en évidence
au dessous de. Mise en évidence des caractères spéciaux et de la zone entre le curseur et la marque
(comme défini avec set-mark-commande en mode Emacs, ou par mode visuel en mode Vi) est activé par
défaut; consultez cette référence pour plus d'informations. Les conservateurs irascibles souhaiteront
à savoir que tous les surlignages peuvent être désactivés par le paramètre suivant :
zle_highlight=(aucun)
Dans de nombreux endroits, des références sont faites aux numérique argument. Cela peut par défaut être
entré en mode emacs en maintenant enfoncée la touche alt et en tapant un nombre, ou en appuyant sur échappement
avant chaque chiffre, et en mode commande vi en tapant le numéro avant de saisir une commande.
Généralement, l'argument numérique provoque la répétition de la prochaine commande entrée le
nombre de fois spécifié, sauf indication contraire ci-dessous. Voir aussi le Arguments sous-section
du système Widgets section pour d'autres façons dont l'argument numérique peut être modifié. Les
les liaisons par défaut mentionnées ici utilisent le argument-chiffre widget.
CARTES CLÉS
Un mappage de touches dans ZLE contient un ensemble de liaisons entre les séquences de touches et les commandes ZLE. Les
la séquence de touches vide ne peut pas être liée.
Il peut y avoir n'importe quel nombre de mappes de touches à tout moment, et chaque mappe de touches a un ou plusieurs noms. Si
tous les noms d'un keymap sont supprimés, il disparaît. clé de liaison peut être utilisé pour manipuler
noms de mappage de touches.
Initialement, il y a huit keymaps :
emacs émulation EMACS
viines émulation vi - mode d'insertion
victime émulation vi - mode commande
viopp émulation vi - opérateur en attente
visuel émulation vi - sélection active
isearch
mode de recherche incrémentale
commander
lire un nom de commande
.sûr mappage de touches de secours
Le `.sûr' le clavier est spécial. Il ne peut jamais être modifié, et le nom ne peut jamais être
supprimé. Cependant, il peut être lié à d'autres noms, qui peuvent être supprimés. À l'avenir
d'autres claviers spéciaux peuvent être ajoutés ; les utilisateurs doivent éviter d'utiliser des noms commençant par `.' pour
leurs propres keymaps.
En plus de ces noms, soit `emacs' ou 'viines' est également lié au nom `principal'.
Si l'un des VISUEL or EDITEUR les variables d'environnement contiennent la chaîne `vi' quand le
shell démarre alors ce sera `viines', sinon ce sera `emacs'. clé de liaison's -e et mes
-v Les options offrent un moyen pratique de remplacer ce choix par défaut.
Lorsque l'éditeur démarre, il sélectionne le `principal' keymap. Si ce clavier ne fonctionne pas
existe, il utilisera `.sûr' au lieu.
Dans le `.sûr' keymap, chaque touche est liée à auto-insertion, sauf pour ^J (saut de ligne)
et ^M (retour) qui sont liés à ligne d'acceptation. Ce n'est volontairement pas agréable à utiliser ;
si vous l'utilisez, cela signifie que vous avez supprimé le clavier principal et que vous devez le remettre en place.
en cours Commandes
Lorsque ZLE lit une commande depuis le terminal, il peut lire une séquence liée à
une commande et est également un préfixe d'une chaîne liée plus longue. Dans ce cas, ZLE attendra un
certain temps pour voir si plus de caractères sont saisis, et sinon (ou ils ne correspondent à aucun
chaîne plus longue), il exécutera la liaison. Ce délai d'attente est défini par le DÉLAI DE CLÉ
paramètre; sa valeur par défaut est de 0.4 s. Il n'y a pas de délai d'attente si la chaîne de préfixe n'est pas elle-même
lié à une commande.
Le délai d'expiration de la clé est également appliqué lorsque ZLE lit les octets à partir d'un caractère multi-octets
chaîne lorsqu'elle est dans le mode approprié. (Cela nécessite que le shell ait été compilé
avec le mode multi-octets activé ; généralement aussi la locale a des caractères avec l'UTF-8
codage, bien que tout codage multi-octets connu du système d'exploitation soit pris en charge.) Si
le deuxième octet ou un octet suivant n'est pas lu dans le délai d'attente, le shell agit comme
if ? ont été saisis et réinitialise l'état de l'entrée.
En plus des commandes ZLE, les séquences de touches peuvent être liées à d'autres chaînes, en utilisant `clé de liaison
-s'. Lorsqu'une telle séquence est lue, la chaîne de remplacement est repoussée en entrée, et
le processus de lecture de la commande recommence à l'aide de ces fausses frappes. Cette entrée peut
invoque lui-même d'autres chaînes de remplacement, mais afin de détecter les boucles, le processus
être arrêté s'il y a vingt remplacements de ce type sans qu'une commande réelle soit lue.
Une séquence de touches tapée par l'utilisateur peut être transformée en un nom de commande à utiliser dans
widgets avec le lecture-commande widget, décrit dans la sous-section « Divers » du
section « Widgets standard » ci-dessous.
Local Mappages de touches
Alors que pour l'édition normale, une seule keymap est utilisée exclusivement, dans de nombreux modes, une keymap locale
permet de personnaliser certaines touches. Par exemple, dans un mode de recherche incrémentale, un
contraignant dans le isearch keymap remplacera une liaison dans le principal keymap mais toutes les touches qui
ne sont pas remplacés peut toujours être utilisé.
Si une séquence de touches est définie dans un mappage de touches local, elle masquera une séquence de touches dans le global
keymap qui est un préfixe de cette séquence. Un exemple de ceci se produit avec la liaison de iw
in viopp car cela cache la liaison de i in victime. Cependant, une séquence plus longue dans le monde
keymap qui partage le même préfixe peut toujours s'appliquer, par exemple la liaison de ^Xa in
le keymap global ne sera pas affecté par la liaison de ^Xb dans le clavier local.
MAL BÂTIMENTS
Le module ZLE contient trois commandes intégrées associées. Les clé de liaison commande manipule
mappages de touches et raccourcis clavier ; les varié la commande invoque ZLE sur la valeur d'un paramètre shell ;
et de la mal la commande manipule les widgets d'édition et permet l'accès en ligne de commande à ZLE
commandes à partir des fonctions shell.
clé de liaison [ Options ] -l [ -L ] [ carte du clavier ...]
clé de liaison [ Options ] -d
clé de liaison [ Options ] -D carte du clavier
clé de liaison [ Options ] -A ancien-keymap nouveau-keymap
clé de liaison [ Options ] -N nouveau-keymap [ ancien-keymap ]
clé de liaison [ Options ] -m
clé de liaison [ Options ] -r dans la chaîne
clé de liaison [ Options ] -s dans la chaîne hors-chaîne
clé de liaison [ Options ] dans la chaîne commander
clé de liaison [ Options ] [ dans la chaîne ]
clé de liaisonLes options de peuvent être divisées en trois catégories : sélection de clavier pour le
commande actuelle, sélection d'opération et autres. Les options de sélection du clavier
sont:
-e Sélectionne le clavier `emacs' pour toutes les opérations de la commande en cours, ainsi que
liens `emacs' à 'principal' pour qu'il soit sélectionné par défaut la prochaine fois que le
l'éditeur démarre.
-v Sélectionne le clavier `viines' pour toutes les opérations de la commande en cours, ainsi que
liens `viines' à 'principal' pour qu'il soit sélectionné par défaut la prochaine fois que le
l'éditeur démarre.
-a Sélectionne le clavier `victime' pour toutes les opérations de la commande actuelle.
-M carte du clavier
Pour carte du clavier spécifie un nom de keymap qui est sélectionné pour toutes les opérations par
la commande en cours.
Si une sélection de clavier est requise et qu'aucune des options ci-dessus n'est utilisée, le
`principal' keymap est utilisé. Certaines opérations ne permettent pas de sélectionner un keymap,
à savoir:
-l Répertoriez tous les noms de keymap existants ; si des arguments sont donnés, n'énumérez que ceux
mappages de touches.
Si la -L option est également utilisée, liste sous forme de clé de liaison commandes à
créer ou lier les keymaps. `clé de liaison -ll principal' montre quelle keymap est liée
à `principal', le cas échéant, et donc si l'émulation standard emacs ou vi est en
effet. Cette option n'affiche pas le .sûr keymap car il ne peut pas être
créé de cette façon; cependant, ni `clé de liaison -ll .sûr' signalé comme
une erreur, il ne sort tout simplement rien.
-d Supprimez toutes les mappes de touches existantes et réinitialisez l'état par défaut.
-D carte du clavier
Supprimer le nommé carte du claviers.
-A ancien-keymap nouveau-keymap
Faire l' nouveau-keymap nommer un alias pour ancien-keymap, de sorte que les deux noms se réfèrent
au même clavier. Les noms ont un statut égal; si l'un ou l'autre est supprimé,
l'autre reste. S'il existe déjà un keymap avec le nouveau-keymap prénom,
il est supprimé.
-N nouveau-keymap [ ancien-keymap ]
Créez un nouveau clavier, nommé nouveau-keymap. Si un keymap a déjà ce nom,
il est supprimé. Si un ancien-keymap le nom est donné, le nouveau clavier est
initialisé pour être un duplicata de celui-ci, sinon le nouveau keymap sera vide.
Pour utiliser un keymap nouvellement créé, il doit être lié à principal. D'où la séquence de
commandes pour créer et utiliser un nouveau clavier `ma carte' initialisé à partir du emacs carte du clavier
(qui reste inchangé) est :
clé de liaison -N ma carte emacs
clé de liaison -A ma carte principal
Notez que tandis que `clé de liaison -A nouvelle carte principal' fonctionnera quand nouvelle carte is emacs or viines,
ça ne marchera pas pour victime, comme le passage du mode insertion vi au mode commande devient
impossible.
Les opérations suivantes agissent sur le `principal' keymap si aucune option de sélection de keymap n'était
étant donné:
-m Ajoutez l'ensemble intégré de liaisons de méta-clés à la table de touches sélectionnée. Seules les clés
qui ne sont pas liés ou liés à auto-insertion sont affectés.
-r dans la chaîne
Délier le spécifié dans la chaînes dans le clavier sélectionné. C'est exactement
équivaut à lier les chaînes à clé-non définie.
Lorsque -R est également utilisé, interpréter le dans la chaînes comme plages.
Lorsque -p est également utilisé, le dans la chaînes spécifiez les préfixes. Toute liaison qui a
le donné dans la chaîne comme préfixe, à l'exclusion de la liaison pour le dans la chaîne
lui-même, le cas échéant, sera supprimé. Par exemple,
clé de liaison -tr/min viines '^['
supprimera toutes les liaisons dans le mappage de touches vi-insert en commençant par un échappement
caractère (probablement les touches du curseur), mais laissez la liaison pour l'échappement
personnage lui-même (probablement mode vi-cmd). Ceci est incompatible avec le
option -R.
-s dans la chaîne hors-chaîne
Lier chacun dans la chaîne pour chaque hors-chaîne. Quand dans la chaîne est tapé, hors-chaîne
sera repoussé et traité comme une entrée dans l'éditeur de ligne. Lorsque -R is
également utilisé, interpréter le dans la chaînes comme plages.
Notez que les deux dans la chaîne et mes hors-chaîne sont soumis à la même forme de
interprétation, comme décrit ci-dessous.
dans la chaîne commander
Lier chacun dans la chaîne pour chaque commander. Quand -R est utilisé, interpréter le
dans la chaînes comme plages.
[ dans la chaîne ]
Lister les raccourcis clavier. Si un dans la chaîne est spécifié, la liaison de cette chaîne
dans le clavier sélectionné s'affiche. Sinon, toutes les combinaisons de touches dans le
le clavier sélectionné s'affiche. (En tant que cas particulier, si le -e or -v option
est utilisé seul, le keymap est pas affiché - le lien implicite des keymaps
est la seule chose qui arrive.)
Lorsque l'option -p Est utilisé, le dans la chaîne presence obligatoire. La liste
montre toutes les liaisons qui ont la séquence de touches donnée comme préfixe, pas
y compris toutes les liaisons pour la séquence de touches elle-même.
When the -L est utilisée, la liste est sous la forme de clé de liaison commandes à
créer les raccourcis clavier.
When the -R est utilisée comme indiqué ci-dessus, une plage valide se compose de deux
caractères, avec un ` facultatif-' entre eux. Tous les personnages entre les deux
spécifié, inclus, sont liés comme spécifié.
Pour l'un ou l'autre dans la chaîne or hors-chaîne, les séquences d'échappement suivantes sont reconnues :
\a caractère de cloche
\b backspace
\e, \E échapper
\f flux de formulaire
\n saut de ligne (nouvelle ligne)
\r retour chariot
\t onglet horizontal
\v onglet vertical
\NNN code de caractère en octal
\xNN code de caractère en hexadécimal
\uNNNN code de caractère unicode en hexadécimal
\UNNNNNNNNN
code de caractère unicode en hexadécimal
\M[-]X caractère avec jeu de bits méta
\C[-]X caractère de contrôle
^X caractère de contrôle
Dans tous les autres cas, `\' échappe au caractère suivant. Supprimer est écrit comme
`^?'. Notez que `\M^ ?' et '^\M ?' ne sont pas les mêmes, et que (contrairement à emacs), les
liaisons `\M-X' et '\eX' sont entièrement distincts, bien qu'ils soient initialisés à
les mêmes liaisons par `clé de liaison -m'.
varié [ -Aache ] [ -p rapide ] [ -r inviter ]
[ -M carte-clé principale ] [ -m vicmd-keymap ]
[ -i widget d'initialisation ] [ -f widget-fin ]
[ -t tty ] prénom
La valeur du paramètre prénom est chargé dans le tampon d'édition, et l'éditeur de ligne
est invoqué. Lorsque l'éditeur quitte, prénom est défini sur la valeur de chaîne renvoyée par le
éditeur. Quand le -c flag est donné, le paramètre est créé s'il ne l'est pas déjà
exister. le -a le drapeau peut être donné avec -c pour créer un paramètre de tableau, ou le -A
flag pour créer un tableau associatif. Si le type d'un paramètre existant ne
correspondent au type à créer, le paramètre est annulé et recréé.
Si un tableau ou une tranche de tableau est en cours de modification, les caractères de séparation tels que définis dans $IFS
seront affichés entre guillemets, tout comme les barres obliques inverses elles-mêmes. Inversement,
lorsque le texte édité est divisé en un tableau, une barre oblique inverse cite immédiatement un
caractère de séparation ou barre oblique inverse suivant ; pas d'autre traitement spécial de
des barres obliques inverses, ou toute manipulation de guillemets, est effectuée.
Les éléments individuels du tableau existant ou les paramètres du tableau associatif peuvent être modifiés
en utilisant la syntaxe d'indice sur prénom. De nouveaux éléments sont créés automatiquement, même
sans -c.
Si la -p flag est donné, la chaîne suivante sera prise comme invite à
afficher à gauche. Si la -r flag est donné, la chaîne suivante donne le
invite à afficher à droite. Si la -h flag est spécifié, l'historique peut être
accessible depuis ZLE. Si la -e indicateur est donné, en tapant ^D (Contrôle-D) sur une ligne vide
les causes varié pour quitter immédiatement avec une valeur de retour non nulle.
Pour -M L'option donne un keymap à lier au principal keymap pendant l'édition, et le -m
L'option donne un keymap à lier au victime keymap pendant l'édition. Pour le style vi
l'édition, cela permet à une paire de keymaps de remplacer viines et mes victime. For
édition de style emacs, uniquement -M est normalement nécessaire, mais le -m l'option peut encore être
utilisé. En quittant, les keymaps précédentes seront restaurées.
Varé appelle l'habituel `zle-line-init' et 'zle-line-finition' crochets avant et après
ça prend le contrôle. En utilisant le -i et mes -f options, il est possible de les remplacer par
autres widgets personnalisés.
Si `-t tty' est donné, tty est le nom d'un terminal à utiliser à la place de
le défaut /dev/tty. Si tty ne fait pas référence à un terminal, une erreur est signalée.
mal
mal -l [ -L | -a ] [ un magnifique ...]
mal -D un widget
mal -A ancien widget nouveau-widget
mal -N un widget [ fonction ]
mal -C un widget widget-achèvement fonction
mal -R [ -c ] [ chaîne_affichage ] [ un magnifique ...]
mal -M un magnifique
mal -U un magnifique
mal -K carte du clavier
mal -F [ -L | -w ] [ fd [ maître ] ]
mal -I
mal -T [ tc fonction | -r tc | -L ]
mal un widget [ -n num ] [ -Nw ] [ -K carte du clavier ] args
Pour mal Builtin effectue un certain nombre d'actions différentes concernant ZLE.
Sans options ni arguments, seul le statut de retour sera défini. c'est zéro
si ZLE est actuellement actif et que les widgets peuvent être invoqués à l'aide de cette commande intégrée
et non nul sinon. Notez que même si un statut différent de zéro est renvoyé, zle peut
être toujours actif dans le cadre du système d'achèvement ; cela ne permet pas les appels directs
aux widgets ZLE.
Sinon, l'opération qu'il effectue dépend de ses options :
-l [ -L | -a ] [ un magnifique ]
Répertoriez tous les widgets définis par l'utilisateur existants. Si la -L l'option est utilisée, liste dans
la forme de mal commandes pour créer les widgets.
Lorsqu'il est combiné avec le -a option, tous les noms de widgets sont répertoriés, y compris le
ceux intégrés. Dans ce cas le -L l'option est ignorée.
Si au moins un un magnifique est donné, et -a est présent ou -L N'est pas utilisé,
rien ne sera imprimé. Le statut de retour sera zéro si tous un magnifiques sont
noms des widgets existants et non nuls si au moins un un magnifique n'est pas un nom
d'un widget défini. Si -a est également présent, tous les noms de widget sont utilisés pour
la comparaison incluant les widgets intégrés, sinon seuls les widgets définis par l'utilisateur sont
utilisé.
Si au moins un un magnifique est présent et le -L l'option est utilisée, définie par l'utilisateur
widgets correspondant à n'importe quel un magnifique sont répertoriés sous la forme de mal commandes pour créer
les widgets.
-D un widget
Supprimer le nommé un widgets.
-A ancien widget nouveau-widget
Faire l' nouveau-widget nommer un alias pour ancien widget, de sorte que les deux noms se réfèrent
au même widget. Les noms ont un statut égal; si l'un ou l'autre est supprimé,
l'autre reste. S'il existe déjà un widget avec le nouveau-widget prénom,
il est supprimé.
-N un widget [ fonction ]
Créez un widget défini par l'utilisateur. S'il existe déjà un widget avec le
nom spécifié, il est écrasé. Lorsque le nouveau widget est invoqué depuis
dans l'éditeur, le shell spécifié fonction est appelé. Si aucune fonction
name est spécifié, il prend par défaut le même nom que le widget. Pour de plus amples
informations, voir la section `Widgets' ci-dessous.
-C un widget widget-achèvement fonction
Créez un widget d'achèvement défini par l'utilisateur nommé un widget. Le widget d'achèvement
se comportera comme le widget d'achèvement intégré dont le nom est donné comme
widget-achèvement. Pour générer les complétions, la fonction shell fonction
sera appelé. Pour plus d'informations, voir zshcompwid (1).
-R [ -c ] [ chaîne_affichage ] [ un magnifique ...]
Réafficher la ligne de commande ; cela doit être appelé à partir d'un fichier défini par l'utilisateur
widget pour permettre aux modifications de devenir visibles. Si un chaîne_affichage est donné et
pas vide, cela est indiqué dans la ligne d'état (immédiatement en dessous de la ligne
en cours d'édition).
Si l'optionnel un magnifiques sont donnés, ils sont répertoriés sous l'invite dans le
de la même manière que les listes d'achèvement sont imprimées. Sinon un magnifiques sont donnés mais le -c
l'option est utilisée, une telle liste est effacée.
Notez que cette option n'est utile que pour les widgets qui ne se terminent pas
immédiatement après l'avoir utilisé car les chaînes affichées seront effacées
immédiatement après le retour du widget.
Cette commande peut être appelée en toute sécurité en dehors des widgets définis par l'utilisateur ; si zle est
actif, l'affichage sera rafraîchi, tandis que si zle n'est pas actif, le
la commande n'a aucun effet. Dans ce cas, il n'y aura généralement pas d'autre
arguments.
Le statut est zéro si zle était actif, sinon un.
-M un magnifique
Comme avec la -R option, la un magnifique sera affiché sous la ligne de commande ;
contrairement au -R option, la chaîne ne sera pas mise dans la ligne d'état mais
sera à la place imprimé normalement sous l'invite. Cela signifie que le
un magnifique sera toujours affiché après le retour du widget (jusqu'à ce qu'il soit
écrasé par les commandes suivantes).
-U un magnifique
Cela pousse les personnages dans le un magnifique sur la pile d'entrée de ZLE. Après
le widget actuellement exécuté se termine ZLE se comportera comme si les personnages
dans le un magnifique ont été saisis par l'utilisateur.
Comme ZLE utilise une pile, si cette option est utilisée à plusieurs reprises, la dernière chaîne
poussé sur la pile sera traité en premier. Cependant, les personnages de
chacun un magnifique seront traités dans l'ordre dans lequel ils apparaissent dans le
chaîne.
-K carte du clavier
Sélectionne le clavier nommé carte du clavier. Un message d'erreur s'affichera si
il n'y a pas de tel keymap.
Cette sélection de clavier affecte l'interprétation des frappes suivantes
dans cette invocation de ZLE. Toute invocation suivante (par exemple, la prochaine
ligne de commande) commencera comme d'habitude avec le `principal' keymap sélectionné.
-F [ -L | -w ] [ fd [ maître ] ]
Uniquement disponible si votre système prend en charge l'un des systèmes « sondage » ou « sélection »
appels; la plupart des systèmes modernes le font.
Installations maître (le nom d'une fonction shell) pour gérer l'entrée du fichier
descripteur fd. Installation d'un gestionnaire pour un fd qui est déjà traité
provoque le remplacement du gestionnaire existant. N'importe quel nombre de gestionnaires pour n'importe quel
nombre de descripteurs de fichiers lisibles peuvent être installés. Notez que zle fait
aucune tentative pour vérifier si cela fd est en fait lisible lors de l'installation du
gestionnaire. L'utilisateur doit prendre ses propres dispositions pour le traitement du dossier
descripteur lorsque zle n'est pas actif.
Lorsque zle essaie de lire des données, il examine à la fois le terminal et
la liste des manipulés fd's. Si des données deviennent disponibles sur un fd, zlé
en cours maître avec le fd qui est prêt à être lu comme premier argument.
Dans des circonstances normales, c'est le seul argument, mais si une erreur a été
détecté, un deuxième argument fournit des détails : `hup' pour une déconnexion, 'nval'
pour un descripteur fermé ou invalide, ou `se tromper' pour tout autre
état. Les systèmes qui ne prennent en charge que l'appel système "select" utilisent toujours
`se tromper'.
Si l'option -w est également donné, le maître est plutôt un widget d'éditeur de ligne,
typiquement une fonction shell transformée en widget en utilisant `mal -N'. Dans ce cas
maître peut utiliser toutes les facilités de zle pour mettre à jour l'édition actuelle
ligne. Notez, cependant, que comme la manipulation fd a lieu à un faible niveau change
à l'écran n'apparaîtra pas automatiquement ; le widget doit appeler `mal
-R' pour forcer le réaffichage. Au moment d'écrire ces lignes, les gestionnaires de widgets ne prennent en charge qu'un
argument unique et ne reçoivent donc jamais de chaîne pour l'état d'erreur, donc
les widgets doivent être prêts à tester le descripteur eux-mêmes.
Si l'un ou l'autre type de gestionnaire produit une sortie vers le terminal, il doit appeler
`mal -I' avant de le faire (voir ci-dessous). Les gestionnaires ne doivent pas essayer de lire
de la borne.
Sinon maître est donné, mais un fd est présent, tout gestionnaire pour cela fd is
supprimé. S'il n'y en a pas, un message d'erreur est imprimé et l'état 1 est
revenu.
Si aucun argument n'est donné, ou si le -L option est fournie, une liste de gestionnaires
est imprimé sous une forme qui peut être stockée pour une exécution ultérieure.
An fd (mais pas un maître) peut éventuellement être donné avec le -L option; dans
dans ce cas, la fonction listera le gestionnaire s'il y en a, sinon retournera silencieusement
statut 1.
Notez que cette fonctionnalité doit être utilisée avec précaution. Activité sur l'un des
fd's qui n'est pas correctement géré peut rendre le terminal
inutilisable. Supprimer un fd gestionnaire à partir d'un piège de signal peut provoquer
comportement imprévisible.
Voici un exemple simple d'utilisation de cette fonctionnalité. Une connexion à une télécommande
Le port TCP est créé à l'aide de la commande ztcp ; voir la description du
zsh/net/tcp module dans zshmodules(1). Ensuite, un gestionnaire est installé qui
imprime simplement toutes les données qui arrivent sur cette connexion. Noter que
`select' indiquera que le descripteur de fichier doit être manipulé si la télécommande
côté a fermé la connexion ; nous gérons cela en testant les échecs de lecture.
if ztc pwspc 2811; puis
tcpfd=$RÉPONSE
gestionnaire() {
mal -I
locales en ligne
if ! lire -r en ligne <&$1; puis
# Sélectionner marques ceci. fd if we internationale EOF,
# so manipuler ceci. spécialement.
impression "[Lire on fd $1 échoué, suppression.]" >&2
mal -F $1
retourner 1
fi
impression -r - $ligne
}
mal -F $tcpfd maître
fi
-I Exceptionnellement, cette option est plus utile en dehors des fonctions de widget ordinaires,
bien qu'il puisse être utilisé à l'intérieur si une sortie normale vers le terminal est requise.
Il invalide l'affichage actuel du zle en vue de la sortie ; typiquement
ce sera à partir d'une fonction de piège. Il n'a aucun effet si zle n'est pas actif.
Lorsqu'un piège se termine, le shell vérifie si l'affichage doit être restauré,
par conséquent, ce qui suit imprimera la sortie de manière à ne pas perturber le
ligne en cours d'édition :
TRAPUSR1() {
# Invalider mal l’affichage
[[ -o mal ]] && mal -I
# Afficher sortie
impression Bonjour
}
En général, la fonction trap peut avoir besoin de tester si zle est actif avant
en utilisant cette méthode (comme indiqué dans l'exemple), car le zsh/zle le module peut
même pas être chargé ; si ce n'est pas le cas, la commande peut être ignorée.
Il est possible d'appeler `mal -I' plusieurs fois avant que le contrôle ne revienne à
l'éditeur; l'affichage ne sera invalidé que la première fois pour minimiser
perturbation.
Notez qu'il existe normalement de meilleures façons de manipuler l'affichage à partir de
dans les widgets zle ; voir, par exemple, `mal -R' dessus.
Le statut renvoyé est zéro si zle a été invalidé, même si cela peut
ont été par un précédent appel à `mal -I' ou par une notification système. À
testez si un widget zle peut être appelé à ce stade, exécutez mal sans
arguments et examiner l'état de retour.
-T Ceci est utilisé pour ajouter, lister ou supprimer des transformations internes sur le
traitement effectué par l'éditeur de ligne. Il n'est généralement utilisé que pour
de débogage ou de test et n'a donc que peu d'intérêt pour le grand public
utilisateur.
`mal -T transformation fonction' précise que la donnée transformation (voir
ci-dessous) est effectué par la fonction shell fonction.
`mal -Tr transformation' supprime le donné transformation s'il était présent
(ce n'est pas une erreur si aucune ne l'était).
`mal -TL' peut être utilisé pour lister toutes les transformations en cours.
Actuellement, la seule transformation est tc. Ceci est utilisé à la place de la sortie
codes termcap au terminal. Lorsque la transformation est en cours, le
la fonction shell reçoit le code termcap qui serait affiché comme premier
argument; si l'opération nécessitait un argument numérique, celui-ci est passé en tant que
deuxième argument. La fonction doit définir la variable shell RÉPONDRE à la
code termcap transformé. Typiquement, cela est utilisé pour produire simplement
version formatée du code et argument facultatif pour le débogage ou
essai. Notez que cette transformation n'est pas appliquée à d'autres non imprimables
caractères tels que les retours chariot et les sauts de ligne.
un widget [ -n num ] [ -Nw ] [ -K carte du clavier ] args
Invoquer le spécifié un widget. Cela ne peut être fait que lorsque ZLE est actif ;
normalement, ce sera dans un widget défini par l'utilisateur.
Avec les options -n et mes -N, l'argument numérique actuel sera enregistré et
puis restauré après l'appel à un widget; `-n num' définit l'argument numérique
temporairement à num, tandis que `-N' le définit sur la valeur par défaut, c'est-à-dire comme s'il y avait
aucun.
Avec la possibilité -K, carte du clavier sera utilisé comme clavier actuel pendant la
exécution du widget. La configuration de clavier précédente sera restaurée lorsque le
le widget se ferme.
Normalement, appeler un widget de cette manière ne définit pas le paramètre spécial
WIDGET et les paramètres associés, de sorte que l'environnement apparaisse comme si le
widget de niveau supérieur appelé par l'utilisateur étaient toujours actifs. Avec la possibilité -w,
WIDGET et les paramètres associés sont définis pour refléter le widget en cours d'exécution
par le mal appel.
Tout autre argument sera passé au widget ; notez qu'en standard
la gestion des arguments est effectuée, toute liste d'arguments générale doit être précédée
by --. S'il s'agit d'une fonction shell, celles-ci sont transmises comme positionnelles
paramètres; pour les widgets intégrés, il appartient au widget en question de savoir ce qu'il
fait avec eux. Actuellement, les arguments ne sont traités que par le
commandes de recherche incrémentielle, le historique-recherche-avant et mes -en arrière et mes
les fonctions correspondantes préfixées par vi-, et par argument-universel. Non
erreur est signalée si la commande n'utilise pas les arguments, ou utilise uniquement
certains d'entre eux.
Le statut de retour reflète le succès ou l'échec de l'opération effectuée
par le widget, ou s'il s'agit d'un widget défini par l'utilisateur, le statut de retour de
la fonction shell.
Un état de retour différent de zéro provoque le bip du shell lorsque le widget se ferme,
à moins que le BIP options a été désactivé ou le widget a été appelé via le mal
commander. Ainsi, si un widget défini par l'utilisateur nécessite un bip immédiat, il
devrait appeler le bip widget directement.
WIDGETS
Toutes les actions dans l'éditeur sont effectuées par des « widgets ». Le travail d'un widget consiste simplement à effectuer
quelques petites actions. Les commandes ZLE auxquelles les séquences de touches dans les keymaps sont liées sont dans
widgets de faits. Les widgets peuvent être définis par l'utilisateur ou intégrés.
Les widgets standard intégrés à ZLE sont répertoriés dans les widgets standard ci-dessous. Autre intégré
les widgets peuvent être définis par d'autres modules (voir zshmodules(1)). Chaque widget intégré a deux
noms : son nom canonique normal, et le même nom précédé d'un `.'. Le `.' nom est
spécial : il ne peut pas être renvoyé vers un autre widget. Cela rend le widget disponible même
lorsque son nom usuel a été redéfini.
Les widgets définis par l'utilisateur sont définis à l'aide de `mal -N', et implémentées en tant que fonctions shell. Lorsque
le widget est exécuté, la fonction shell correspondante est exécutée et peut effectuer
des actions d'édition (ou autres). Il est recommandé que les widgets définis par l'utilisateur n'aient pas
noms commençant par `.'.
DÉFINI PAR L'UTILISATEUR WIDGETS
Les widgets définis par l'utilisateur, implémentés en tant que fonctions shell, peuvent exécuter n'importe quel shell normal
commander. Ils peuvent également exécuter d'autres widgets (qu'ils soient intégrés ou définis par l'utilisateur) en utilisant le mal
commande intégrée. L'entrée standard de la fonction est fermée pour empêcher
commandes de bloquer involontairement ZLE en lisant à partir du terminal, mais lire -k or
lire -q peut être utilisé pour lire les caractères. Enfin, ils peuvent examiner et éditer le tampon ZLE
étant édité en lisant et en réglant les paramètres spéciaux décrits ci-dessous.
Ces paramètres spéciaux sont toujours disponibles dans les fonctions des widgets, mais ne le sont en aucun cas
spécial hors ZLE. S'ils ont une valeur normale en dehors de ZLE, cette valeur est
temporairement inaccessible, mais reviendra lorsque la fonction widget se terminera. Ces spéciaux
les paramètres ont en fait une portée locale, comme les paramètres créés dans une fonction en utilisant locales.
Dans les widgets de complétion et les pièges appelés pendant que ZLE est actif, ces paramètres sont
disponible en lecture seule.
Notez que les paramètres apparaissent comme locaux pour tout widget ZLE dans lequel ils apparaissent. Donc si
il est souhaitable de les remplacer, cela doit être fait dans une fonction imbriquée :
widget-fonction() {
# $WIDGET ici se réfère à le pour un spécial variable
# qui is locales à l'intérieur widget-fonction
() {
# Ce anonyme imbriqué fonction permet WIDGET
# à be d'utiliser as a locales variable. Pour -h
# supprime le pour un spécial statuts of le variable.
locales -h WIDGET
}
}
TAMPON (scalaire)
Tout le contenu du tampon d'édition. S'il y est écrit, le curseur reste sur
le même décalage, à moins que cela ne le place en dehors du tampon.
LIGNES TAMPONS (entier)
Le nombre de lignes d'écran nécessaires pour le tampon d'édition actuellement affiché à l'écran
(c'est-à-dire sans aucune modification des paramètres précédents effectuée après le dernier
réafficher); lecture seulement.
CONTEXTE (scalaire)
Le contexte dans lequel zle a été appelé pour lire une ligne ; lecture seulement. Une des valeurs :
Commencer Le début d'une ligne de commande (à l'invite PS1).
compte Une continuation vers une ligne de commande (à l'invite PS2).
Sélectionner Dans un Sélectionner boucle.
varié Modification d'une variable dans varié.
Curseur (entier)
Le décalage du curseur, dans le tampon d'édition. C'est dans la plage de 0 à
$#TAMPON, et est par définition égal à $#LBBUFFER. Tente de déplacer le curseur
en dehors de la mémoire tampon entraînera le déplacement du curseur à la fin appropriée de
le tampon.
COUPE (scalaire)
Le dernier élément coupé en utilisant l'un des `tuer-' commandes ; la ficelle que le prochain tire
insérerait dans la ligne. Les entrées ultérieures dans le kill ring sont dans le tableau
tueur. Notez que la commande `mal copier-région-comme-tuer un magnifique' peut être utilisé pour
définissez le texte du tampon de coupe à partir d'une fonction shell et faites cycler le kill ring dans le
de la même manière qu'en tuant du texte de manière interactive.
HISTNO (entier)
Le numéro d'historique actuel. Le réglage a le même effet que le déplacement vers le haut ou vers le bas
dans l'historique à la ligne d'historique correspondante. Une tentative de définition est ignorée
si la ligne n'est pas stockée dans l'historique. Notez que ce n'est pas la même chose que le
paramètre HISTMCMD, qui donne toujours le numéro de la ligne d'historique ajoutée à
l'histoire de la coquille principale. HISTNO fait référence à la ligne récupérée dans zle.
MAP DES CLÉS (scalaire)
Le nom du clavier actuellement sélectionné ; lecture seulement.
CLÉS (scalaire)
Les clés saisies pour invoquer ce widget, sous forme de chaîne littérale ; lecture seulement.
tueur (déployer)
Le tableau des éléments précédemment tués, le plus récemment tué en premier. Cette
donne les éléments qui seraient récupérés par un arracher-pop dans le même ordre. Noter,
cependant, que l'objet le plus récemment tué se trouve dans $ COUPE; $ killring représente l'
tableau des entrées précédentes.
La taille par défaut du kill ring est de huit, cependant la longueur peut être modifiée par
opérations normales de tableau. Toute chaîne vide dans le kill ring est ignorée par le
arracher-pop commande, d'où la taille du tableau définit effectivement la longueur maximale
du kill ring, tandis que le nombre de chaînes non nulles donne la longueur actuelle,
à la fois comme vu par l'utilisateur à la ligne de commande.
RECHERCHE DERNIÈRE ABANDONNÉE (scalaire)
La dernière chaîne de recherche utilisée par une recherche interactive qui a été abandonnée par l'utilisateur
(statut 3 renvoyé par le widget de recherche).
DERNIÈRE RECHERCHE (scalaire)
La dernière chaîne de recherche utilisée par une recherche interactive ; lecture seulement. Ceci est réglé même
si la recherche a échoué (statut 0, 1 ou 2 renvoyé par le widget de recherche), mais pas si
il a été annulé par l'utilisateur.
DERNIER WIDGET (scalaire)
Le nom du dernier widget qui a été exécuté ; lecture seulement.
LTAMPON (scalaire)
La partie du tampon qui se trouve à gauche de la position du curseur. Si c'est
affecté, seule cette partie du tampon est remplacée et le curseur reste
entre le nouveau $LBUFFER et l'ancien $RBUFFER.
MARK (entier)
J'aime Curseur, mais pour la marque. Avec des opérateurs en mode vi qui attendent un mouvement
commande pour sélectionner une zone de texte, définition MARK permet à la sélection de s'étendre dans
dans les deux sens à partir de la position initiale du curseur.
NUMERIC (entier)
L'argument numérique. Si aucun argument numérique n'a été fourni, ce paramètre n'est pas défini.
Lorsque cela est défini dans une fonction de widget, les widgets intégrés appelés avec le mal
La commande intégrée utilisera la valeur attribuée. S'il n'est pas défini dans un widget
fonction, les widgets intégrés appelés se comportent comme si aucun argument numérique n'était donné.
EN ATTENDANT (entier)
Le nombre d'octets en attente de saisie, c'est-à-dire le nombre d'octets déjà
été tapé et peut être lu immédiatement. Sur les systèmes où le shell n'est pas en mesure de
obtenir cette information, ce paramètre aura toujours une valeur de zéro. Lecture seulement.
PRÉTAMPON (scalaire)
Dans une entrée multiligne à l'invite secondaire, ce paramètre en lecture seule contient
le contenu des lignes avant celle dans laquelle se trouve actuellement le curseur.
PRÉ-AFFICHAGE (scalaire)
Texte à afficher avant le début du tampon de texte éditable. Cela ne
doit être une ligne complète ; pour afficher une ligne complète, une nouvelle ligne doit être ajoutée
explicitement. Le texte est réinitialisé à chaque nouvelle invocation (mais pas récursif
invocation) de zle.
POST-AFFICHAGE (scalaire)
Texte à afficher après la fin du tampon de texte éditable. Cela n'a pas
être une ligne complète; pour afficher une ligne complète, une nouvelle ligne doit être ajoutée au début
explicitement. Le texte est réinitialisé à chaque nouvelle invocation (mais pas récursif
invocation) de zle.
RUFFER (scalaire)
La partie du tampon qui se trouve à droite de la position du curseur. Si c'est
affecté, seule cette partie du tampon est remplacée et le curseur reste
entre l'ancien $LBUFFER et la nouvelle $RBUFFER.
RÉGION_ACTIVE (entier)
Indique si la région est actuellement active. Il peut être attribué 0 ou 1 à
désactiver et activer la région respectivement. Une valeur de 2 active la région
en mode ligne avec le texte en surbrillance s'étendant uniquement sur des lignes entières ; voir
Personnage Mise en évidence ci-dessous.
région_highlight (déployer)
Chaque élément de ce tableau peut être défini sur une chaîne qui décrit la mise en évidence pour
une région arbitraire de la ligne de commande qui prendra effet la prochaine fois que le
la ligne de commande est réaffichée. Mise en évidence des parties non modifiables de la commande
faire la queue PRÉ-AFFICHAGE et mes POST-AFFICHAGE sont possibles, mais notez que le P le drapeau est nécessaire
pour que l'indexation des caractères inclue PRÉ-AFFICHAGE.
Chaque chaîne se compose des parties suivantes :
· Facultativement, un `P' pour signifier que les décalages de début et de fin qui suivent
inclure toute chaîne définie par le PRÉ-AFFICHAGE paramètre spécial ; c'est nécessaire
si la chaîne de pré-affichage elle-même doit être mise en surbrillance. Un espace peut suivre
le `P'.
· Un décalage de départ dans les mêmes unités que Curseur, terminé par un espace.
· Un décalage de fin dans les mêmes unités que Curseur, terminé par un espace.
· Une spécification de surbrillance dans le même format que celui utilisé pour les contextes dans le
paramètre zle_highlight, reportez-vous à la section « Mise en évidence des caractères » ci-dessous ; pour
Par exemple, standout or fg=rouge, en gras
Par exemple,
region_highlight=("P0 20 gras")
précise que les vingt premiers caractères du texte, y compris tout pré-affichage
la chaîne doit être surlignée en gras.
A noter que l'effet de région_highlight n'est pas enregistré et disparaît dès que le
la ligne est acceptée.
La mise en surbrillance finale sur la ligne de commande dépend à la fois région_highlight et mes
zle_highlight; voir la section MISE EN VALEUR DES CARACTÈRES ci-dessous pour plus de détails.
UNDO_CHANGE_NO (entier)
Un nombre représentant l'état de l'historique d'annulation. La seule utilisation de ceci est
passer en argument à la défaire widget afin de revenir à l'enregistrement
point. Lecture seulement.
UNDO_LIMIT_NO (entier)
Un numéro correspondant à un changement existant dans l'historique d'annulation ; comparer
UNDO_CHANGE_NO. S'il est défini sur une valeur supérieure à zéro, le défaire la commande sera
ne pas permettre à la ligne d'être annulée au-delà du numéro de modification donné. Il est encore
possible d'utiliser `mal défaire Change' dans un widget pour annuler au-delà de ce point ; dans ce
cas, il ne sera pas possible d'annuler du tout jusqu'à ce que UNDO_LIMIT_NO est réduite. Régler
à 0 pour désactiver la limite.
Une utilisation typique de cette variable dans une fonction de widget est la suivante (notez le
une étendue de fonction supplémentaire est requise):
() {
locales UNDO_LIMIT_NO=$UNDO_CHANGE_NO
# Effectuer quelques formulaire of récursif modifier.
}
WIDGET (scalaire)
Le nom du widget en cours d'exécution ; lecture seulement.
WIDGETFUNC (scalaire)
Le nom de la fonction shell qui implémente un widget défini avec soit mal -N
or mal -C. Dans le premier cas, c'est le deuxième argument de la mal -N commander
qui définissait le widget, ou le premier argument s'il n'y avait pas de deuxième argument. Dans
ce dernier cas c'est le troisième argument à la mal -C commande qui a défini le
widget. Lecture seulement.
STYLE DE WIDGET (scalaire)
Décrit l'implémentation derrière le widget d'achèvement en cours d'exécution ;
le deuxième argument qui a suivi mal -C lorsque le widget a été défini. C'est le
nom d'un widget d'achèvement intégré. Pour les widgets définis avec mal -N c'est réglé
à la chaîne vide. Lecture seulement.
YANK_ACTIVE (entier)
YANK_START (entier)
YANK_END (entier)
Ces trois paramètres indiquent si le texte vient d'être tiré (collé) dans le
un tampon. YANK_START et mes YANK_END sont dans la même unité sas Curseur, et ne sont que
valable quand YANK_ACTIVE est non nul.
Les trois sont en lecture seule.
ZLE_STATE (scalaire)
Contient un ensemble de mots séparés par des espaces qui décrivent le courant mal Etat.
Actuellement, les états affichés sont le mode d'insertion tel que défini par le mode écrasement or
vi-remplacer widgets et si les commandes d'historique visiteront les entrées importées comme
contrôlé par le widget set-local-history. La chaîne contient `insérer' si
les caractères à insérer sur la ligne de commande déplacent les caractères existants vers la droite
ou `écraser' si les caractères à insérer écrasent les caractères existants. Ce
contient `Histoire locale' si seules les commandes d'historique local seront visitées ou
`histoire globale' si les commandes d'historique importées seront également visitées.
Les sous-chaînes sont triées par ordre alphabétique de sorte que si vous souhaitez tester deux
sous-chaînes spécifiques d'une manière à l'épreuve du temps, vous pouvez faire correspondre en faisant :
if [[ $ZLE_STATE == *histoireglobale*insérer* ]] ; puis ...; fi
Spécial Widgets
Il existe quelques widgets définis par l'utilisateur qui sont spécifiques au shell. S'ils ne le font pas
existent, aucune mesure particulière n'est prise. L'environnement fourni est identique à celui de tout
autre widget d'édition.
zle-isearch-exit
Exécuté à la fin de la recherche incrémentielle au point où l'invite isearch est
retiré de l'affichage. Voir zle-isearch-mise à jour à titre d'exemple.
zle-isearch-mise à jour
Exécuté dans la recherche incrémentale lorsque l'affichage est sur le point d'être redessiné.
Une sortie supplémentaire sous l'invite de recherche incrémentielle peut être générée en utilisant
`mal -M' dans le widget. Par exemple,
zle-isearch-update() { mal -M "Ligne $HISTNO" ; }
mal -N zle-isearch-mise à jour
Notez la sortie de ligne par `mal -M' n'est pas supprimé à la sortie de la recherche incrémentielle.
Cela peut être fait à partir d'un zle-isearch-exit widget :
zle-isearch-exit() { mal -M ""; }
mal -N zle-isearch-exit
zle-line-init
Exécuté à chaque démarrage de l'éditeur de ligne pour lire une nouvelle ligne d'entrée. Les
L'exemple suivant met l'éditeur de ligne en mode commande vi lorsqu'il démarre.
zle-line-init() { mal -K victime; }
mal -N zle-line-init
(La commande à l'intérieur de la fonction définit directement le mappage de touches ; cela équivaut à mal
mode vi-cmd.)
zle-line-finition
Ceci est similaire à zle-line-init mais est exécuté chaque fois que l'éditeur de ligne a
fini de lire une ligne d'entrée.
ensemble de lignes d'histoire zle
Exécuté lorsque la ligne d'historique change.
zle-keymap-sélectionner
Exécuté à chaque fois que le keymap change, c'est-à-dire le paramètre spécial MAP DES CLÉS est fixé à
une valeur différente, alors que l'éditeur de ligne est actif. Initialisation du keymap lorsque
le démarrage de l'éditeur de ligne ne provoque pas l'appel du widget.
La valeur $KEYMAP dans la fonction reflète la nouvelle configuration de clavier. L'ancien clavier est
passé comme seul argument.
Cela peut être utilisé pour détecter les basculements entre la commande vi (victime) et insérer
(Généralement principal) les claviers.
STANDARD WIDGETS
Ce qui suit est une liste de tous les widgets standard et leurs liaisons par défaut dans emacs
mode, le mode de commande vi et le mode d'insertion vi (le `emacs', 'victime' et 'viines' mappages de touches,
respectivement).
Notez que les touches du curseur sont liées aux touches de déplacement dans les trois mappes de touches ; la coquille suppose
que les touches du curseur envoient les séquences de touches signalées par la bibliothèque de gestion du terminal
(termcap ou terminfo). Les séquences de touches indiquées dans la liste sont celles basées sur le VT100,
commun sur de nombreux terminaux modernes, mais en fait ceux-ci ne sont pas nécessairement liés. Dans le cas
du système viines keymap, le caractère d'échappement initial des séquences sert aussi à retourner
à la victime keymap : si cela se produit est déterminé par le DÉLAI DE CLÉ paramètre, voir
zshparam (1).
Mouvement
vi-mot-vide-en arrière (non relié) (B) (non relié)
Revenir en arrière d'un mot, où un mot est défini comme une série de mots non vides
caractères.
vi-backward-blank-word-fin (non relié) (gE) (non relié)
Aller à la fin du mot précédent, où un mot est défini comme une série de
caractères non vides.
caractère-arrière (^B ESC-[D) (non relié) (non relié)
Recule d'un caractère.
vi-backward-char (non relié) (^H h ^?) (ESC-[D)
Recule d'un caractère, sans changer de ligne.
mot-arrière (ESC-B ESC-b) (non relié) (non relié)
Aller au début du mot précédent.
emacs-mot-en arrière
Aller au début du mot précédent.
vi-mot-arrière (non relié) (b) (non relié)
Aller au début du mot précédent, style vi.
vi-arrière-mot-fin (non relié) (ge) (non relié)
Aller à la fin du mot précédent, style vi.
début de ligne (^A) (non relié) (non relié)
Aller au début de la ligne. Si déjà au début de la ligne, déplacez
au début de la ligne précédente, le cas échéant.
vi-début-de-ligne
Aller au début de la ligne, sans changer de ligne.
en aval (non consolidé) (non consolidé) (non consolidé)
Descendre d'une ligne dans le tampon.
fin de ligne (^E) (non relié) (non relié)
Aller à la fin de la ligne. Si déjà à la fin de la ligne, passez à la fin de
la ligne suivante, le cas échéant.
vi-fin de ligne (non relié) ($) (non relié)
Aller à la fin de la ligne. Si un argument est donné à cette commande, le curseur
sera déplacé à la fin de la ligne (argument - 1) lignes vers le bas.
vi-forward-vierge-mot (non relié) (W) (non relié)
Avancer d'un mot, où un mot est défini comme une série de caractères non vides.
vi-forward-vierge-mot-fin (non relié) (E) (non relié)
Se déplacer à la fin du mot courant, ou, si à la fin du mot courant, au
fin du mot suivant, où un mot est défini comme une série de caractères non vides.
avant-char (^F ESC-[C) (non relié) (non relié)
Avancer d'un caractère.
vi-forward-char (non relié) (espace l) (ESC-[C)
Avancer d'un caractère.
vi-trouver-char suivant (^X^F) (f) (non relié)
Lire un caractère sur le clavier et passer à l'occurrence suivante de celui-ci dans le
ligne.
vi-trouver-next-car-sauter (non relié) (t) (non relié)
Lire un caractère sur le clavier et passer à la position juste avant le suivant
apparition de celui-ci dans la ligne.
vi-find-prev-char (non relié) (F) (non relié)
Lire un caractère sur le clavier et passer à l'occurrence précédente de celui-ci dans
la ligne.
vi-find-prev-char-skip (non relié) (T) (non relié)
Lisez un caractère sur le clavier et déplacez-vous jusqu'à la position juste après le
occurrence précédente de celui-ci dans la ligne.
vi-premier-non vide (non relié) (^) (non relié)
Passez au premier caractère non vide de la ligne.
mot-avant-vi (non relié) (w) (non relié)
Avancez d'un mot, style vi.
avant-mot (ESC-F ESC-f) (non relié) (non relié)
Aller au début du mot suivant. L'idée de l'éditeur d'un mot est spécifiée
couplé à MOTS paramètre.
emacs-avant-mot
Aller à la fin du mot suivant.
vi-forward-mot-fin (non relié) (e) (non relié)
Aller à la fin du mot suivant.
vi-goto-colonne (ESC-|) (|) (non relié)
Déplacez-vous vers la colonne spécifiée par l'argument numérique.
vi-aller à la marque (non relié) (`) (non relié)
Déplacez-vous vers la marque spécifiée.
vi-goto-mark-line (non relié) (') (non relié)
Aller au début de la ligne contenant la marque spécifiée.
vi-répéter-trouver (non relié) (;) (non relié)
Répétez le dernier vi-trouver commander.
vi-rev-repeat-trouver (non relié) (,) (non relié)
Répétez le dernier vi-trouver commande en sens inverse.
en amont (non consolidé) (non consolidé) (non consolidé)
Remonter d'une ligne dans la mémoire tampon.
Historique Contrôle
début-de-tampon-ou-historique (ESC-) (gg) (non relié)
Déplacer au début du tampon, ou s'il y est déjà, passer au premier événement
dans la liste d'historique.
début-de-ligne-hist
Aller au début de la ligne. Si déjà au début du tampon, déplacez
à la ligne d'historique précédente.
début-de-l'histoire
Accéder au premier événement de la liste d'historique.
descendance-ou-histoire (^N ESC-[B) (j) (ESC-[B)
Descendre d'une ligne dans le tampon, ou si déjà à la ligne du bas, passer à la suivante
événement dans la liste d'historique.
vi-down-line-ou-historique (non relié) (+) (non relié)
Descendre d'une ligne dans le tampon, ou si déjà à la ligne du bas, passer à la suivante
événement dans la liste d'historique. Passez ensuite au premier caractère non vide de la ligne.
downline-ou-recherche
Descendez d'une ligne dans la mémoire tampon, ou si déjà à la ligne du bas, recherchez vers l'avant dans
l'historique d'une ligne commençant par le premier mot du tampon.
Si appelé à partir d'une fonction par le mal commande avec des arguments, le premier argument est
pris comme la chaîne à rechercher, plutôt que le premier mot dans le tampon.
bas-histoire (non relié) (^N) (non relié)
Passer à l'événement suivant dans la liste d'historique.
historique-début-recherche-en arrière
Recherche en arrière dans l'historique pour une ligne commençant par la ligne actuelle jusqu'à la
le curseur. Cela laisse le curseur dans sa position d'origine.
fin-de-tampon-ou-historique (ESC->) (non relié) (non relié)
Aller à la fin du tampon, ou s'il y est déjà, aller au dernier événement du
liste historique.
historique de fin de ligne
Aller à la fin de la ligne. Si déjà à la fin du tampon, passez au suivant
ligne d'histoire.
fin de l'histoire
Accéder au dernier événement de la liste d'historique.
vi-fetch-historique (non relié) (G) (non relié)
Récupère la ligne d'historique spécifiée par l'argument numérique. Ceci est par défaut le
ligne d'histoire actuelle (c'est-à-dire celle qui n'est pas encore historique).
historique-recherche-incrémentale-en arrière (^R ^Xr) (non relié) (non relié)
Recherche incrémentielle vers l'arrière pour une chaîne spécifiée. La recherche est
insensible à la casse si la chaîne de recherche n'a pas de lettres majuscules et non
argument numérique a été donné. La chaîne peut commencer par `^' pour ancrer la recherche sur
le début de la ligne. Lorsqu'elle est appelée à partir d'une fonction définie par l'utilisateur, renvoie la
états suivants : 0, si la recherche a réussi ; 1, si la recherche a échoué ; 2, si le
terme de recherche était un mauvais modèle ; 3, si la recherche a été interrompue par le envoi-pause
commander.
Un ensemble restreint de fonctions d'édition est disponible dans le mini-tampon. Les clés sont
regardé dans le spécial isearch keymap, et s'il n'y est pas trouvé dans le keymap principal
(notez que par défaut le isearch le clavier est vide). Un signal d'interruption, comme
défini par le paramètre stty, arrêtera la recherche et reviendra à la ligne d'origine.
Une clé non définie aura le même effet. Notez que ce qui suit s'exécute toujours
la même tâche dans les recherches incrémentielles et ne peut pas être remplacée par définie par l'utilisateur
widgets, et l'ensemble des fonctions ne peut pas non plus être étendu. Les fonctions prises en charge sont :
accepter et retenir
accepter-et-inférer-histoire-suivante
ligne d'acceptation
accepter-ligne-et-bas-historique
Exécutez la fonction habituelle après avoir quitté la recherche incrémentielle. La commande
la ligne affichée est exécutée.
back-delete-char
vi-backward-delete-char
Sauvegardez un endroit dans l'historique de recherche. Si la recherche a été répétée
cela n'efface pas immédiatement un caractère dans le mini-tampon.
accepter-rechercher
Quitter la recherche incrémentielle, en conservant la ligne de commande mais en n'effectuant aucune
d'autres mesures. Notez que cette fonction n'est pas liée par défaut et n'a pas
effet en dehors de la recherche incrémentale.
mot-de-supprimer-en arrière
mot-mort-arrière
vi-backward-kill-mot
Sauvegardez un caractère dans le mini-tampon ; si plusieurs recherches ont été
effectuée depuis que le caractère a été inséré, l'historique de recherche est rembobiné
le point juste avant la saisie du caractère. Cela a donc pour effet
de répéter back-delete-char.
écran propre
Effacer l'écran, en restant en mode de recherche incrémentale.
historique-recherche-incrémentale-en arrière
Trouvez la prochaine occurrence du contenu du mini-tampon. Si la
le mini-tampon est vide, la chaîne de recherche la plus récente précédemment utilisée est
réintégré.
historique-incrémental-recherche-avant
Inverser le sens de la recherche.
espace-magique
Insère un espace non magique.
citation-insert
vi-quoted-insert
Citez le caractère à insérer dans le mini-tampon.
réafficher
Réafficher la ligne de commande, en restant en mode de recherche incrémentale.
mode vi-cmd
Sélectionnez le `victime' mappage de touches ; le `principal' keymap (mode insertion) sera sélectionné
initialement.
De plus, les modifications apportées en mode d'insertion vi sont
fusionnés pour former un seul événement d'annulation.
vi-repeat-recherche
vi-rev-répétition-recherche
Répétez la recherche. Le sens de la recherche est indiqué dans le
mini-tampon.
Tout caractère qui n'est pas lié à l'une des fonctions ci-dessus, ou auto-insertion or
auto-insert-unmeta, provoquera la sortie du mode. Le personnage est alors regardé
up et exécuté dans le keymap en vigueur à ce point.
Lorsqu'il est appelé à partir d'une fonction widget par le mal commande, la recherche incrémentale
les commandes peuvent prendre un argument de chaîne. Ceci sera traité comme une chaîne de clés, comme
pour les arguments à la clé de liaison commande et utilisé comme entrée initiale pour la commande.
Tous les caractères de la chaîne qui ne sont pas utilisés par la recherche incrémentielle seront
ignoré en silence. Par exemple,
mal historique-recherche-incrémentale-en arrière forceps
recherchera en arrière pour forceps, laissant le mini-tampon contenant la chaîne
`forceps'.
historique-incrémental-recherche-avant (^S ^ Xs) (non relié) (non relié)
Recherche incrémentielle vers l'avant pour une chaîne spécifiée. La recherche est
insensible à la casse si la chaîne de recherche n'a pas de lettres majuscules et non
argument numérique a été donné. La chaîne peut commencer par `^' pour ancrer la recherche sur
le début de la ligne. Les fonctions disponibles dans le mini-tampon sont les mêmes
pour ce qui est de historique-recherche-incrémentale-en arrière.
historique-incrémental-motif-recherche-en arrière
historique-incrémental-motif-recherche-avant
Ces widgets se comportent de la même manière que les widgets correspondants sans -modèle, mais
la chaîne de recherche tapée par l'utilisateur est traitée comme un motif, respectant le courant
paramètres des diverses options affectant la correspondance de motifs. Voir FILENAME
GÉNÉRATION en zshexpn(1) pour une description des modèles. Si aucun argument numérique n'était
les lettres minuscules données dans la chaîne de recherche peuvent correspondre aux lettres majuscules dans le
l'histoire. La chaîne peut commencer par `^' pour ancrer la recherche au début de
la ligne.
L'invite change pour indiquer un modèle non valide ; cela peut simplement indiquer le
le modèle n'est pas encore terminé.
Notez que seules les correspondances qui ne se chevauchent pas sont signalées, donc une expression avec
les caractères génériques peuvent renvoyer moins de correspondances sur une ligne que ce qui est visible par inspection.
historique-recherche-en arrière (ESC-P ESC-p) (non relié) (non relié)
Rechercher en arrière dans l'historique une ligne commençant par le premier mot de la
un tampon.
Si appelé à partir d'une fonction par le mal commande avec des arguments, le premier argument est
pris comme la chaîne à rechercher, plutôt que le premier mot dans le tampon.
vi-historique-recherche-en arrière (non relié) (/) (non relié)
Recherche en arrière dans l'historique pour une chaîne spécifiée. La chaîne peut commencer par
`^' pour ancrer la recherche au début de la ligne.
Un ensemble restreint de fonctions d'édition est disponible dans le mini-tampon. Un
le signal d'interruption, tel que défini par le paramètre stty, arrêtera la recherche. Les
les fonctions disponibles dans le mini-tampon sont : ligne d'acceptation, back-delete-char,
vi-backward-delete-char, mot-mort-arrière, vi-backward-kill-mot, écran propre,
réafficher, citation-insert et mes vi-quoted-insert.
mode vi-cmd est traité de la même manière que la ligne d'acceptation, et espace-magique est traité comme un
espacer. Tout autre caractère qui n'est pas lié à l'auto-insertion ou à l'auto-insertion-unmeta
émettra un bip et sera ignoré. Si la fonction est appelée depuis le mode commande vi, le
les liaisons du mode d'insertion actuel seront utilisées.
Si appelé à partir d'une fonction par le mal commande avec des arguments, le premier argument est
pris comme la chaîne à rechercher, plutôt que le premier mot dans le tampon.
historique-recherche-avant (ESC-N ESC-n) (non relié) (non relié)
Rechercher dans l'historique une ligne commençant par le premier mot de la
un tampon.
Si appelé à partir d'une fonction par le mal commande avec des arguments, le premier argument est
pris comme la chaîne à rechercher, plutôt que le premier mot dans le tampon.
vi-historique-recherche-avant (non relié) (?) (non relié)
Recherche vers l'avant dans l'historique pour une chaîne spécifiée. La chaîne peut commencer par
`^' pour ancrer la recherche au début de la ligne. Les fonctions disponibles dans
les mini-tampon sont les mêmes que pour vi-historique-recherche-en arrière. Gestion des arguments
est également le même que pour cette commande.
inférer-histoire-suivante (^X^N) (non relié) (non relié)
Recherchez dans l'historique une ligne correspondant à la ligne actuelle et récupérez l'événement
le suivant.
insérer-dernier-mot (ÉCHAP-_ ÉCHAP-.) (non relié) (non relié)
Insérez le dernier mot de l'événement d'historique précédent à la position du curseur. Si un
un argument numérique positif est donné, insérez ce mot à partir de la fin du précédent
événement historique. Si l'argument est zéro ou négatif, insérez ce mot à partir de la gauche
(zéro insère le mot de commande précédent). La répétition de cette commande remplace le mot
juste inséré avec le dernier mot de l'événement historique avant celui qui vient d'être utilisé ;
les arguments numériques peuvent être utilisés de la même manière pour choisir un mot de cet événement.
Lorsqu'elle est appelée à partir d'une fonction shell invoquée à partir d'un widget défini par l'utilisateur, la commande
peut prendre un à trois arguments. Le premier argument spécifie un décalage d'historique
qui s'applique aux appels successifs à ce widget : s'il vaut -1, la valeur par défaut
comportement est utilisé, tandis que s'il est égal à 1, les appels successifs passeront
l'histoire. La valeur 0 peut être utilisée pour indiquer que la ligne d'historique examinée par
l'exécution précédente de la commande sera réexaminée. Notez que négatif
les nombres doivent être précédés d'un `--' argument pour éviter de les confondre avec des options.
Si deux arguments sont donnés, le second spécifie le mot sur la ligne de commande dans
notation d'index de tableau normale (comme alternative plus naturelle à la
argument). Par conséquent, 1 est le premier mot et -1 (valeur par défaut) est le dernier mot.
Si un troisième argument est donné, sa valeur est ignorée, mais il est utilisé pour signifier que
le décalage d'historique est relatif à la ligne d'historique actuelle, plutôt qu'à celle
rappelé après les invocations précédentes de insérer-dernier-mot.
Par exemple, le comportement par défaut de la commande correspond à
mal insérer-dernier-mot -- -1 -1
tandis que la commande
mal insérer-dernier-mot -- -1 1 -
copie toujours le premier mot de la ligne dans l'historique juste avant la ligne
en cours d'édition. Cela a pour effet secondaire que les appels ultérieurs du widget
être relatif à cette ligne.
vi-repeat-recherche (non relié) (n) (non relié)
Répétez la dernière recherche d'historique vi.
vi-rev-répétition-recherche (non relié) (N) (non relié)
Répétez la dernière recherche d'historique vi, mais en sens inverse.
up-line-ou-historique (^P ESC-[A) (k) (ESC-[A)
Remonter d'une ligne dans la mémoire tampon, ou si déjà à la première ligne, passer à la précédente
événement dans la liste d'historique.
vi-up-line-ou-historique (non relié) (-) (non relié)
Remonter d'une ligne dans la mémoire tampon, ou si déjà à la première ligne, passer à la précédente
événement dans la liste d'historique. Passez ensuite au premier caractère non vide de la ligne.
up-line-ou-recherche
Remonter d'une ligne dans la mémoire tampon, ou si déjà à la première ligne, rechercher en arrière dans le
historique pour une ligne commençant par le premier mot dans le tampon.
Si appelé à partir d'une fonction par le mal commande avec des arguments, le premier argument est
pris comme la chaîne à rechercher, plutôt que le premier mot dans le tampon.
historique (non relié) (^P) (non relié)
Passer à l'événement précédent dans la liste d'historique.
historique-début-recherche-avant
Recherche vers l'avant dans l'historique d'une ligne commençant par la ligne actuelle jusqu'au
le curseur. Cela laisse le curseur dans sa position d'origine.
définir l'historique local
Par défaut, les commandes de mouvement d'historique visitent les lignes importées ainsi que les
lignes. Ce widget vous permet de l'activer et de le désactiver, ou de le définir avec le
argument. Zéro pour les lignes locales et importées et différent de zéro pour les lignes locales uniquement.
Modification Texte
vi-ajouter-eol (non relié) (A) (non relié)
Allez à la fin de la ligne et entrez en mode insertion.
vi-ajouter-suivant (non relié) (a) (non relié)
Entrez en mode insertion après la position actuelle du curseur, sans changer de ligne.
back-delete-char (^H ^?) (non relié) (non relié)
Supprimez le caractère derrière le curseur.
vi-backward-delete-char (non relié) (X) (^H)
Supprime le caractère derrière le curseur, sans changer de ligne. Si en mode insertion,
cela ne supprimera pas au-delà du point où le mode d'insertion a été entré pour la dernière fois.
mot-de-supprimer-en arrière
Supprimez le mot derrière le curseur.
en arrière-kill-line
Tuez du début de la ligne à la position du curseur.
mot-mort-arrière (^W ESC-^H ESC-^ ?) (non relié) (non relié)
Tuez le mot derrière le curseur.
vi-backward-kill-mot (non relié) (non relié) (^W)
Tuez le mot derrière le curseur, sans dépasser le point où le mode insertion était
dernière entrée.
mot-majuscule (ESC-C ESC-c) (non relié) (non relié)
Mettez le mot actuel en majuscule et passez-le.
vi-changer (non relié) (c) (non relié)
Lire une commande de mouvement à partir du clavier et tuer de la position du curseur à la
point final du mouvement. Entrez ensuite en mode insertion. Si la commande est vi-changer,
changer la ligne courante.
Pour la compatibilité avec vi, si la commande est mot-avant-vi or
vi-forward-vierge-mot, l'espace après le mot n'est pas inclus. Si tu préfères
le comportement le plus cohérent avec l'espace blanc inclus, utilisez la clé suivante
contraignant:
clé de liaison -a -s cw Dwi
vi-change-eol (non relié) (C) (non relié)
Tuez jusqu'à la fin de la ligne et entrez en mode insertion.
vi-changer-toute-ligne (non relié) (S) (non relié)
Tuez la ligne actuelle et entrez en mode insertion.
copier-région-comme-tuer (ESC-W ESC-w) (non relié) (non relié)
Copiez la zone du curseur à la marque dans le tampon d'élimination.
Si appelé à partir d'une fonction de widget ZLE sous la forme `mal copier-région-comme-tuer un magnifique'
puis un magnifique sera pris comme texte à copier dans le tampon d'élimination. Le curseur, le
mark et le texte de la ligne de commande ne sont pas utilisés dans ce cas.
copier-mot-précédent (ESC-^_) (non relié) (non relié)
Dupliquez le mot à gauche du curseur.
copier-précédent-mot-shell
J'aime copier-mot-précédent, mais le mot est trouvé en utilisant l'analyse du shell, alors que
copier-mot-précédent cherche des blancs. Cela fait une différence lorsque le mot est cité
et contient des espaces.
vi-supprimer (non relié) (d) (non relié)
Lire une commande de mouvement à partir du clavier et tuer de la position du curseur à la
point final du mouvement. Si la commande est vi-supprimer, tue la ligne courante.
supprimer-char
Supprimez le caractère sous le curseur.
vi-supprimer-char (non relié) (x) (non relié)
Supprimer le caractère sous le curseur, sans dépasser la fin de la ligne.
supprimer-mot
Supprimer le mot actuel.
mot-casse (ESC-L ESC-l) (non relié) (non relié)
Convertissez le mot actuel en minuscules et dépassez-le.
mot de passe (ESC-D ESC-d) (non relié) (non relié)
Tuez le mot actuel.
gosmacs-transpose-chars
Échangez les deux caractères derrière le curseur.
vi-retrait (non relié) (>) (non relié)
Indenter un certain nombre de lignes.
vi-insérer (non relié) (i) (non relié)
Entrez en mode insertion.
vi-insérer-bol (non relié) (I) (non relié)
Passez au premier caractère non vide de la ligne et entrez en mode insertion.
vi-rejoindre (^X^J) (J) (non relié)
Rejoindre la ligne actuelle avec la suivante.
ligne de mort (^K) (non relié) (non relié)
Tuer du curseur à la fin de la ligne. Si déjà au bout de la ligne,
tuer le caractère de nouvelle ligne.
vi-kill-ligne (non relié) (non relié) (^U)
Tuez à partir du curseur jusqu'à l'endroit où le dernier mode d'insertion a été entré.
vi-tuer-eol (non relié) (D) (non relié)
Tuer du curseur à la fin de la ligne.
kill-région
Tuez du curseur à la marque.
tampon de destruction (^X^K) (non relié) (non relié)
Tuez tout le tampon.
tuer-toute-ligne (^U) (non relié) (non relié)
Tuez la ligne actuelle.
vi-match-support (^X^B) (%) (non relié)
Déplacez-vous vers le caractère crochet (l'un des {}, () or []) qui correspond à celui sous le
le curseur. Si le curseur n'est pas sur une parenthèse, avancez sans aller
après la fin de la ligne pour en trouver un, puis allez au crochet correspondant.
vi-ligne-ouverte-ci-dessus (non relié) (O) (non relié)
Ouvrez une ligne au-dessus du curseur et entrez en mode insertion.
vi-ligne-ouverte-ci-dessous (non relié) (o) (non relié)
Ouvrez une ligne sous le curseur et entrez en mode insertion.
vi-oper-swap-case (non relié) (g~) (non relié)
Lire une commande de mouvement à partir du clavier et échanger la casse de tous les caractères de
la position du curseur jusqu'au point final du mouvement. Si la commande de mouvement est
vi-oper-swap-case, permute la casse de tous les caractères de la ligne courante.
mode écrasement (^X^O) (non relié) (non relié)
Basculez entre le mode écrasement et le mode insertion.
vi-mettre-avant (non relié) (P) (non relié)
Insérez le contenu du kill buffer avant le curseur. Si le tampon d'élimination
contient une séquence de lignes (par opposition à des caractères), collez-la au-dessus de la
ligne.
vi-mettre-après (non relié) (p) (non relié)
Insérez le contenu du kill buffer après le curseur. Si le tampon d'élimination
contient une séquence de lignes (par opposition à des caractères), collez-la sous le
ligne.
mettre-remplacer-sélection (non consolidé) (non consolidé) (non consolidé)
Remplacer le contenu de la région ou de la sélection actuelle par le contenu de la
tuer le tampon. Si le kill buffer contient une séquence de lignes (par opposition à
caractères), la ligne courante sera divisée par les lignes collées.
citation-insert (^V) (non relié) (non relié)
Insérez littéralement le caractère suivant tapé dans le tampon. Un caractère d'interruption
ne sera pas inséré.
vi-quoted-insert (non relié) (non relié) (^Q ^V)
Afficher un `^' à la position du curseur et insérez le caractère suivant tapé dans le
tampon littéralement. Un caractère d'interruption ne sera pas inséré.
ligne de devis (ESC-') (non relié) (non relié)
Citez la ligne actuelle ; c'est-à-dire mettre un `'' caractère au début et à la fin,
et convertir tout `'' caractères à ''\'''.
devis-région (ESC-") (non relié) (non relié)
Citez la région du curseur à la marque.
vi-remplacer (non relié) (R) (non relié)
Entrez en mode écrasement.
vi-répéter-changer (non relié) (.) (non relié)
Répétez la dernière modification de texte en mode vi. Si un compte a été utilisé avec le
modification, on s'en souvient. Si un compte est donné à cette commande, il remplace
le compte mémorisé, et est mémorisé pour les utilisations futures de cette commande. La Coupe
la spécification du tampon est également mémorisée.
vi-remplacer-chars (non relié) (r) (non relié)
Remplacez le caractère sous le curseur par un caractère lu au clavier.
auto-insertion (caractères imprimables) (non lié) (caractères imprimables et certains contrôles
personnages)
Insérez un caractère dans le tampon à la position du curseur.
auto-insert-unmeta (ESC-^I ESC-^J ESC-^M) (non relié) (non relié)
Insérez un caractère dans le tampon après avoir supprimé le bit méta et converti ^M
à ^J.
vi-substitut (non relié) (s) (non relié)
Remplacez le(s) caractère(s) suivant(s).
vi-swap-case (non relié) (~) (non relié)
Échangez la casse du caractère sous le curseur et passez-le.
transposer les caractères (^T) (non relié) (non relié)
Echanger les deux caractères à gauche du curseur si en fin de ligne, sinon
échanger le caractère sous le curseur avec le caractère à gauche.
transposer-mots (ESC-T ESC-t) (non relié) (non relié)
Échangez le mot courant avec celui qui le précède.
vi-désindentation (non relié) (<) (non relié)
Annuler le retrait d'un certain nombre de lignes.
mot en haut de la casse (ESC-U ESC-u) (non relié) (non relié)
Convertissez le mot actuel en majuscules et dépassez-le.
coup sec (^Y) (non relié) (non relié)
Insérez le contenu du kill buffer à la position du curseur.
arracher-pop (ESC-y) (non relié) (non relié)
Supprimez le texte que vous venez d'arracher, faites pivoter le kill-ring (l'historique des précédents tués
texte) et tirez sur le nouveau haut. Ne fonctionne qu'après coup sec, vi-mettre-avant, vi-mettre-après
or arracher-pop.
vi-tirer (non relié) (y) (non relié)
Lire une commande de mouvement à partir du clavier et copier la région à partir du curseur
position au point final du mouvement dans le tampon d'arrêt. Si la commande est
vi-tirer, copie la ligne courante.
vi-yank-toute la ligne (non relié) (Y) (non relié)
Copie la ligne actuelle dans le kill buffer.
vi-yank-eol
Copiez la région de la position du curseur à la fin de la ligne dans le kill
amortir. C'est sans doute ce que Y devrait faire dans vi, mais ce n'est pas ce qu'il fait en réalité
t.
Arguments
argument-chiffre (ESC-0..ESC-9) (1-9) (non relié)
Démarrez un nouvel argument numérique ou ajoutez-le à l'actuel. Voir également
vi-chiffre-ou-début-de-ligne. Cela ne fonctionne que s'il est lié à une séquence de touches se terminant
dans un chiffre décimal.
A l'intérieur d'une fonction widget, un appel à cette fonction traite la dernière touche de la touche
séquence qui a appelé le widget comme le chiffre.
argument-nég (ÉCHAP--) (non relié) (non relié)
Change le signe de l'argument suivant.
argument-universel
Multipliez l'argument de la commande suivante par 4. Sinon, si cette commande est
suivi d'un entier (positif ou négatif), utilisez-le comme argument pour le
commande suivante. Ainsi, les chiffres ne peuvent pas être répétés à l'aide de cette commande. Par exemple, si
cette commande se produit deux fois, suivie immédiatement par avant-char, Avance
seize espaces; si à la place il est suivi de -2, puis avant-char, recule
deux espaces.
A l'intérieur d'une fonction widget, si passé un argument, c'est-à-dire `mal argument-universel num',
l'argument numérique sera mis à num; cela équivaut à `NUMÉRIQUE=num'.
base d'arguments
Utilisez l'argument numérique existant comme base numérique, qui doit être dans la plage 2
à 36 inclus. L'utilisation ultérieure de argument-chiffre et mes argument-universel sera
entrer un nouvel argument numérique dans la base donnée. La convention hexadécimale habituelle
est utilisé : la lettre a or A correspond à 10, et ainsi de suite. Arguments en bases
nécessitant des chiffres à partir de 10 sont plus facilement saisis avec
argument-universel, Depuis ESC-a etc. ne sont généralement pas liés à argument-chiffre.
La fonction peut être utilisée avec un argument de commande dans un widget défini par l'utilisateur. le
le code suivant définit la base sur 16 et permet à l'utilisateur d'entrer un argument hexadécimal
jusqu'à ce qu'une touche hors de la plage de chiffres soit saisie :
mal base d'arguments 16
mal argument-universel
Aboutissement
accepter-et-menu-complet
Dans une complétion de menu, insérez la complétion actuelle dans le tampon, et avancez jusqu'à
la prochaine réalisation possible.
mot-complet
Tentative de complétion sur le mot courant.
supprimer-car-ou-liste (^D) (non relié) (non relié)
Supprimez le caractère sous le curseur. Si le curseur est à la fin de la ligne,
liste les complétions possibles pour le mot courant.
étendre-cmd-chemin
Développez la commande actuelle jusqu'à son chemin d'accès complet.
développer ou compléter (TAB) (non relié) (TAB)
Tentative d'expansion du shell sur le mot courant. Si cela échoue, essayez de terminer.
développer-ou-compléter-préfixe
Tentative d'expansion du shell sur le mot courant jusqu'au curseur.
développer-historique (ESC-espace ÉCHAP-!) (non relié) (non relié)
Effectuez l'expansion de l'historique sur le tampon d'édition.
développer-mot (^X*) (non relié) (non relié)
Tentative d'expansion du shell sur le mot courant.
liste-choix (ESC-^D) (^D =) (^D)
Liste les complétions possibles pour le mot courant.
liste-développer (^Xg ^XG) (^G) (^G)
Liste l'expansion du mot courant.
espace-magique
Effectuez l'expansion de l'historique et insérez un espace dans le tampon. Ceci est destiné à
être lié à l'espace.
menu-complet
J'aime mot-complet, sauf que la complétion de menu est utilisée. Voir le MENU_COMPLET
option.
menu-développer-ou-compléter
J'aime développer ou compléter, sauf que la complétion de menu est utilisée.
menu-inverse-complet
Effectuez la complétion du menu, comme menu-complet, sauf que si une complétion de menu est
déjà en cours, passez à la précédent l'achèvement plutôt que le suivant.
fin de liste
Lorsqu'un achèvement précédent affichait une liste sous l'invite, ce widget peut être
utilisé pour déplacer l'invite sous la liste.
Divers
accepter et retenir (ESC-A ESC-a) (non relié) (non relié)
Poussez le contenu du tampon sur la pile de tampons et exécutez-le.
accepter-et-inférer-histoire-suivante
Exécutez le contenu du tampon. Ensuite, recherchez une ligne dans la liste de l'historique
correspondant à l'actuel et pousser l'événement suivant sur la pile de tampons.
ligne d'acceptation (^J ^M) (^J ^M) (^J ^M)
Terminez l'édition du tampon. Normalement, cela provoque l'exécution du tampon en tant que
commande shell.
accepter-ligne-et-bas-historique (^O) (non relié) (non relié)
Exécute la ligne actuelle et pousse l'événement d'historique suivant sur la pile de tampons.
suppression automatique du suffixe
Si l'action précédente a ajouté un suffixe (espace, barre oblique, etc.) au mot sur le
ligne de commande, supprimez-le. Sinon, ne faites rien. La suppression du suffixe met fin à tout
achèvement de menu actif ou sélection de menu.
Ce widget est destiné à être appelé à partir de widgets définis par l'utilisateur pour appliquer un
comportement de suppression de suffixe.
auto-suffixe-conserver
Si l'action précédente a ajouté un suffixe (espace, barre oblique, etc.) au mot sur le
ligne de commande, forcez-le à être conservé. Sinon, ne faites rien. Conserver le
suffixe met fin à toute fin de menu ou sélection de menu active.
Ce widget est destiné à être appelé à partir de widgets définis par l'utilisateur pour appliquer un
comportement de préservation des suffixes.
bip Bip, à moins que le BIP l'option n'est pas définie.
Coller entre crochets
Ce widget est invoqué lorsque du texte est collé dans l'émulateur de terminal. Ce n'est pas
destiné à être lié aux clés réelles mais à la séquence spéciale générée
par l'émulateur de terminal lorsque du texte est collé. Si un argument numérique est donné,
Les guillemets du shell seront appliqués au texte collé avant qu'il ne soit inséré. Lorsqu'il est appelé
à partir d'une fonction widget, un argument peut être donné pour spécifier une variable à laquelle
le texte collé est attribué.
Voir aussi zle_bracketed_paste paramètre.
mode vi-cmd (^X^V) (non relié) (^[)
Entrez en mode commande ; c'est-à-dire, sélectionnez le `victime' keymap. Oui, cela est lié par
par défaut en mode emacs.
vi-caps-lock-panique
Accrochez jusqu'à ce que vous appuyiez sur n'importe quelle touche en minuscule. Ceci est pour les utilisateurs de vi sans le mental
capacité de garder une trace de leur clé de verrouillage des majuscules (comme l'auteur).
écran propre (^L ESC-^L) (^L) (^L)
Effacez l'écran et redessinez l'invite.
désactiver-région
Rendre la région actuelle inactive. Cela désactive le mode de sélection visuelle de style vim si
il est actif.
décrire-clé-brièvement
Lit une séquence de touches, puis imprime la fonction liée à cette séquence.
échange-point-et-marque (^X^X) (non relié) (non relié)
Échangez la position du curseur (point) avec la position de la marque. A moins qu'un
un argument numérique négatif est donné, la région entre le point et la marque est activée
afin qu'il puisse être mis en évidence. Si un argument numérique de zéro est donné, la région est
activé mais point et marque ne sont pas permutés.
exécuter-nommé-cmd (ESC-x) (:) (non relié)
Lisez le nom d'une commande d'éditeur et exécutez-la. Un ensemble restreint d'édition
fonctions est disponible dans le mini-tampon. Les clés sont recherchées dans le spécial
commander keymap, et s'il n'y est pas trouvé dans le keymap principal. Un signal d'interruption, comme
défini par le paramètre stty, annulera la fonction. Notez que ce qui suit
toujours effectuer la même tâche dans le cmd-nom-exécuté l'environnement et ne peut
être remplacé par des widgets définis par l'utilisateur, et l'ensemble de fonctions ne peut pas non plus être étendu. le
les fonctions autorisées sont : back-delete-char, vi-backward-delete-char, écran propre,
réafficher, citation-insert, vi-quoted-insert, mot-mort-arrière,
vi-backward-kill-mot, tuer-toute-ligne, vi-kill-ligne, en arrière-kill-line,
liste-choix, supprimer-car-ou-liste, mot-complet, ligne d'acceptation, développer ou compléter
et mes développer-ou-compléter-préfixe.
kill-région tue le dernier mot, et vi-cmd-mode est traité de la même manière que
ligne d'acceptation. Les caractères espace et tabulation, s'ils ne sont pas liés à l'une de ces fonctions,
complètera le nom puis listera les possibilités si le LISTE_AUTO option est
ensemble. Tout autre personnage qui n'est pas lié à auto-insertion or auto-insert-unmeta
émettra un bip et sera ignoré. Les liaisons du mode d'insertion actuel seront utilisées.
Actuellement, cette commande ne peut pas être redéfinie ou appelée par son nom.
exécuter-dernier-nom-cmd (ESC-z) (non relié) (non relié)
Refaire la dernière fonction exécutée avec exécuter-nommé-cmd.
Actuellement, cette commande ne peut pas être redéfinie ou appelée par son nom.
obtenir la ligne (ESC-G ESC-g) (non relié) (non relié)
Retirez la ligne supérieure de la pile de tampons et insérez-la à la position du curseur.
livre-insert (non relié) (#) (non relié)
S'il n'y a pas de caractère # au début du tampon, ajoutez-en un au début
de chaque ligne. S'il y en a un, supprimez un # de chaque ligne qui en a un. Dans les deux cas
cas, accepter la ligne courante. le COMMENTAIRES_INTERACTIFS l'option doit être définie pour
ceci pour avoir une quelconque utilité.
vi-livre-insert
S'il n'y a pas de caractère # au début de la ligne courante, ajoutez-en un. S'il y a
est un, supprimez-le. le COMMENTAIRES_INTERACTIFS l'option doit être définie pour que cela ait
toute utilité.
entrée-poussoir
Poussez toute la construction multiligne actuelle sur la pile de tampons et revenez à la
haut niveau (PS1) rapide. Si la construction actuelle de l'analyseur n'est qu'une seule ligne,
c'est exactement comme ligne de poussée. La prochaine fois que l'éditeur démarre ou s'affiche avec
obtenir la ligne, la construction sera extraite du haut de la pile de tampons et chargée
dans le tampon d'édition.
ligne de poussée (^Q ESC-Q ESC-q) (non relié) (non relié)
Poussez le tampon actuel sur la pile de tampons et effacez le tampon. La prochaine fois le
l'éditeur démarre, le tampon sera extrait du haut de la pile de tampons et
chargé dans le tampon d'édition.
pousser-ligne-ou-éditer
Au plus haut niveau (PS1) invite, équivalent à ligne de poussée. Dans un secondaire (PS2)
invite, déplacez l'intégralité de la construction multiligne actuelle dans le tampon de l'éditeur. le
ce dernier équivaut à entrée-poussoir suivie par obtenir la ligne.
lecture-commande
Uniquement utile à partir d'un widget défini par l'utilisateur. Une frappe est lue comme d'habitude
opération, mais au lieu de l'exécution de la commande, le nom de la commande qui
serait exécuté est stocké dans le paramètre shell RÉPONDRE. Cela peut être utilisé comme
argument d'un avenir mal commander. Si la séquence de touches n'est pas liée, le statut 1 est
revenu; généralement, cependant, RÉPONDRE est fixé à clé-non définie pour indiquer un inutile
séquence de touches.
édition récursive
Uniquement utile à partir d'un widget défini par l'utilisateur. A ce stade de la fonction, l'éditeur
reprend le contrôle jusqu'à ce que l'un des widgets standard qui entraînerait normalement zle à
sortie (généralement une ligne d'acceptation causé en appuyant sur la touche retour) est exécuté.
Au lieu de cela, le contrôle revient au widget défini par l'utilisateur. Le statut renvoyé est
différent de zéro si le retour a été causé par une erreur, mais la fonction continue toujours
exécuter et donc peut ranger. Cela permet au widget défini par l'utilisateur de
modifier temporairement la ligne de commande ou les raccourcis clavier.
Le widget suivant, verrouillage des majuscules, sert d'exemple.
auto-insert-ucase() {
LBUFFER+=${(U)KEYS[-1]}
}
statistique entière
zle -N auto-insertion auto-insertion-ucase
zle -A verrouillage des majuscules enregistrer-verrouillage des majuscules
zle -A accept-line maj-lock
zle édition récursive
statistique=$?
zle -A .self-insert auto-insert
zle -A sauvegarder-verrouillage-caps-verrouillage
zle -D enregistrer-caps-lock
(( stat )) && zle send-break
retourner $stat
Cela provoque l'insertion des lettres tapées en majuscule jusqu'à ce que l'une ou l'autre ligne d'acceptation (c'est à dire
généralement la touche de retour) est tapé ou le verrouillage des majuscules le widget est à nouveau invoqué ; la
plus tard est géré en sauvegardant l'ancienne définition de verrouillage des majuscules as enregistrer-verrouiller les majuscules et mes
puis le relire pour invoquer ligne d'acceptation. Notez qu'une erreur de la récursive
edit est détecté comme un état de retour différent de zéro et propagé en utilisant le envoi-pause
widget.
réafficher (non relié) (^R) (^R)
Affiche à nouveau le tampon d'édition.
invite de réinitialisation (non consolidé) (non consolidé) (non consolidé)
Forcez les invites à la fois à gauche et à droite de l'écran à s'étendre à nouveau, puis
réafficher le tampon d'édition. Cela reflète les modifications apportées aux variables d'invite
eux-mêmes et les changements dans l'expansion des valeurs (par exemple, les changements dans le temps
ou répertoire, ou des modifications apportées à la valeur des variables référencées par l'invite).
Sinon, l'invite n'est étendue qu'à chaque démarrage de zle et lorsque l'affichage
comme interrompu par la sortie d'une autre partie du shell (comme un travail
notification) qui provoque la réimpression de la ligne de commande.
envoi-pause (^G ESC-^G) (non relié) (non relié)
Abandonner la fonction d'éditeur actuelle, par exemple exécuter-la-commande-nommée, ou l'éditeur
lui-même, par exemple si vous êtes dans varié. Sinon abandonner l'analyse de la ligne courante ;
dans ce cas la ligne abandonnée est disponible dans la variable shell ZLE_LINE_ABORTED.
Si l'éditeur est interrompu de l'intérieur varié, la variable ZLE_VARED_ABORTED est réglé.
aide à l'exécution (ESC-H ESC-h) (non relié) (non relié)
Poussez le tampon sur la pile de tampons et exécutez la commande `aide à l'exécution cmd',
où cmd est la commande actuelle. aide à l'exécution est normalement alias man.
vi-set-tampon (non relié) (") (non relié)
Spécifiez un tampon à utiliser dans la commande suivante. Il y a 37 tampons qui
peut être spécifié : les 26 tampons 'nommés' "a à "z, le tampon « tirer » "0, les neuf
tampons "en file d'attente" "1 à "9 et le tampon "trou noir" "_. Les tampons nommés peuvent
également être spécifié comme "A à "Z.
Lorsqu'un tampon est spécifié pour une commande de coupe, de modification ou de retrait, le texte concerné
remplace le contenu précédent du tampon spécifié. Si un tampon nommé est
spécifié à l'aide d'une majuscule, le texte nouvellement coupé est ajouté au tampon au lieu de
en l'écrasant. Lors de l'utilisation du "_ tampon, rien ne se passe. Cela peut être utile pour
suppression de texte sans affecter les registres normaux.
Si aucun tampon n'est spécifié pour une commande de coupe ou de modification, "1 est utilisé et le contenu
of "1 à "8 sont chacun décalés le long d'un tampon ; le contenu de "9 est perdu. Sinon
buffer est spécifié pour une commande Yank, "0 est utilisé. Enfin, une commande coller
sans tampon spécifié collera le texte de la commande la plus récente
indépendamment de tout tampon qui aurait pu être utilisé avec cette commande.
Lorsqu'il est appelé à partir d'une fonction widget par le mal commande, le tampon peut éventuellement être
spécifié avec un argument. Par example,
mal vi-set-tampon A
vi-set-marque (non relié) (m) (non relié)
Placez la marque spécifiée à la position du curseur.
set-mark-commande (^@) (non relié) (non relié)
Placez la marque à la position du curseur. Si appelé avec un argument numérique négatif,
ne pas mettre la marque mais désactiver la région pour qu'elle ne soit plus en surbrillance
(il est toujours utilisable à d'autres fins). Sinon, la région est marquée comme active.
épeler (ESC-$ ESC-S ESC) (non relié) (non relié)
Essayez de corriger l'orthographe du mot courant.
fractionner-annuler
Casse la séquence d'annulation à la modification actuelle. Ceci est utile en mode vi car
les modifications apportées en mode insertion sont fusionnées lors de l'entrée en mode commande. De la même manière,
défaire reviendra normalement en tant qu'un tous les changements apportés par un widget défini par l'utilisateur.
clé-non définie
Cette commande est exécutée lorsqu'une séquence de touches qui n'est liée à aucune commande est
tapé. Par défaut, il émet un bip.
défaire (^_ ^Xu ^X^U) (u) (non relié)
Annule progressivement la dernière modification de texte. Lorsqu'il est appelé à partir d'un utilisateur défini
widget, prend un argument facultatif indiquant un état précédent de l'historique d'annulation
tel que renvoyé par le UNDO_CHANGE_NO variable; les modifications sont annulées jusqu'à ce que
l'état est atteint, sous réserve de toute limite imposée par le UNDO_LIMIT_NO variable.
Notez que lorsqu'il est invoqué à partir du mode de commande vi, la modification préalable complète effectuée dans insert
le mode est inversé, les changements ayant été fusionnés lorsque le mode de commande a été sélectionné.
refaire (non relié) (^R) (non relié)
Rétablir progressivement les modifications de texte annulées.
vi-annuler-modifier (non consolidé) (non consolidé) (non consolidé)
Annulez la dernière modification de texte. Si répété, refaites la modification.
mode visuel (non relié) (v) (non relié)
Basculez en mode de sélection visuelle de style vim. Si le mode visuel par ligne est actuellement
activé, il est modifié pour être au niveau des caractères. S'il est utilisé après un opérateur,
il force la commande de mouvement suivante à être traitée comme un personnage
mouvement.
mode-ligne-visuel (non relié) (V) (non relié)
Basculez en mode de sélection visuelle par ligne de style vim. Si le mode visuel au niveau des caractères est
actuellement activé, il est modifié pour être ligne par ligne. S'il est utilisé à la suite d'un
opérateur, il force la commande de mouvement suivante à être traitée comme une ligne par ligne
mouvement.
quelle-position-curseur (^X=) (ga) (non relié)
Imprimer le caractère sous le curseur, son code en octal, décimal et hexadécimal
nombre, la position actuelle du curseur dans le tampon et la colonne du curseur
dans la ligne courante.
où se trouve
Lire le nom d'une commande d'éditeur et imprimer la liste des séquences de touches qui
invoque la commande spécifiée. Un ensemble restreint de fonctions d'édition est disponible
dans le mini-tampon. Les clés sont recherchées dans le spécial commander keymap, et sinon
trouvé là dans le keymap principal.
quelle-commande (ÉCHAP-?) (non relié) (non relié)
Poussez le tampon sur la pile de tampons et exécutez la commande `quelle-commande cmd'.
où cmd est la commande actuelle. quelle-commande est normalement alias D'où.
vi-chiffre-ou-début-de-ligne (non relié) (0) (non relié)
Si la dernière commande exécutée était un chiffre dans le cadre d'un argument, continuez la
argument. Sinon, exécutez vi-beginning-of-line.
Texte Objets
Les objets texte sont des commandes qui peuvent être utilisées pour sélectionner un bloc de texte selon certaines
Critères. Ils sont une fonctionnalité de l'éditeur de texte vim et sont donc principalement destinés à être utilisés
avec les opérateurs vi ou à partir du mode de sélection visuelle. Cependant, ils peuvent également être utilisés à partir de
mode vi-insert ou emacs. Les raccourcis clavier répertoriés ci-dessous s'appliquent aux viopp et mes visuel mappages de touches.
sélectionner-un-mot-blanc (aW)
Sélectionnez un mot comprenant des blancs adjacents, où un mot est défini comme une série de
caractères non vides. Avec un argument numérique, plusieurs mots seront sélectionnés.
sélectionner un mot-coque (aa)
Sélectionnez l'argument de commande actuel en appliquant les règles normales de citation.
sélectionnez-un-mot (aw)
Sélectionnez un mot, y compris les blancs adjacents, en utilisant la définition de mot normale de style vi.
Avec un argument numérique, plusieurs mots seront sélectionnés.
mot-sélection-en-blanc (iW)
Sélectionnez un mot, où un mot est défini comme une série de caractères non vides. Avec un
argument numérique, plusieurs mots seront sélectionnés.
mot de sélection dans le shell (ia)
Sélectionnez l'argument de commande actuel en appliquant les règles normales de citation. Si la
l'argument commence et se termine par des guillemets correspondants, ceux-ci ne sont pas inclus dans
la sélection.
sélection dans le mot (iw)
Sélectionnez un mot en utilisant la définition de mot normale de style vi. Avec un argument numérique,
plusieurs mots seront sélectionnés.
PERSONNAGE MISE EN ÉVIDENCE
L'éditeur de ligne a la capacité de mettre en évidence des caractères ou des régions de la ligne qui ont un
importance particulière. Ceci est contrôlé par le paramètre de tableau zle_highlight, si ça
a été défini par l'utilisateur.
Si le paramètre contient la seule entrée aucun tous les surlignages sont désactivés. Noter la
paramètre est toujours censé être un tableau.
Sinon, chaque entrée du tableau doit consister en un mot indiquant un contexte pour
en surbrillance, puis deux points, puis une liste séparée par des virgules des types de surbrillance à
s'appliquer dans ce contexte.
Les contextes disponibles pour la mise en évidence sont les suivants :
défaut
Tout texte dans la ligne de commande non affecté par une autre mise en surbrillance. Texte
en dehors de la zone modifiable de la ligne de commande n'est pas affecté.
isearch
Lorsqu'un des widgets de recherche d'historique incrémentiel est actif, la zone du
ligne de commande correspondant à la chaîne ou au modèle de recherche.
région La région entre le curseur (point) et la marque définie avec set-mark-commande.
La région n'est mise en surbrillance que si elle est active, ce qui est le cas si
set-mark-commande or échange-point-et-marque a été appelé et la ligne n'a pas
été modifié par la suite. La région peut être désactivée en appelant
set-mark-commande avec un argument numérique négatif, ou réactivé en appelant
échange-point-et-marque avec un argument numérique nul. Notez que, que le
la région est active n'a aucun effet sur son utilisation dans les widgets, elle détermine simplement
s'il est mis en évidence.
pour un spécial
Caractères individuels qui n'ont pas de représentation imprimable directe mais sont affichés dans
d'une manière spéciale par l'éditeur de ligne. Ces caractères sont décrits ci-dessous.
suffixe Ce contexte est utilisé dans la complétion pour les caractères marqués comme suffixes qui
sera supprimé si l'achèvement se termine à ce stade, l'exemple le plus évident
étant une barre oblique (/) après un nom de répertoire. Notez que la suppression du suffixe est
configurable ; les circonstances dans lesquelles le suffixe sera supprimé peuvent différer
pour différentes finitions.
paste Suite à une commande pour coller du texte, les caractères qui ont été insérés.
Lorsque région_highlight est défini, les contextes qui décrivent une région -- isearch, région,
suffixe et paste -- sont appliqués en premier, puis région_highlight est appliqué, puis le
restant zle_highlight les contextes sont appliqués. Si un caractère particulier est affecté par
spécifications multiples, la dernière spécification l'emporte.
zle_highlight peut contenir des champs supplémentaires pour contrôler la façon dont les séquences terminales
changer les couleurs sont sorties. Chacun des éléments suivants est suivi de deux points et d'une chaîne dans
la même forme que pour les raccourcis clavier. Cela ne sera pas nécessaire pour la grande majorité des
terminaux car les valeurs par défaut indiquées entre parenthèses sont largement utilisées.
fg_start_code (\e[3)
Début de la séquence d'échappement pour la couleur de premier plan. Ceci est suivi d'un
Chiffre ASCII représentant la couleur.
fg_default_code (9)
Le nombre à utiliser à la place de la couleur pour réinitialiser la couleur de premier plan par défaut.
fg_end_code (m)
Fin de la séquence d'échappement pour la couleur de premier plan.
bg_start_code (\e[4)
Le début de la séquence d'échappement pour la couleur d'arrière-plan. Ceci est suivi d'un
Chiffre ASCII représentant la couleur.
bg_default_code (9)
Le nombre à utiliser à la place de la couleur pour réinitialiser la couleur d'arrière-plan par défaut.
bg_end_code (m)
La fin de la séquence d'échappement pour la couleur de fond.
Les types de surbrillance disponibles sont les suivants. Notez que tous les types de
les surlignages sont disponibles sur tous les terminaux :
aucun Aucune mise en évidence n'est appliquée au contexte donné. Il n'est pas utile que cela
apparaître avec d'autres types de surbrillance ; il est utilisé pour remplacer une valeur par défaut.
fg=couleur
La couleur de premier plan doit être réglée sur couleur, un entier décimal ou le nom d'un
des huit couleurs les plus répandues.
Tous les terminaux ne le prennent pas en charge et, parmi ceux qui le font, tous ne fournissent pas de facilités pour
tester le support, l'utilisateur doit donc décider en fonction du type de terminal. Plus
les terminaux prennent en charge les couleurs noir, rouge, et une transition qui soit juste., jaune, Bleu, magenta, cyan et mes
blanc, qui peut être défini par nom. En plus. défaut peut être utilisé pour régler le
la couleur de premier plan par défaut du terminal. Les abréviations sont autorisées ; b or bl sélectionne
noir. Certains terminaux peuvent générer des couleurs supplémentaires si le goupille l'attribut est
également présent.
Sur les terminaux récents et sur les systèmes avec une base de données de terminaux à jour, le numéro
des couleurs supportées peuvent être testées par la commande `échotc Co'; si cela réussit, il
indique une limite sur le nombre de couleurs qui seront appliquées par la ligne
éditeur. Le nombre de couleurs est de toute façon limité à 256 (c'est-à-dire la plage de 0 à
255).
La couleur est également connue sous le nom de couleur.
bg=couleur
La couleur d'arrière-plan doit être définie sur couleur. Cela fonctionne de la même manière que le
couleur de premier plan, sauf que l'arrière-plan n'est généralement pas affecté par le gras
attribuer.
goupille Les caractères dans le contexte donné sont affichés en gras. Pas tous les terminaux
distinguer les polices en gras.
standout
Les caractères dans le contexte donné sont affichés dans le mode standout du terminal. le
l'effet réel est spécifique au terminal ; sur de nombreux terminaux, c'est la vidéo inverse.
Sur certains de ces terminaux, là où le curseur ne clignote pas, il apparaît avec
mode nié, ce qui rend moins clair où se trouve réellement le curseur. Sur un tel
terminaux l'un des autres effets peut être préférable pour mettre en évidence la région
et la chaîne de recherche correspondante.
souligner
Les caractères du contexte donné sont soulignés. Certains terminaux affichent le
premier plan dans une couleur différente à la place ; dans ce cas, les espaces ne seront pas
a souligné.
Les caractères décrits ci-dessus comme « spéciaux » sont les suivants. Le formatage décrit ici
est utilisé indépendamment du fait que les caractères soient mis en évidence :
Caractères de contrôle ASCII
Les caractères de contrôle dans la plage ASCII sont affichés comme `^' suivi de la base
caractère.
Caractères multi-octets non imprimables
Cet élément s'applique aux caractères de contrôle qui ne sont pas dans la plage ASCII, ainsi que d'autres
caractères comme suit. Si la MULTI-OCTETS l'option est en vigueur, caractères multi-octets
pas dans le jeu de caractères ASCII qui sont signalés comme ayant une largeur nulle sont traités
comme combinaison de caractères lorsque l'option COMBINING_CHARS est sur. Si l'option est
désactivé, ou si un caractère apparaît alors qu'un caractère de combinaison n'est pas valide, le
le caractère est traité comme non imprimable.
Les caractères multi-octets non imprimables sont affichés sous forme de nombre hexadécimal entre l'angle
supports. Le nombre est le point de code du caractère dans le jeu de caractères larges ;
cela peut ou non être Unicode, selon le système d'exploitation.
Caractères multi-octets non valides
Si la MULTI-OCTETS option est en effet, toute séquence d'un ou plusieurs octets qui ne
ne forme pas un caractère valide dans le jeu de caractères actuel est traité comme une série de
octets chacun affiché comme un caractère spécial. Ce cas se distingue des autres
caractères non imprimables car les octets sont représentés par deux chiffres hexadécimaux
entre crochets angulaires, par opposition aux quatre ou huit chiffres qui sont utilisés pour
caractères non imprimables qui sont néanmoins valides dans le jeu de caractères courant.
Tous les systèmes ne prennent pas en charge cela : pour que cela fonctionne, la représentation du système de larges
les caractères doivent être des valeurs de code du jeu de caractères universel, tel que défini par IS0
10646 (également connu sous le nom d'Unicode).
Caractères encapsulés à double largeur
Lorsqu'un caractère double largeur apparaît dans la dernière colonne d'une ligne, il est plutôt
indiqué sur la ligne suivante. L'espace vide laissé dans la position d'origine est
mis en évidence comme caractère spécial.
If zle_highlight n'est pas défini ou aucune valeur ne s'applique à un contexte particulier, les valeurs par défaut
appliqués équivalent à
zle_highlight=(région:standout spécial:se démarquer
suffixe:gras isearch:souligné)
c'est-à-dire que la région et les caractères spéciaux sont affichés en mode standout.
Dans les widgets, des régions arbitraires peuvent être mises en évidence en définissant le tableau spécial
paramètre région_highlight; voir au dessus.
Utilisez zshzle en ligne en utilisant les services onworks.net