about_PSReadLine_Functions
Descripción corta
PSReadLine proporciona una experiencia de edición de línea de comandos mejorada en la consola de PowerShell.
Descripción larga
PowerShell 7.3 se incluye con PSReadLine 2.2.6. La versión actual es PSReadLine 2.3.4. La versión actual de PSReadLine se puede instalar y usar en Windows PowerShell 5.1 y versiones posteriores. Para algunas características, debe ejecutar PowerShell 7.2 o posterior.
En este artículo se documentan las funciones proporcionadas por PSReadLine 2.3.4. Estas funciones se pueden enlazar a pulsaciones de tecla para facilitar el acceso y la invocación.
Uso de la clase Microsoft.PowerShell.PSConsoleReadLine
Las siguientes funciones están disponibles en la clase Microsoft.PowerShell.PSConsoleReadLine.
Funciones de edición básicas
Aborto
Anule la acción actual, por ejemplo: búsqueda incremental del historial.
- Modo Emacs:
Ctrl+g
- Modo de inserción vi:
Ctrl+g
- Modo de comando Vi:
<Ctrl+g>
AcceptAndGetNext
Intente ejecutar la entrada actual. Si se puede ejecutar (como AcceptLine), recuerde el siguiente elemento del historial la próxima vez que se llame a ReadLine.
- Modo Emacs:
Ctrl+o
AcceptLine
Intente ejecutar la entrada actual. Si la entrada actual está incompleta (por ejemplo, falta paréntesis de cierre, corchetes o comillas), la solicitud de continuación se muestra en la línea siguiente y PSReadLine espera a que las claves editen la entrada actual.
- Modo windows:
Enter
- Modo Emacs:
Enter
- Modo de inserción vi:
Enter
AddLine
La solicitud de continuación se muestra en la línea siguiente y PSReadLine espera a que las claves editen la entrada actual. Esto resulta útil para escribir la entrada de varias líneas como un solo comando incluso cuando una sola línea está completando la entrada por sí misma.
- Modo windows:
Shift+Enter
- Modo Emacs:
Shift+Enter
- Modo de inserción vi:
Shift+Enter
- Modo de comando Vi:
<Shift+Enter>
BackwardDeleteChar
Elimine el carácter antes del cursor.
- Modo de Windows:
Backspace
,Ctrl+h
- Modo Emacs:
Backspace
,Ctrl+Backspace
,Ctrl+h
- Modo de inserción vi:
Backspace
- Modo de comando Vi:
<X>
,<d,h>
BackwardDeleteInput
Al igual que BackwardKillInput: elimina el texto del punto al principio de la entrada, pero no coloca el texto eliminado en el anillo de eliminación.
- Modo windows:
Ctrl+Home
- Modo de inserción vi:
Ctrl+u
,Ctrl+Home
- Modo de comando Vi:
<Ctrl+u>
,<Ctrl+Home>
BackwardDeleteLine
Al igual que BackwardKillLine: elimina el texto del punto al principio de la línea, pero no coloca el texto eliminado en el anillo de eliminación.
- Modo de comando Vi:
<d,0>
BackwardDeleteWord
Elimina la palabra anterior.
- Modo de comando Vi:
<Ctrl+w>
,<d,b>
BackwardKillInput
Borre el texto del principio de la entrada en el cursor. El texto borrado se coloca en el anillo de eliminación.
- Modo Emacs:
Ctrl+u
,Ctrl+x,Backspace
BackwardKillLine
Borre el texto del principio de la línea lógica actual al cursor. El texto borrado se coloca en el anillo de eliminación.
- La función no está delimitada.
BackwardKillWord
Borre la entrada desde el principio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra del principio de la palabra anterior al cursor. El texto borrado se coloca en el anillo de eliminación.
- Modo de Windows:
Ctrl+Backspace
,Ctrl+w
- Modo Emacs:
Alt+Backspace
,Escape,Backspace
- Modo de inserción vi:
Ctrl+Backspace
- Modo de comando Vi:
<Ctrl+Backspace>
BackwardReplaceChar
Reemplaza el carácter delante del cursor.
- Modo de comando Vi:
<c,h>
CancelLine
Cancele la entrada actual, dejando la entrada en la pantalla, pero vuelva al host para que la solicitud se evalúe de nuevo.
- Modo de inserción vi:
Ctrl+c
- Modo de comando Vi:
<Ctrl+c>
CapitalizeWord
Agregado en PSReadLine 2.3.0
Convierta el primer carácter de la siguiente palabra en mayúsculas y los caracteres restantes en minúsculas.
- Modo Emacs:
Alt+c
,Escape,c
Copiar
Copie la región seleccionada en el Portapapeles del sistema. Si no se selecciona ninguna región, copie toda la línea.
- Modo windows:
Ctrl+C
CopyOrCancelLine
Si se selecciona texto, copie en el Portapapeles; de lo contrario, cancele la línea.
- Modo windows:
Ctrl+c
- Modo Emacs:
Ctrl+c
Cortar
Eliminar la región seleccionada colocando texto eliminado en el Portapapeles del sistema.
- Modo windows:
Ctrl+x
DeleteChar
Elimine el carácter bajo el cursor.
- Modo windows:
Delete
- Modo Emacs:
Delete
- Modo de inserción vi:
Delete
- Modo de comando Vi:
<Delete>
,<x>
,<d,l>
,<d,Spacebar>
DeleteCharOrExit
Elimine el carácter bajo el cursor o, si la línea está vacía, salga del proceso.
- Modo Emacs:
Ctrl+d
DeleteEndOfBuffer
Elimina al final del búfer de varias líneas.
- Modo de comando Vi:
<d,G>
DeleteEndOfWord
Elimine al final de la palabra.
- Modo de comando Vi:
<d,e>
DeleteLine
Elimina la línea lógica actual de un búfer de varias líneas, lo que permite deshacer.
- Modo de comando Vi:
<d,d>
,<d,_>
DeleteLineToFirstChar
Elimina del primer carácter que no está en blanco de la línea lógica actual en un búfer de varias líneas.
- Modo de comando Vi:
<d,^>
DeleteNextLines
Elimina las líneas lógicas actuales y siguientes en un búfer de varias líneas.
- Modo de comando Vi:
<d,j>
DeletePreviousLines
Elimina las líneas lógicas solicitadas anteriores y la línea lógica actual en un búfer de varias líneas.
- Modo de comando Vi:
<d,k>
DeleteRelativeLines
Elimina del principio del búfer a la línea lógica actual en un búfer de varias líneas.
Como la mayoría de los comandos Vi, el <d,g,g>
comando se puede anteponer con un argumento numérico que especifica un número de línea absoluto, que, junto con el número de línea actual, componen un intervalo de líneas que se van a eliminar. Si no se especifica, el argumento numérico tiene como valor predeterminado 1, que hace referencia a la primera línea lógica de un búfer de varias líneas.
El número real de líneas que se van a eliminar de la multilínea se calcula como la diferencia entre el número de línea lógica actual y el argumento numérico especificado, lo que puede ser negativo. Por lo tanto, la parte relativa del nombre del método.
- Modo de comando Vi:
<d,g,g>
DeleteToEnd
Elimine al final de la línea.
- Modo de comando Vi:
<D>
,<d,$>
DeleteWord
Elimine la siguiente palabra.
- Modo de comando Vi:
<d,w>
DowncaseWord
Agregado en PSReadLine 2.3.0
Convierta la siguiente palabra en minúsculas.
- Modo Emacs:
Alt+l
,Escape,l
ForwardDeleteInput
Al igual que KillLine: elimina el texto del punto al final de la entrada, pero no coloca el texto eliminado en el anillo de eliminación.
- Modo windows:
Ctrl+End
- Modo de inserción vi:
Ctrl+End
- Modo de comando Vi:
<Ctrl+End>
ForwardDeleteLine
Elimina el texto del punto al final de la línea lógica actual, pero no coloca el texto eliminado en el anillo de eliminación.
- La función no está delimitada
InsertLineAbove
Se crea una nueva línea vacía encima de la línea actual, independientemente de dónde se encuentra el cursor en la línea actual. El cursor se mueve al principio de la nueva línea.
- Modo windows:
Ctrl+Enter
InsertLineBelow
Se crea una nueva línea vacía debajo de la línea actual, independientemente de dónde se encuentra el cursor en la línea actual. El cursor se mueve al principio de la nueva línea.
- Modo windows:
Shift+Ctrl+Enter
InvertCase
Invierte el caso del carácter actual y pasa al siguiente.
- Modo de comando Vi:
<~>
KillLine
Borre la entrada del cursor al final de la entrada. El texto borrado se coloca en el anillo de eliminación.
- Modo Emacs:
Ctrl+k
KillRegion
Elimine el texto entre el cursor y la marca.
- La función no está delimitada.
KillWord
Borre la entrada del cursor al final de la palabra actual. Si el cursor está entre palabras, la entrada se borra del cursor al final de la palabra siguiente. El texto borrado se coloca en el anillo de eliminación.
- Modo de Windows:
Alt+d
,Ctrl+Delete
- Modo Emacs:
Alt+d
,Escape,d
- Modo de inserción vi:
Ctrl+Delete
- Modo de comando Vi:
<Ctrl+Delete>
Pegar
Pegue el texto del Portapapeles del sistema.
- Modo de Windows:
Ctrl+v
,Shift+Insert
- Modo de inserción vi:
Ctrl+v
- Modo de comando Vi:
<Ctrl+v>
Importante
Al usar la función Paste , todo el contenido del búfer del Portapapeles se pega en el búfer de entrada de PSReadLine. A continuación, el búfer de entrada se pasa al analizador de PowerShell. La entrada pegada mediante el método pegar con el botón derecho de la aplicación de consola se copia en el búfer de entrada un carácter a la vez. El búfer de entrada se pasa al analizador cuando se copia un carácter de nueva línea. Por lo tanto, la entrada se analiza una línea a la vez. La diferencia entre los métodos de pegado da como resultado un comportamiento de ejecución diferente.
PasteAfter
Pegue el Portapapeles después del cursor y mueva el cursor al final del texto pegado.
- Modo de comando Vi:
<p>
PasteBefore
Pegue el Portapapeles antes del cursor y mueva el cursor al final del texto pegado.
- Modo de comando Vi:
<P>
PrependAndAccept
Anteponer un "#" y aceptar la línea.
- Modo de comando Vi:
<#>
Rehacer
Deshacer una deshacer.
- Modo windows:
Ctrl+y
- Modo de inserción vi:
Ctrl+y
- Modo de comando Vi:
<Ctrl+y>
RepeatLastCommand
Repita la última modificación de texto.
- Modo de comando Vi:
<.>
ReplaceChar
Reemplace el carácter actual por el siguiente conjunto de caracteres escrito.
- Modo de comando Vi:
<c,l>
,<c,Spacebar>
ReplaceCharInPlace
Reemplace el carácter actual por un solo carácter.
- Modo de comando Vi:
<r>
RevertLine
Revierte toda la entrada a la entrada actual.
- Modo windows:
Escape
- Modo Emacs:
Alt+r
,Escape,r
ShellBackwardKillWord
Borre la entrada desde el principio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra del principio de la palabra anterior al cursor. El texto borrado se coloca en el anillo de eliminación.
La función no está delimitada.
ShellKillWord
Borre la entrada del cursor al final de la palabra actual. Si el cursor está entre palabras, la entrada se borra del cursor al final de la palabra siguiente. El texto borrado se coloca en el anillo de eliminación.
La función no está delimitada.
SwapCharacters
Cambie el carácter actual y el anterior.
- Modo Emacs:
Ctrl+t
- Modo de inserción vi:
Ctrl+t
- Modo de comando Vi:
<Ctrl+t>
Deshacer
Deshacer una edición anterior.
- Modo windows:
Ctrl+z
- Modo Emacs:
Ctrl+_
,Ctrl+x,Ctrl+u
- Modo de inserción vi:
Ctrl+z
- Modo de comando Vi:
<Ctrl+z>
,<u>
DeshacerTodos
Deshacer todas las ediciones anteriores de la línea.
- Modo de comando Vi:
<U>
UnixWordRubout
Borre la entrada desde el principio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra del principio de la palabra anterior al cursor. El texto borrado se coloca en el anillo de eliminación.
- Modo Emacs:
Ctrl+w
UpcaseWord
Agregado en PSReadLine 2.3.0
Convierta la siguiente palabra en mayúsculas.
- Modo Emacs:
Alt+u
,Escape,u
ValidateAndAcceptLine
Intente ejecutar la entrada actual. Si la entrada actual está incompleta (por ejemplo, falta paréntesis de cierre, corchetes o comillas), la solicitud de continuación se muestra en la línea siguiente y PSReadLine espera a que las claves editen la entrada actual.
- Modo Emacs:
Ctrl+m
ViAcceptLine
Acepte la línea y cambie al modo Insertar.
- Modo de comando Vi:
<Enter>
ViAcceptLineOrExit
Al igual que DeleteCharOrExit en modo Emacs, pero acepta la línea en lugar de eliminar un carácter.
- Modo de inserción vi:
Ctrl+d
- Modo de comando Vi:
<Ctrl+d>
ViAppendLine
Se inserta una nueva línea debajo de la línea actual.
- Modo de comando Vi:
<o>
ViBackwardDeleteGlob
Elimina la palabra anterior, usando solo espacios en blanco como delimitador de palabras.
- Modo de comando Vi:
<d,B>
ViBackwardGlob
Mueve el cursor de vuelta al principio de la palabra anterior, usando solo espacios en blanco como delimitadores.
- Modo de comando Vi:
<B>
ViBackwardReplaceGlob
Elimine hacia atrás al principio de la palabra anterior, como delimitado por el espacio en blanco y escriba el modo de inserción.
- Modo de comando Vi:
<c,B>
ViBackwardReplaceLine
Reemplaza la línea izquierda del cursor y todo el camino hasta el principio.
- Modo de comando Vi:
<c,0>
ViBackwardReplaceLineToFirstChar
Reemplaza la línea izquierda del cursor y un carácter al principio de la línea.
- Modo de comando Vi:
<c,^>
ViBackwardReplaceWord
Reemplace la palabra anterior.
- Modo de comando Vi:
<c,B>
ViDeleteBrace
Busque la llave coincidente, paréntesis o corchete cuadrado y elimine todo el contenido dentro, incluida la llave.
- Modo de comando Vi:
<d,%>
ViDeleteEndOfGlob
Elimine al final de la palabra.
- Modo de comando Vi:
<d,E>
ViDeleteGlob
Elimine el siguiente glob (palabra delimitada por espacios en blanco).
- Modo de comando Vi:
<d,W>
ViDeleteToBeforeChar
Elimina hasta el carácter especificado.
- Modo de comando Vi:
<d,t>
ViDeleteToBeforeCharBackward
Elimina hasta el carácter especificado.
- Modo de comando Vi:
<d,T>
ViDeleteToChar
Elimina hasta el carácter especificado.
- Modo de comando Vi:
<d,f>
ViDeleteToCharBackward
Elimina hacia atrás hasta el carácter especificado.
- Modo de comando Vi:
<d,F>
ViInsertAtBegining
Cambie al modo Insertar y coloque el cursor al principio de la línea.
- Modo de comando Vi:
<I>
ViInsertAtEnd
Cambie al modo Insertar y coloque el cursor al final de la línea.
- Modo de comando Vi:
<A>
ViInsertLine
Se inserta una nueva línea encima de la línea actual.
- Modo de comando Vi:
<O>
ViInsertWithAppend
Anexe desde la posición de línea actual.
- Modo de comando Vi:
<a>
ViInsertWithDelete
Elimine el carácter actual y cambie al modo Insertar.
- Modo de comando Vi:
<s>
ViJoinLines
Combina la línea actual y la línea siguiente.
- Modo de comando Vi:
<J>
ViReplaceBrace
Reemplace todos los caracteres entre el carácter de llave actual y el asociado coincidente.
- Modo de comando Vi:
<c,%>
ViReplaceEndOfGlob
Elimine al final de la palabra, como delimitado por espacio en blanco, y escriba el modo de inserción.
- Modo de comando Vi:
<c,E>
ViReplaceEndOfWord
Elimine al final de la palabra, como delimitado por espacios en blanco y delimitadores comunes, y escriba el modo de inserción.
- Modo de comando Vi:
<c,E>
ViReplaceGlob
Elimine al principio de la siguiente palabra, como delimitado por espacio en blanco, y escriba el modo de inserción.
- Modo de comando Vi:
<c,W>
ViReplaceLine
Borra toda la línea de comandos.
- Modo de comando Vi:
<S>
,<c,c>
ViReplaceToBeforeChar
Reemplaza hasta el carácter especificado.
- Modo de comando Vi:
<c,t>
ViReplaceToBeforeCharBackward
Reemplaza hasta el carácter especificado.
- Modo de comando Vi:
<c,T>
ViReplaceToChar
Elimina hasta el carácter especificado.
- Modo de comando Vi:
<c,f>
ViReplaceToCharBackward
Reemplaza hasta el carácter especificado.
- Modo de comando Vi:
<c,F>
ViReplaceToEnd
Reemplace los caracteres de la posición del cursor al final de la línea.
- Modo de comando Vi:
<c,$>
,<C>
ViReplaceUntilEsc
Reemplace el carácter actual hasta que se escriba un escape o se acepte la línea.
- Modo de comando Vi:
<r>
ViReplaceWord
Reemplace la palabra actual.
- Modo de comando Vi:
<c,W>
ViYankBeginningOfLine
Yank desde el principio del búfer hasta el cursor.
- Modo de comando Vi:
<y,0>
ViYankEndOfGlob
Yank desde el cursor hasta el final de las PALABRAs.
- Modo de comando Vi:
<y,E>
ViYankEndOfWord
Yank desde el cursor hasta el final de las palabras.
- Modo de comando Vi:
<y,e>
ViYankLeft
Caracteres yank a la izquierda del cursor.
- Modo de comando Vi:
<y,h>
ViYankLine
Yank todo el búfer.
- Modo de comando Vi:
<y,y>
ViYankNextGlob
Yank desde el cursor hasta el inicio de las palabras siguientes.
- Modo de comando Vi:
<y,W>
ViYankNextWord
Desacredite las palabras después del cursor.
- Modo de comando Vi:
<y,w>
ViYankPercent
Yank hacia y desde llaves coincidentes.
- Modo de comando Vi:
<y,%>
ViYankPreviousGlob
Yank desde el principio de las PALABRAs hasta el cursor.
- Modo de comando Vi:
<y,B>
ViYankPreviousWord
Desacredite las palabras antes del cursor.
- Modo de comando Vi:
<y,b>
ViYankRight
Caracteres yank debajo y a la derecha del cursor.
- Modo de comando Vi:
<y,l>
,<y,Spacebar>
ViYankToEndOfLine
Yank desde el cursor hasta el final del búfer.
- Modo de comando Vi:
<y,$>
ViYankToFirstChar
Yank desde el primer carácter que no es de espacio en blanco hasta el cursor.
- Modo de comando Vi:
<y,^>
Tirón
Agregue el texto eliminado más recientemente a la entrada.
- Modo Emacs:
Ctrl+y
YankLastArg
Yank el último argumento de la línea de historial anterior. Con un argumento, la primera vez que se invoca, se comporta igual que YankNthArg. Si se invoca varias veces, en su lugar recorre en iteración el historial y arg establece la dirección (negativo invierte la dirección).
- Modo windows:
Alt+.
- Modo Emacs:
Alt+.
,Alt+_
,Escape,.
,Escape,_
YankNthArg
Yank el primer argumento (después del comando) de la línea de historial anterior. Con un argumento, descile el argumento nth (a partir de 0), si el argumento es negativo, comience desde el último argumento.
- Modo Emacs:
Ctrl+Alt+y
,Escape,Ctrl+y
YankPop
Si la operación anterior era Yank o YankPop, reemplace el texto previamente quitado por el siguiente texto eliminado del anillo de eliminación.
- Modo Emacs:
Alt+y
,Escape,y
Funciones de finalización
Completo
Intente realizar la finalización en el texto que rodea el cursor. Si hay varias finalizaciones posibles, se usa el prefijo inequívoco más largo para la finalización. Si intenta completar la finalización inequívoca más larga, se muestra una lista de posibles finalizaciones.
- Modo Emacs:
Tab
MenuComplete
Intente realizar la finalización en el texto que rodea el cursor. Si hay varias finalizaciones posibles, se usa el prefijo inequívoco más largo para la finalización. Si intenta completar la finalización inequívoca más larga, se muestra una lista de posibles finalizaciones.
- Modo de Windows:
Ctrl+@
,Ctrl+Spacebar
- Modo Emacs:
Ctrl+Spacebar
PossibleCompletions
Muestra la lista de posibles finalizaciones.
- Modo Emacs:
Alt+=
- Modo de inserción vi:
Ctrl+Spacebar
- Modo de comando Vi:
<Ctrl+Spacebar>
TabCompleteNext
Intente completar el texto que rodea el cursor con la siguiente finalización disponible.
- Modo windows:
Tab
- Modo de comando Vi:
<Tab>
TabCompletePrevious
Intente completar el texto que rodea el cursor con la finalización disponible anterior.
- Modo windows:
Shift+Tab
- Modo de comando Vi:
<Shift+Tab>
ViTabCompleteNext
Finaliza el grupo de edición actual, si es necesario, e invoca TabCompleteNext.
- Modo de inserción vi:
Tab
ViTabCompletePrevious
Finaliza el grupo de edición actual, si es necesario, e invoca TabCompletePrevious.
- Modo de inserción vi:
Shift+Tab
Funciones de movimiento de cursor
BackwardChar
Mueva el cursor un carácter a la izquierda. Esto puede mover el cursor a la línea anterior de entrada de varias líneas.
- Modo windows:
LeftArrow
- Modo Emacs:
LeftArrow
,Ctrl+b
BackwardWord
Vuelva a mover el cursor al principio de la palabra actual o, si está entre palabras, el inicio de la palabra anterior. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo windows:
Ctrl+LeftArrow
- Modo Emacs:
Alt+b
,Escape,b
- Modo de inserción vi:
Ctrl+LeftArrow
- Modo de comando Vi:
<Ctrl+LeftArrow>
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
BeginningOfLine
Si la entrada tiene varias líneas, vaya al inicio de la línea actual o, si ya está al principio de la línea, vaya al inicio de la entrada. Si la entrada tiene una sola línea, vaya al inicio de la entrada.
- Modo windows:
Home
- Modo Emacs:
Home
,Ctrl+a
- Modo de inserción vi:
Home
- Modo de comando Vi:
<Home>
EndOfLine
Si la entrada tiene varias líneas, vaya al final de la línea actual o, si ya está al final de la línea, vaya al final de la entrada. Si la entrada tiene una sola línea, vaya al final de la entrada.
- Modo windows:
End
- Modo Emacs:
End
,Ctrl+e
- Modo de inserción vi:
End
ForwardChar
Mueva el cursor un carácter a la derecha. Esto puede mover el cursor a la siguiente línea de entrada de varias líneas.
- Modo windows:
RightArrow
- Modo Emacs:
RightArrow
,Ctrl+f
ForwardWord
Mueva el cursor hacia delante hasta el final de la palabra actual, o si está entre palabras, al final de la palabra siguiente. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo Emacs:
Alt+f
,Escape,f
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
GotoBrace
Vaya a la llave coincidente, paréntesis o corchete cuadrado.
- Modo windows:
Ctrl+]
- Modo de inserción vi:
Ctrl+]
- Modo de comando Vi:
<Ctrl+]>
GotoColumn
Vaya a la columna indicada por arg.
- Modo de comando Vi:
<|>
GotoFirstNonBlankOfLine
Mueva el cursor al primer carácter no en blanco de la línea.
- Modo de comando Vi:
<^>
,<_>
MoveToEndOfLine
Mueva el cursor al final de la entrada.
- Modo de comando Vi:
<End>
,<$>
MoveToFirstLine
Vaya a la primera línea de un comando de varias líneas.
- Modo de comando Vi:
<g,g>
MoveToLastLine
Vaya a la última línea de un comando de varias líneas.
- Modo de comando Vi:
<G>
NextLine
Mueva el cursor a la línea siguiente.
- La función no está delimitada.
NextWord
Mueva el cursor hacia delante hasta el inicio de la siguiente palabra. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo windows:
Ctrl+RightArrow
- Modo de inserción vi:
Ctrl+RightArrow
- Modo de comando Vi:
<Ctrl+RightArrow>
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
NextWordEnd
Mueva el cursor hacia delante hasta el final de la palabra actual, o si está entre palabras, al final de la palabra siguiente. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo de comando Vi:
<e>
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
PreviousLine
Mueva el cursor a la línea anterior.
- La función no está delimitada.
ShellBackwardWord
Vuelva a mover el cursor al principio de la palabra actual o, si está entre palabras, el inicio de la palabra anterior. Los límites de Word se definen mediante tokens de PowerShell.
- La función no está delimitada.
ShellForwardWord
Mueva el cursor hacia delante hasta el inicio de la siguiente palabra. Los límites de Word se definen mediante tokens de PowerShell.
- La función no está delimitada.
ShellNextWord
Mueva el cursor hacia delante hasta el final de la palabra actual, o si está entre palabras, al final de la palabra siguiente. Los límites de Word se definen mediante tokens de PowerShell.
- La función no está delimitada.
ViBackwardChar
Mueva el cursor un carácter a la izquierda en el modo de edición Vi. Esto puede mover el cursor a la línea anterior de entrada de varias líneas.
- Modo de inserción vi:
LeftArrow
- Modo de comando Vi:
<LeftArrow>
,<Backspace>
,<h>
ViBackwardWord
Vuelva a mover el cursor al principio de la palabra actual o, si está entre palabras, el inicio de la palabra anterior. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo de comando Vi:
<b>
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
ViEndOfGlob
Mueva el cursor al final de esta palabra, tal y como está delimitado por el espacio en blanco.
- Modo de comando Vi:
<E>
ViEndOfPreviousGlob
Se mueve al final de la palabra anterior, usando solo espacios en blanco como delimitador de palabras.
- La función no está delimitada.
ViForwardChar
Mueva el cursor un carácter a la derecha en el modo de edición Vi. Esto puede mover el cursor a la siguiente línea de entrada de varias líneas.
- Modo de inserción vi:
RightArrow
- Modo de comando Vi:
<RightArrow>
,<Spacebar>
,<l>
ViGotoBrace
Similar a GotoBrace, pero está basado en caracteres en lugar de basado en tokens.
- Modo de comando Vi:
<%>
ViNextGlob
Se mueve a la siguiente palabra, usando solo espacios en blanco como delimitador de palabras.
- Modo de comando Vi:
<W>
ViNextWord
Mueva el cursor hacia delante hasta el inicio de la siguiente palabra. Los límites de Word se definen mediante un conjunto configurable de caracteres.
- Modo de comando Vi:
<w>
Los caracteres que definen límites de palabra se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions . Para ver o cambiar la propiedad WordDelimiters , vea Get-PSReadLineOption y Set-PSReadLineOption.
Funciones de historial
BeginningOfHistory
Vaya al primer elemento del historial.
- Modo Emacs:
Alt+<
ClearHistory
Borra el historial en PSReadLine. Esto no afecta al historial de PowerShell.
- Modo windows:
Alt+F7
EndOfHistory
Vaya al último elemento (la entrada actual) del historial.
- Modo Emacs:
Alt+>
ForwardSearchHistory
Realice una búsqueda de reenvío incremental a través del historial.
- Modo windows:
Ctrl+s
- Modo Emacs:
Ctrl+s
- Modo de inserción vi:
Ctrl+s
- Modo de comando Vi:
<Ctrl+s>
HistorySearchBackward
Reemplace la entrada actual por el elemento "anterior" del historial de PSReadLine que coincida con los caracteres entre el inicio y la entrada y el cursor.
- Modo windows:
F8
HistorySearchForward
Reemplace la entrada actual por el elemento "next" del historial de PSReadLine que coincida con los caracteres entre el inicio y la entrada y el cursor.
- Modo windows:
Shift+F8
NextHistory
Reemplace la entrada actual por el elemento "next" del historial de PSReadLine.
- Modo windows:
DownArrow
- Modo Emacs:
DownArrow
,Ctrl+n
- Modo de inserción vi:
DownArrow
- Modo de comando Vi:
<DownArrow>
,<j>
,<+>
PreviousHistory
Reemplace la entrada actual por el elemento "anterior" del historial de PSReadLine.
- Modo windows:
UpArrow
- Modo Emacs:
UpArrow
,Ctrl+p
- Modo de inserción vi:
UpArrow
- Modo de comando Vi:
<UpArrow>
,<k>
,<->
ReverseSearchHistory
Realice una búsqueda incremental hacia atrás a través del historial.
- Modo windows:
Ctrl+r
- Modo Emacs:
Ctrl+r
- Modo de inserción vi:
Ctrl+r
- Modo de comando Vi:
<Ctrl+r>
ViSearchHistoryBackward
Solicita una cadena de búsqueda e inicia la búsqueda en AcceptLine.
- Modo de comando Vi:
</>
Funciones varias
CaptureScreen
Iniciar captura de pantalla interactiva: flechas arriba o abajo seleccionan líneas, escribe copias del texto seleccionado en el Portapapeles como texto y HTML.
- La función no está delimitada.
ClearScreen
Borre la pantalla y dibuje la línea actual en la parte superior de la pantalla.
- Modo windows:
Ctrl+l
- Modo Emacs:
Ctrl+l
- Modo de inserción vi:
Ctrl+l
- Modo de comando Vi:
<Ctrl+l>
DigitArgument
Inicie un nuevo argumento de dígito para pasar a otras funciones. Puede usarlo como multiplicador para la siguiente función invocada por un keypress. Por ejemplo, al presionar <Alt+1>
<Alt+0>
se establece el valor de argumento de dígito en 10. A continuación, al presionar la #
tecla se envían 10 #
caracteres (##########
) a la línea de entrada.
Del mismo modo, puede usarlo con otras operaciones, como <Delete>
o Left-Arrow
.
- Modo de Windows:
Alt+0
,Alt+1
, ,Alt+3
Alt+2
,Alt+5
Alt+7
Alt+6
Alt+4
,Alt+8
,Alt+9
Alt+-
- Modo Emacs:
Alt+0
,Alt+1
,Alt+2
,Alt+3
,Alt+4
Alt+5
,Alt+6
,Alt+7
, ,Alt+8
, ,Alt+9
Alt+-
- Modo de comando Vi:
<0>
,<1>
,<2>
,<3>
,<5>
<4>
<6>
,<7>
, ,<8>
<9>
InvokePrompt
Borra el símbolo del sistema actual y llama a la función prompt para volver a reproducir el mensaje. Útil para controladores de claves personalizados que cambian de estado. Por ejemplo, cambie el directorio actual.
- La función no está delimitada.
ScrollDisplayDown
Desplácese hacia abajo en una pantalla.
- Modo windows:
PageDown
- Modo Emacs:
PageDown
ScrollDisplayDownLine
Desplácese hacia abajo en la pantalla una línea.
- Modo windows:
Ctrl+PageDown
- Modo Emacs:
Ctrl+PageDown
ScrollDisplayToCursor
Desplácese la pantalla hasta el cursor.
- Modo Emacs:
Ctrl+End
ScrollDisplayTop
Desplácese la pantalla hasta la parte superior.
- Modo Emacs:
Ctrl+Home
ScrollDisplayUp
Desplácese por la pantalla una pantalla.
- Modo windows:
PageUp
- Modo Emacs:
PageUp
ScrollDisplayUpLine
Desplácese hacia arriba en la pantalla una línea.
- Modo windows:
Ctrl+PageUp
- Modo Emacs:
Ctrl+PageUp
ShowCommandHelp
Proporciona una vista de la ayuda completa del cmdlet. Cuando el cursor está al final de un parámetro totalmente expandido, al presionar la clave se coloca la <F1>
presentación de ayuda en la ubicación de ese parámetro.
La ayuda se muestra en un búfer de pantalla alternativo mediante un buscapersonas de Microsoft.PowerShell.Pager. Al salir del buscapersonas, se devuelve a la posición original del cursor en la pantalla original. Este buscapersonas solo funciona en aplicaciones de terminal modernas, como Terminal Windows.
- Modo windows:
F1
- Modo Emacs:
F1
- Modo de inserción vi:
F1
- Modo de comando Vi:
<F1>
ShowKeyBindings
Mostrar todas las claves enlazadas.
- Modo windows:
Ctrl+Alt+?
- Modo Emacs:
Ctrl+Alt+?
- Modo de inserción vi:
Ctrl+Alt+?
ShowParameterHelp
Proporciona ayuda dinámica para los parámetros mostrando debajo de la línea de comandos actual, como MenuComplete
. El cursor debe estar al final del nombre del parámetro totalmente expandido al presionar la <Alt+h>
tecla .
- Modo windows:
Alt+h
- Modo Emacs:
Alt+h
- Modo de inserción vi:
Alt+h
- Modo de comando Vi:
<Alt+h>
ViCommandMode
Cambie el modo operativo actual de Vi-Insert a Vi-Command.
- Modo de inserción vi:
Escape
ViDigitArgumentInChord
Inicie un nuevo argumento de dígito para pasar a otras funciones mientras que en uno de los acordes de vi.
- La función no está delimitada.
ViEditVisually
Edite la línea de comandos en un editor de texto especificado por $env:EDITOR
o $env:VISUAL
.
- Modo Emacs:
Ctrl+x,Ctrl+e
- Modo de comando Vi:
<v>
ViExit
Sale del shell.
- La función no está delimitada.
ViInsertMode
Cambie al modo Insertar.
- Modo de comando Vi:
<i>
WhatIsKey
Lee una clave y dime a qué está enlazada la clave.
- Modo windows:
Alt+?
- Modo Emacs:
Alt+?
Funciones de predicción
AcceptNextSuggestionWord
Acepte la siguiente palabra de la sugerencia insertada o seleccionada.
- La función no está delimitada.
AcceptSuggestion
Cuando se usa InlineView
como estilo de vista para la predicción, acepte la sugerencia en línea actual.
- La función no está delimitada.
NextSuggestion
Al usar ListView
como estilo de vista para la predicción, vaya a la siguiente sugerencia de la lista.
- La función no está delimitada.
PreviousSuggestion
Al usar ListView
como estilo de vista para la predicción, vaya a la sugerencia anterior de la lista.
- La función no está delimitada.
ShowFullPredictionTooltip
Muestra la información sobre herramientas del elemento de lista seleccionado actualmente en la vista completa.
- Modo windows:
F4
- Modo Emacs:
F4
- Modo de inserción vi:
F4
SwitchPredictionView
Cambie el estilo de vista para la predicción entre InlineView
y ListView
.
- Modo windows:
F2
- Modo Emacs:
F2
- Modo de inserción vi:
F2
Funciones de búsqueda
CharacterSearch
Lea un carácter y busque hacia delante la siguiente aparición de ese carácter. Si se especifica un argumento, busque hacia delante (o hacia atrás si es negativo) para la nésima aparición.
- Modo windows:
F3
- Modo Emacs:
Ctrl+]
- Modo de inserción vi:
F3
- Modo de comando Vi:
<F3>
CharacterSearchBackward
Lea un carácter y busque hacia atrás la siguiente aparición de ese carácter. Si se especifica un argumento, busque hacia atrás (o hacia delante si es negativo) para la nª aparición.
- Modo windows:
Shift+F3
- Modo Emacs:
Ctrl+Alt+]
- Modo de inserción vi:
Shift+F3
- Modo de comando Vi:
<Shift+F3>
RepeatLastCharSearch
Repita la última búsqueda de caracteres grabada.
- Modo de comando Vi:
<;>
RepeatLastCharSearchBackwards
Repita la última búsqueda de caracteres grabados, pero en la dirección opuesta.
- Modo de comando Vi:
<,>
RepeatSearch
Repita la última búsqueda en la misma dirección que antes.
- Modo de comando Vi:
<n>
RepeatSearchBackward
Repita la última búsqueda en la misma dirección que antes.
- Modo de comando Vi:
<N>
SearchChar
Lea el siguiente carácter y, a continuación, vítelo, adelante.
- Modo de comando Vi:
<f>
SearchCharBackward
Lea el siguiente carácter y, a continuación, retrógrado.
- Modo de comando Vi:
<F>
SearchCharBackwardWithBackoff
Lea el siguiente carácter y, a continuación, quítelo, retroceda y, a continuación, desactive un carácter.
- Modo de comando Vi:
<T>
SearchCharWithBackoff
Lea el siguiente carácter y, a continuación, vítelo, adelante y, a continuación, vuelva a desactivar un carácter.
- Modo de comando Vi:
<t>
SearchForward
Solicita una cadena de búsqueda e inicia la búsqueda en AcceptLine.
- Modo de comando Vi:
<?>
Funciones de selección
ExchangePointAndMark
El cursor se coloca en la ubicación de la marca y la marca se mueve a la ubicación del cursor.
- Modo Emacs:
Ctrl+x,Ctrl+x
SelectAll
Seleccione toda la línea.
- Modo windows:
Ctrl+a
SelectBackwardChar
Ajuste la selección actual para incluir el carácter anterior.
- Modo windows:
Shift+LeftArrow
- Modo Emacs:
Shift+LeftArrow
SelectBackwardsLine
Ajuste la selección actual para incluir desde el cursor hasta el inicio de la línea.
- Modo windows:
Shift+Home
- Modo Emacs:
Shift+Home
SelectBackwardWord
Ajuste la selección actual para incluir la palabra anterior.
- Modo windows:
Shift+Ctrl+LeftArrow
- Modo Emacs:
Alt+B
SelectCommandArgument
Seleccione visualmente los argumentos de comando. La selección de argumentos se limita dentro de un bloque de script. En función de la posición del cursor, busca desde el bloque de script más interno hasta el bloque de script más amplio y se detiene cuando encuentra cualquier argumento en un ámbito de bloque de script.
Esta función respeta DigitArgument. Trata los valores de argumento positivo o negativo como desplazamientos hacia delante o hacia atrás del argumento seleccionado actualmente, o desde la posición actual del cursor cuando no se selecciona ningún argumento.
- Modo windows:
Alt+a
- Modo Emacs:
Alt+a
SelectForwardChar
Ajuste la selección actual para incluir el siguiente carácter.
- Modo windows:
Shift+RightArrow
- Modo Emacs:
Shift+RightArrow
SelectForwardWord
Ajuste la selección actual para incluir la siguiente palabra mediante ForwardWord.
- Modo Emacs:
Alt+F
SelectLine
Ajuste la selección actual para incluir desde el cursor hasta el final de la línea.
- Modo windows:
Shift+End
- Modo Emacs:
Shift+End
SelectNextWord
Ajuste la selección actual para incluir la siguiente palabra.
- Modo windows:
Shift+Ctrl+RightArrow
SeleccionarShellBackwardWord
Ajuste la selección actual para incluir la palabra anterior mediante ShellBackwardWord.
- La función no está delimitada.
SeleccionarShellForwardWord
Ajuste la selección actual para incluir la siguiente palabra mediante ShellForwardWord.
- La función no está delimitada.
SelectShellNextWord
Ajuste la selección actual para incluir la siguiente palabra mediante ShellNextWord.
- La función no está delimitada.
SetMark
Marque la ubicación actual del cursor para su uso en un comando de edición posterior.
- Modo Emacs:
Ctrl+@
API de compatibilidad con enlaces de claves personalizados
Las siguientes funciones son públicas en Microsoft.PowerShell.PSConsoleReadLine, pero no se pueden enlazar directamente a una clave. La mayoría son útiles en enlaces de claves personalizados.
void AddToHistory(string command)
Agregue una línea de comandos al historial sin ejecutarla.
void ClearKillRing()
Despejar el anillo de muerte. Esto se usa principalmente para las pruebas.
void Delete(int start, int length)
Elimine los caracteres de longitud del inicio. Esta operación admite deshacer o rehacer.
void Ding()
Realice la acción Ding en función de la preferencia del usuario.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Estas dos funciones recuperan información útil sobre el estado actual del búfer de entrada. La primera se usa con más frecuencia para casos simples. El segundo se usa si el enlace está haciendo algo más avanzado con Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Estas dos funciones las usa Get-PSReadLineKeyHandler
. La primera se usa para obtener todos los enlaces de clave. El segundo se usa para obtener enlaces de clave específicos.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Get-PSReadLineOption usa esta función y probablemente no es demasiado útil en un enlace de claves personalizado.
void GetSelectionState([ref] int start, [ref] int length)
Si no hay ninguna selección en la línea de comandos, la función devuelve -1 tanto en el inicio como en la longitud. Si hay una selección en la línea de comandos, se devuelve el inicio y la longitud de la selección.
void Insert(char c)
void Insert(string s)
Inserte un carácter o una cadena en el cursor. Esta operación admite deshacer o rehacer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Este es el punto de entrada principal de PSReadLine. No admite la recursividad, por lo que no resulta útil en un enlace de clave personalizado.
void RemoveKeyHandler(string[] key)
Remove-PSReadLineKeyHandler usa esta función y probablemente no es demasiado útil en un enlace de claves personalizado.
void Replace(int start, int length, string replacement)
Reemplace algunas entradas. Esta operación admite deshacer o rehacer. Esto se prefiere sobre Eliminar seguido de Insert porque se trata como una sola acción para deshacer.
void SetCursorPosition(int cursor)
Mueva el cursor al desplazamiento especificado. No se realiza un seguimiento del movimiento del cursor para deshacer.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Esta función es un método auxiliar que usa el cmdlet Set-PSReadLineOption
, pero puede ser útil para un enlace de clave personalizado que quiera cambiar temporalmente una configuración.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Este método auxiliar se usa para enlaces personalizados que respetan DigitArgument. Una llamada típica es similar a
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
Notas
Comportamiento del evento OnIdle
Cuando PSReadLine está en uso, el evento OnIdle se desencadena cuando
ReadKey()
se agota el tiempo de espera (sin escribir en 300 ms). El evento podría indicarse mientras el usuario está en medio de la edición de una línea de comandos, por ejemplo, el usuario está leyendo ayuda para decidir qué parámetro usar.A partir de PSReadLine 2.2.0-beta4, el comportamiento de OnIdle cambió para indicar el evento solo si hay un
ReadKey()
tiempo de espera y el búfer de edición actual está vacío.