acerca de las funciones PSReadLine
Breve descripción
PSReadLine proporciona una experiencia mejorada de edición de línea de comandos en la consola PowerShell.
Descripción larga
PowerShell 7.3 se entrega con PSReadLine 2.2.6. La versión actual es PSReadLine 2.3.4. La versión actual de PSReadLine se puede instalar y utilizar en Windows PowerShell 5.1 y versiones posteriores. Para algunas funciones, debe ejecutar PowerShell 7.2 o superior.
Este artículo documenta las funciones proporcionadas por PSReadLine 2.3.4. Estas funciones se pueden vincular a pulsaciones de teclas para facilitar el acceso y la invocación.
Usando la clase Microsoft.PowerShell.PSConsoleReadLine
Las siguientes funciones están disponibles en la clase Microsoft.PowerShell.PSConsoleReadLine.
Funciones básicas de edición
Abortar
Cancelar la acción actual, por ejemplo: búsqueda incremental del historial.
- Modo Emacs:
Ctrl+g - Modo de inserción de Vi:
Ctrl+g - Modo de comando Vi:
Aceptar y obtener el siguiente
Intente ejecutar la entrada actual. Si se puede ejecutar (como AcceptLine), recupere 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 un paréntesis, corchete o cita de cierre), entonces se muestra el mensaje de continuación en la siguiente línea y PSReadLine espera las claves para editar la entrada actual.
- Modo Windows:
Entrar - Modo Emacs:
Entrar - Modo de inserción de Vi:
Enter
AddLine
El mensaje de continuación se muestra en la siguiente línea y PSReadLine espera las teclas para editar la entrada actual. Esto es útil para ingresar entradas de varias líneas como un solo comando incluso cuando una sola línea es una entrada completa por sí sola.
- Modo Windows:
Mayús+Entrar - Modo Emacs:
Mayús+Entrar - Modo de inserción de Vi:
Mayús+Entrar - Modo de comando Vi:
Hacia atrásEliminarcarácter
Elimina el carácter delante del cursor.
- Modo Windows:
Retroceso, Ctrl+h - Modo Emacs:
Retroceso,Ctrl+Retroceso,Ctrl+h - Modo de inserción de Vi:
Retroceso - Modo de comando Vi:
,
AtrásEliminarEntrada
Como BackwardKillInput: elimina el texto desde el punto hasta el inicio de la entrada, pero no coloca el texto eliminado en el anillo de eliminación.
- Modo Windows:
Ctrl+Inicio - Modo de inserción de Vi:
Ctrl+u,Ctrl+Home - Modo de comando Vi:
,
Hacia atrásEliminar línea
Como BackwardKillLine: elimina el texto desde el punto hasta el inicio de la línea, pero no coloca el texto eliminado en el círculo de eliminación.
- Modo de comando Vi:
Hacia atrásEliminar palabra
Elimina la palabra anterior.
- Modo de comando Vi:
,
Entrada de muerte hacia atrás
Borre el texto desde el inicio de la entrada hasta el cursor. El texto borrado se coloca en el círculo de eliminación.
- Modo Emacs:
Ctrl+u, Ctrl+x,Retroceso
Línea de muerte hacia atrás
Borre el texto desde el inicio de la línea lógica actual hasta el cursor. El texto borrado se coloca en el anillo de eliminación.
- La función no está consolidada.
Hacia AtrásMatarPalabra
Borre la entrada desde el inicio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra desde el inicio de la palabra anterior al cursor. El texto borrado se coloca en el anillo de eliminación.
- Modo Windows:
Ctrl+Retroceso, Ctrl+w - Modo Emacs:
Alt+Retroceso,Escape,Retroceso - Modo de inserción de Vi:
Ctrl+Retroceso - Modo de comando Vi:
Hacia atrásReemplazarCar
Reemplaza el carácter delante del cursor.
- Modo de comando Vi:
CancelLine
Cancela la entrada actual, dejando la entrada en la pantalla, pero regresa al host para que el mensaje se evalúe nuevamente.
- Modo de inserción de Vi:
Ctrl+c - Modo de comando Vi:
CapitalizeWord
Agregado en PSReadLine 2.3.0
Convierta el primer carácter de la siguiente palabra a mayúsculas y los caracteres restantes a minúsculas.
- Modo Emacs:
Alt+c,Escape,c
Copiar
Copie la región seleccionada al portapapeles del sistema. Si no se selecciona ninguna región, copie la línea completa.
- Modo Windows:
Ctrl+C
Copiar o cancelar línea
Si se selecciona texto, cópielo al portapapeles; de lo contrario, cancele la línea.
- Modo Windows:
Ctrl+c - Modo Emacs:
Ctrl+c
Cortar
Eliminar la región seleccionada colocando el texto eliminado en el portapapeles del sistema.
- Modo Windows:
Ctrl+x
DeleteChar
Elimina el carácter debajo del cursor.
- Modo Windows:
Eliminar - Modo Emacs:
Eliminar - Modo de inserción de Vi:
Eliminar - Modo de comando Vi:
, , ,
Eliminar CharOrSalir
Elimine el carácter debajo del cursor o, si la línea está vacía, salga del proceso.
- Modo Emacs:
Ctrl+d
EliminarEndOfBuffer
Elimina hasta el final del búfer multilínea.
- Modo de comando Vi:
Eliminar fin de palabra
Eliminar hasta el final de la palabra.
- Modo de comando Vi:
DeleteLine
Elimina la línea lógica actual de un búfer multilínea, lo que permite deshacer.
- Modo de comando Vi:
,
Eliminar línea a primer carácter
Elimina del primer carácter que no esté en blanco de la línea lógica actual en un búfer multilínea.
- Modo de comando Vi:
Eliminar líneas siguientes
Elimina las n líneas lógicas actuales y siguientes en un búfer multilínea.
- Modo de comando Vi:
Eliminar líneas anteriores
Elimina las líneas lógicas solicitadas anteriormente y la línea lógica actual en un búfer multilínea.
- Modo de comando Vi:
Eliminar líneas relativas
Elimina desde el principio del búfer hasta la línea lógica actual en un búfer multilínea.
Como la mayoría de los comandos de Vi, el comando <d,g,g> puede ir precedido de un argumento numérico que especifica un número de línea absoluto, que, junto con el número de línea actual, forman un rango de líneas. para ser eliminado. Si no se especifica, el argumento numérico por defecto es 1, que hace referencia a la primera línea lógica en un búfer multilínea.
El número real de líneas que se eliminarán de la línea múltiple se calcula como la diferencia entre el número de línea lógica actual y el argumento numérico especificado, que por lo tanto puede ser negativo. De ahí la parte relativa del nombre del método.
- Modo de comando Vi:
Eliminar hasta el final
Eliminar hasta el final de la línea.
- Modo de comando Vi:
,
DeleteWord
Elimina la siguiente palabra.
- Modo de comando Vi:
DowncaseWord
Agregado en PSReadLine 2.3.0
Convierte la siguiente palabra a minúsculas.
- Modo Emacs:
Alt+l, Escape,l
AdelanteEliminarEntrada
Como KillLine: elimina el texto desde el punto hasta el final de la entrada, pero no coloca el texto eliminado en el anillo de eliminación.
- Modo Windows:
Ctrl+Fin - Modo de inserción de Vi:
Ctrl+Fin - Modo de comando Vi:
AdelanteEliminarLínea
Elimina el texto desde el punto hasta el final de la línea lógica actual, pero no coloca el texto eliminado en el círculo de eliminación.
- La función no está vinculada
Insertar línea arriba
Se crea una nueva línea vacía encima de la línea actual independientemente de dónde se encuentre el cursor en la línea actual. El cursor se mueve al principio de la nueva línea.
- Modo Windows:
Ctrl+Entrar
Insertar línea debajo
Se crea una nueva línea vacía debajo de la línea actual independientemente de dónde se encuentre el cursor en la línea actual. El cursor se mueve al principio de la nueva línea.
- Modo Windows:
Mayús+Ctrl+Entrar
InvertCase
Invierte el caso del carácter actual y pasa al siguiente.
- Modo de comando Vi:
<~>
KillLine
Borre la entrada desde el cursor hasta el final de la entrada. El texto borrado se coloca en el anillo de eliminación.
- Modo Emacs:
Ctrl+k
KillRegion
Mata el texto entre el cursor y la marca.
- La función no está consolidada.
KillWord
Borra la entrada desde el cursor hasta el final de la palabra actual. Si el cursor está entre palabras, la entrada se borra desde el cursor hasta el final de la siguiente palabra. El texto borrado se coloca en el círculo de eliminación.
- Modo Windows:
Alt+d, Ctrl+Suprimir - Modo Emacs:
Alt+d,Escape,d - Modo de inserción de Vi:
Ctrl+Suprimir - Modo de comando Vi:
Pasta
Pegue texto del portapapeles del sistema.
- Modo Windows:
Ctrl+v, Mayús+Insertar - Modo de inserción de Vi:
Ctrl+v - Modo de comando Vi:
es importante
Cuando se utiliza la función Pegar, todo el contenido del búfer del portapapeles se pega en el búfer de entrada de PSReadLine. Luego, el búfer de entrada se pasa al analizador de PowerShell. La entrada pegada utilizando el método de pegado clic 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 línea por línea. 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, moviendo el cursor hasta el final del texto pegado.
- Modo de comando Vi:
PasteBefore
Pegue el portapapeles antes del cursor, moviendo el cursor hasta el final del texto pegado.
- Modo de comando Vi:
Anteponer y aceptar
Anteponga un '#' y acepte la línea.
- Modo de comando Vi:
<#>
Rehacer
Deshacer y deshacer.
- Modo Windows:
Ctrl+y - Modo de inserción de Vi:
Ctrl+y - Modo de comando Vi:
Repetir último comando
Repita la última modificación del texto.
- Modo de comando Vi:
<.>
ReplaceChar
Reemplace el carácter actual con el siguiente conjunto de caracteres escritos.
- Modo de comando Vi:
,
Reemplazar CharInPlace
Reemplace el carácter actual con un solo carácter.
- Modo de comando Vi:
RevertLine
Revierte todas las entradas a la entrada actual.
- Modo Windows:
Escape - Modo Emacs:
Alt+r,Escape,r
ShellHacia AtrásMatarPalabra
Borre la entrada desde el inicio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra desde el inicio de la palabra anterior al cursor. El texto borrado se coloca en el círculo de eliminación.
La función no está consolidada.
ShellMatarPalabra
Borra la entrada desde el cursor hasta el final de la palabra actual. Si el cursor está entre palabras, la entrada se borra desde el cursor hasta el final de la siguiente palabra. El texto borrado se coloca en el anillo de eliminación.
La función no está consolidada.
SwapCharacters
Intercambia el personaje actual y el anterior.
- Modo Emacs:
Ctrl+t - Modo de inserción de Vi:
Ctrl+t - Modo de comando Vi:
Deshacer
Deshacer una edición anterior.
- Modo Windows:
Ctrl+z - Modo Emacs:
Ctrl+_, Ctrl+x,Ctrl+u - Modo de inserción de Vi:
Ctrl+z - Modo de comando Vi:
,
UndoAll
Deshacer todas las ediciones anteriores de la línea.
- Modo de comando Vi:
UnixWordRubout
Borre la entrada desde el inicio de la palabra actual hasta el cursor. Si el cursor está entre palabras, la entrada se borra desde el inicio 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
Convierte la siguiente palabra a mayúsculas.
- Modo Emacs:
Alt+u,Escape,u
Validar y aceptar línea
Intente ejecutar la entrada actual. Si la entrada actual está incompleta (por ejemplo, falta un paréntesis, corchete o cita de cierre), entonces se muestra el mensaje de continuación en la siguiente línea y PSReadLine espera las claves para editar la entrada actual.
- Modo Emacs:
Ctrl+m
ViAceptarLínea
Acepte la línea y cambie al modo Insertar.
- Modo de comando Vi:
ViAceptarLíneaOSalir
Como DeleteCharOrExit en modo Emacs, pero acepta la línea en lugar de eliminar un carácter.
- Modo de inserción de Vi:
Ctrl+d - Modo de comando Vi:
ViAppendLine
Se inserta una nueva línea debajo de la línea actual.
- Modo de comando Vi:
ViHacia atrásDeleteGlob
Elimina la palabra anterior, utilizando solo espacios en blanco como delimitador de palabras.
- Modo de comando Vi:
ViBackwardGlob
Mueve el cursor al principio de la palabra anterior, utilizando solo espacios en blanco como delimitadores.
- Modo de comando Vi:
ViHacia atrásReemplazarGlob
Elimine hacia atrás hasta el principio de la palabra anterior, delimitada por espacios en blanco, y acceda al modo de inserción.
- Modo de comando Vi:
ViHacia atrásReemplazar línea
Reemplaza la línea a la izquierda del cursor y hasta el principio.
- Modo de comando Vi:
ViBackwardReplaceLineToFirstChar
Reemplaza la línea a la izquierda del cursor y todos los caracteres menos uno al principio de la línea.
- Modo de comando Vi:
ViHacia AtrásReemplazarPalabra
Reemplace la palabra anterior.
- Modo de comando Vi:
ViDeleteBrace
Busque la llave, el paréntesis o el corchete correspondiente y elimine todo el contenido que contiene, incluida la llave.
- Modo de comando Vi:
<d,%>
ViDeleteEndOfGlob
Eliminar hasta el final de la palabra.
- Modo de comando Vi:
ViDeleteGlob
Elimine el siguiente globo (palabra delimitada por espacios en blanco).
- Modo de comando Vi:
ViDeleteToBeforeChar
Elimina hasta el carácter dado.
- Modo de comando Vi:
ViDeleteToBeforeCharBackward
Elimina hasta el carácter dado.
- Modo de comando Vi:
ViDeleteToChar
Elimina hasta el carácter dado.
- Modo de comando Vi:
ViDeleteToCharHacia atrás
Elimina hacia atrás hasta el carácter dado.
- Modo de comando Vi:
ViInsertAlPrincipio
Cambie al modo Insertar y coloque el cursor al principio de la línea.
- Modo de comando Vi:
ViInsertAtEnd
Cambie al modo Insertar y coloque el cursor al final de la línea.
ViInsertarLínea
Se inserta una nueva línea encima de la línea actual.
- Modo de comando Vi:
ViInsertWithAppend
Agregar desde la posición de la línea actual.
ViInsertar con eliminar
Elimine el carácter actual y cambie al modo Insertar.
- Modo de comando Vi:
ViJoinLines
Une la línea actual y la siguiente.
- Modo de comando Vi:
ViReplaceBrace
Reemplace todos los caracteres entre el carácter de llave actual y su compañero coincidente.
- Modo de comando Vi:
<c,%>
ViReplaceEndOfGlob
Elimine hasta el final de la palabra, delimitada por espacios en blanco, y acceda al modo de inserción.
- Modo de comando Vi:
ViReemplazarEndOfWord
Elimine hasta el final de la palabra, según lo delimitado por espacios en blanco y delimitadores comunes, y acceda al modo de inserción.
- Modo de comando Vi:
ViReplaceGlob
Elimine hasta el principio de la siguiente palabra, delimitada por espacios en blanco, y acceda al modo de inserción.
- Modo de comando Vi:
ViReplaceLine
Borre toda la línea de comando.
- Modo de comando Vi:
,
ViReplaceToBeforeChar
Reemplaza hasta que se le dé el carácter.
- Modo de comando Vi:
ViReplaceToBeforeCharRegresar
Reemplaza hasta que se le dé el carácter.
- Modo de comando Vi:
ViReplaceToChar
Elimina hasta el carácter dado.
- Modo de comando Vi:
ViReplaceToCharHacia atrás
Reemplaza hasta que se le dé el carácter.
- Modo de comando Vi:
ViReemplazar hasta el final
Reemplace los caracteres desde la posición del cursor hasta el final de la línea.
- Modo de comando Vi:
,
ViReplaceHastaEsc
Reemplace el carácter actual hasta que se ingrese un escape o se acepte la línea.
- Modo de comando Vi:
ViReemplazarPalabra
Reemplace la palabra actual.
- Modo de comando Vi:
ViYankComienzoDeLínea
Tire desde el principio del búfer hasta el cursor.
- Modo de comando Vi:
ViYankEndOfGlob
Tire desde el cursor hasta el final de la(s) PALABRA(s).
- Modo de comando Vi:
ViYankEndOfWord
Arrastre desde el cursor hasta el final de la(s) palabra(s).
- Modo de comando Vi:
ViYankIzquierda
Arrastre los caracteres a la izquierda del cursor.
- Modo de comando Vi:
Línea ViYank
Tire de todo el búfer.
- Modo de comando Vi:
ViYankSiguienteGlob
Arrastre desde el cursor hasta el inicio de la(s) siguiente(s) PALABRA(s).
- Modo de comando Vi:
ViYankSiguientePalabra
Arranque la(s) palabra(s) después del cursor.
- Modo de comando Vi:
ViYankPorcentaje
Tire hacia/desde la abrazadera correspondiente.
- Modo de comando Vi:
<y,%>
ViYankAnteriorGlob
Tire desde el principio de la(s) PALABRA(s) hasta el cursor.
- Modo de comando Vi:
ViYankPalabra Anterior
Arranque la(s) palabra(s) delante del cursor.
- Modo de comando Vi:
ViYankDerecha
Tire de los caracteres debajo y a la derecha del cursor.
- Modo de comando Vi:
,
ViYankToEndOfLine
Tirar desde el cursor hasta el final del búfer.
- Modo de comando Vi:
ViYankToFirstChar
Tire desde el primer carácter que no sea un espacio en blanco hasta el cursor.
- Modo de comando Vi:
Tirón
Agregue el texto eliminado más recientemente a la entrada.
- Modo Emacs:
Ctrl+y
YankLastArg
Saque el último argumento de la línea del historial anterior. Con un argumento, la primera vez que se invoca, se comporta igual que YankNthArg. Si se invoca varias veces, itera a través del historial y arg establece la dirección (el negativo invierte la dirección).
- Modo Windows:
Alt+. - Modo Emacs:
Alt+.,Alt+_,Escape,.,Escape,_
YankNthArg
Retire el primer argumento (después del comando) de la línea del historial anterior. Con un argumento, extraiga el enésimo argumento (comenzando desde 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 fue Yank o YankPop, reemplace el texto previamente eliminado con el siguiente texto eliminado del anillo de eliminación.
- Modo Emacs:
Alt+y,Escape,y
Funciones de finalización
Completo
Intente completar el texto que rodea al cursor. Si hay varias completaciones posibles, se utiliza el prefijo inequívoco más largo para la finalización. Si intenta completar la finalización más larga e inequívoca, se muestra una lista de posibles finalizaciones.
- Modo Emacs:
Tab
MenuComplete
Intente completar el texto que rodea al cursor. Si hay varias completaciones posibles, se utiliza el prefijo inequívoco más largo para la finalización. Si intenta completar la finalización más larga e inequívoca, se muestra una lista de posibles finalizaciones.
- Modo Windows:
Ctrl+@, Ctrl+barra espaciadora - Modo Emacs:
Ctrl+barra espaciadora
PossibleCompletions
Muestra la lista de posibles finalizaciones.
- Modo Emacs:
Alt+= - Modo de inserción de Vi:
Ctrl+barra espaciadora - Modo de comando Vi:
TabuladorCompletoSiguiente
Intente completar el texto que rodea el cursor con la siguiente finalización disponible.
- Modo Windows:
Tab - Modo de comando Vi:
TabuladorCompletoAnterior
Intente completar el texto que rodea el cursor con la finalización disponible anterior.
- Modo Windows:
Mayús+Tab - Modo de comando Vi:
ViTabCompletoSiguiente
Finaliza el grupo de edición actual, si es necesario, e invoca TabCompleteNext.
- Modo de inserción de Vi:
Tab
ViTabCompletoAnterior
Finaliza el grupo de edición actual, si es necesario, e invoca TabCompletePrevious.
- Modo de inserción de Vi:
Mayús+Tab
Funciones de movimiento del cursor
BackwardChar
Mueva el cursor un carácter hacia la izquierda. Esto puede mover el cursor a la línea anterior de entrada multilínea.
- Modo Windows:
Flecha izquierda - Modo Emacs:
Flecha izquierda, Ctrl+b
BackwardWord
Mueva el cursor nuevamente al inicio de la palabra actual o, si está entre palabras, al inicio de la palabra anterior. Los límites de las palabras están definidos por un conjunto de caracteres configurable.
- Modo Windows:
Ctrl+Flecha izquierda - Modo Emacs:
Alt+b,Escape,b - Modo de inserción de Vi:
Ctrl+Flecha izquierda - Modo de comando Vi:
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
Comienzo de línea
Si la entrada tiene varias líneas, muévase al inicio de la línea actual, o si ya está al comienzo de la línea, muévase al inicio de la entrada. Si la entrada tiene una sola línea, vaya al inicio de la entrada.
- Modo Windows:
Inicio - Modo Emacs:
Inicio,Ctrl+a - Modo de inserción de Vi:
Inicio - Modo de comando Vi:
Fin de línea
Si la entrada tiene varias líneas, muévase al final de la línea actual, o si ya está al final de la línea, muévase al final de la entrada. Si la entrada tiene una sola línea, vaya al final de la entrada.
- Modo Windows:
Fin - Modo Emacs:
Fin, Ctrl+e - Modo de inserción de Vi:
Fin
ForwardChar
Mueva el cursor un carácter hacia la derecha. Esto puede mover el cursor a la siguiente línea de entrada multilínea.
- Modo Windows:
Flecha derecha - Modo Emacs:
Flecha derecha, Ctrl+f
ForwardWord
Mueva el cursor hacia adelante hasta el final de la palabra actual o, si está entre palabras, hasta el final de la siguiente palabra. Los límites de las palabras están definidos por un conjunto configurable de caracteres.
- Modo Emacs:
Alt+f,Escape,f
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
GotoBrace
Vaya a la llave, paréntesis o corchete correspondiente.
- Modo Windows:
Ctrl+] - Modo de inserción de Vi:
Ctrl+] - Modo de comando Vi:
GotoColumn
Vaya a la columna indicada por arg.
- Modo de comando Vi:
<|>
GotoFirstNonBlankOfLine
Mueva el cursor al primer carácter que no esté en blanco en la línea.
- Modo de comando Vi:
<^>, <_>
Mover al final de la línea
Mueva el cursor al final de la entrada.
- Modo de comando Vi:
, <$>
Mover a primera línea
Vaya a la primera línea en un comando multilínea.
- Modo de comando Vi:
Mover a la última línea
Vaya a la última línea de un comando multilínea.
- Modo de comando Vi:
NextLine
Mueva el cursor a la siguiente línea.
- La función no está consolidada.
NextWord
Mueva el cursor hacia adelante hasta el comienzo de la siguiente palabra. Los límites de las palabras están definidos por un conjunto configurable de caracteres.
- Modo Windows:
Ctrl+Flecha derecha - Modo de inserción de Vi:
Ctrl+Flecha derecha - Modo de comando Vi:
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
SiguientePalabraFin
Mueva el cursor hacia adelante hasta el final de la palabra actual o, si está entre palabras, hasta el final de la siguiente palabra. Los límites de las palabras están definidos por un conjunto configurable de caracteres.
- Modo de comando Vi:
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
PreviousLine
Mueva el cursor a la línea anterior.
- La función no está consolidada.
ShellHacia AtrásPalabra
Mueva el cursor nuevamente al inicio de la palabra actual o, si está entre palabras, al inicio de la palabra anterior. Los límites de las palabras están definidos por tokens de PowerShell.
- La función no está consolidada.
ShellAdelantePalabra
Mueva el cursor hacia adelante hasta el comienzo de la siguiente palabra. Los límites de las palabras están definidos por tokens de PowerShell.
- La función no está consolidada.
ShellSiguientePalabra
Mueva el cursor hacia adelante hasta el final de la palabra actual o, si está entre palabras, hasta el final de la siguiente palabra. Los límites de las palabras están definidos por tokens de PowerShell.
- La función no está consolidada.
ViBackwardChar
Mueva el cursor un carácter hacia la izquierda en el modo de edición Vi. Esto puede mover el cursor a la línea anterior de entrada multilínea.
- Modo de inserción de Vi:
LeftArrow - Modo de comando Vi:
, ,
ViPalabraReversa
Mueva el cursor nuevamente al inicio de la palabra actual o, si está entre palabras, al inicio de la palabra anterior. Los límites de las palabras están definidos por un conjunto de caracteres configurable.
- Modo de comando Vi:
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
ViEndOfGlob
Mueva el cursor hasta el final de esta palabra, delimitada por espacios en blanco.
- Modo de comando Vi:
ViEndOfPreviousGlob
Va al final de la palabra anterior, utilizando solo espacios en blanco como delimitador de palabra.
- La función no está consolidada.
ViForwardChar
Mueva el cursor un carácter hacia la derecha en el modo de edición Vi. Esto puede mover el cursor a la siguiente línea de entrada multilínea.
- Modo de inserción de Vi:
Flecha derecha - Modo de comando Vi:
, ,
ViGotoBrace
Similar a GotoBrace, pero se basa en caracteres en lugar de tokens.
- Modo de comando Vi:
<%>
ViNextGlob
Pasa a la siguiente palabra, utilizando solo espacios en blanco como delimitador de palabras.
- Modo de comando Vi:
ViSiguientePalabra
Mueva el cursor hacia adelante hasta el comienzo de la siguiente palabra. Los límites de las palabras están definidos por un conjunto de caracteres configurable.
- Modo de comando Vi:
Los caracteres que definen los límites de las palabras se configuran en la propiedad WordDelimiters del objeto PSConsoleReadLineOptions. Para ver o cambiar la propiedad WordDelimiters, consulte Get-PSReadLineOption y Set-PSReadLineOption.
Funciones de historia
Comienzo De La Historia
Pasar al primer elemento del historial.
- Modo Emacs:
Alt+
ClearHistory
Borra el historial en PSReadLine. Esto no afecta el historial de PowerShell.
- Modo Windows:
Alt+F7
Fin de la historia
Pasar al último elemento (la entrada actual) del historial.
- Modo Emacs:
Alt+>
Historial de búsqueda hacia adelante
Realizar una búsqueda incremental hacia adelante a través del historial.
- Modo Windows:
Ctrl+s - Modo Emacs:
Ctrl+s - Modo de inserción de Vi:
Ctrl+s - Modo de comando Vi:
HistoriaBuscarHacia Atrás
Reemplace la entrada actual con el elemento 'anterior' del historial de PSReadLine que coincida con los caracteres entre el inicio, la entrada y el cursor.
- Modo Windows:
F8
HistoriaBuscarAdelante
Reemplace la entrada actual con el elemento 'siguiente' del historial de PSReadLine que coincida con los caracteres entre el inicio, la entrada y el cursor.
- Modo Windows:
Mayús+F8
NextHistory
Reemplace la entrada actual con el elemento 'siguiente' del historial de PSReadLine.
- Modo Windows:
Flecha abajo - Modo Emacs:
Flecha abajo, Ctrl+n - Modo de inserción de Vi:
DownArrow - Modo de comando Vi:
<DownArrow>,<j>,<+>
PreviousHistory
Reemplace la entrada actual con el elemento "anterior" del historial de PSReadLine.
- Modo Windows:
Flecha arriba - Modo Emacs:
Flecha arriba, Ctrl+p - Modo de inserción de Vi:
Flecha arriba - Modo de comando Vi:
<UpArrow>,<k>,<->
Historial de búsqueda inversa
Realizar una búsqueda incremental hacia atrás a través del historial.
- Modo Windows:
Ctrl+r - Modo Emacs:
Ctrl+r - Modo de inserción de Vi:
Ctrl+r - Modo de comando Vi:
ViSearchHistorialHacia atrás
Solicita una cadena de búsqueda e inicia la búsqueda en AcceptLine.
- Modo de comando Vi:
>
Funciones varias
CaptureScreen
Inicie la captura de pantalla interactiva: las flechas arriba/abajo seleccionan líneas, ingresan copias del texto seleccionado al portapapeles como texto y HTML.
- La función no está consolidada.
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 de Vi:
Ctrl+l - Modo de comando Vi:
DigitArgument
Inicie un nuevo argumento de dígito para pasar a otras funciones. Puede usar esto como multiplicador para la siguiente función que se invoca al presionar una tecla. Por ejemplo, al presionar <Alt+1> <Alt+0> se establece el valor del argumento de dígito en 10. Luego, al presionar el botón # envía 10 caracteres # (##########) a la línea de entrada. De manera similar, puede usar esto con otras operaciones, como <Delete> o Left-Arrow.
- Modo Windows:
Alt+0, Alt+1, Alt+2, Alt+3, Alt+4, Alt+5, Alt+6, Alt+7, 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>, <4>, <5>, <6>, <7>, <8>, <9>
InvokePrompt
Borra el mensaje actual y llama a la función de mensaje para volver a mostrar el mensaje. Útil para controladores de claves personalizados que cambian de estado. Por ejemplo, cambie el directorio actual.
- La función no está consolidada.
DesplazamientoPantallaAbajo
Desplace la pantalla una pantalla hacia abajo.
- Modo Windows:
Avanzar Pág - Modo Emacs:
PageDown
DesplazamientoPantallaAbajoLínea
Desplácese por la pantalla una línea hacia abajo.
- Modo Windows:
Ctrl+Av Pág - Modo Emacs:
Ctrl+Av Pág
DesplazarseDisplayToCursor
Desplace la pantalla hasta el cursor.
- Modo Emacs:
Ctrl+Fin
DesplazamientoPantallaArriba
Desplaza la pantalla hacia la parte superior.
- Modo Emacs:
Ctrl+Inicio
DesplazarsePantallaArriba
Desplace la pantalla una pantalla hacia arriba.
- Modo Windows:
Re Pág - Modo Emacs:
Re Pág
DesplazamientoPantallaArribaLínea
Desplace la pantalla una línea hacia arriba.
- Modo Windows:
Ctrl+Re Pág - Modo Emacs:
Ctrl+Re Pág
MostrarComandoAyuda
Proporciona una vista de la ayuda completa del cmdlet. Cuando el cursor está al final de un parámetro completamente expandido, presionar la tecla <F1> posiciona la pantalla de ayuda en la ubicación de ese parámetro.
La ayuda se muestra en un búfer de pantalla alternativo utilizando un buscapersonas de Microsoft.PowerShell.Pager. Cuando sale del buscapersonas, regresa a la posición original del cursor en la pantalla original. Este buscapersonas solo funciona en aplicaciones de terminal modernas como Windows Terminal.
- Modo Windows:
F1 - Modo Emacs:
F1 - Modo de inserción de Vi:
F1 - Modo de comando Vi:
Mostrar combinaciones de teclas
Mostrar todas las claves enlazadas.
- Modo Windows:
Ctrl+Alt+? - Modo Emacs:
Ctrl+Alt+? - Modo de inserción de Vi:
Ctrl+Alt+?
MostrarParametroAyuda
Proporciona ayuda dinámica para los parámetros mostrándola debajo de la línea de comando actual como MenuComplete. El cursor debe estar al final del nombre del parámetro completamente expandido cuando presiona la tecla <Alt+h>.
- Modo Windows:
Alt+h - Modo Emacs:
Alt+h - Modo de inserción de Vi:
Alt+h - Modo de comando Vi:
Modo ViCommand
Cambie el modo de funcionamiento actual de Vi-Insert a Vi-Command.
- Modo de inserción de Vi:
Escape
ViDigitArgumentInChord
Inicie un nuevo argumento de dígito para pasar a otras funciones mientras está en uno de los acordes de vi.
- La función no está consolidada.
ViEditar visualmente
Edite la línea de comando en un editor de texto especificado por $env:EDITOR o $env:VISUAL.
- Modo Emacs:
Ctrl+x,Ctrl+e - Modo de comando Vi:
ViExit
Sale del caparazón.
- La función no está consolidada.
Modo ViInsert
Cambie al modo Insertar.
- Modo de comando Vi:
¿Qué es la clave?
Lea una clave y dígame a qué está vinculada.
- Modo Windows:
Alt+? - Modo Emacs:
Alt+?
Funciones de predicción
AceptarSiguienteSugerenciaPalabra
Aceptar la siguiente palabra de la sugerencia en línea o seleccionada
- La función no está consolidada.
AcceptSuggestion
Cuando utilice InlineView como estilo de vista para la predicción, acepte la sugerencia en línea actual.
- La función no está consolidada.
NextSuggestion
Cuando utilice ListView como estilo de vista para la predicción, navegue hasta la siguiente sugerencia de la lista.
- La función no está consolidada.
PreviousSuggestion
Cuando utilice ListView como estilo de vista para la predicción, navegue hasta la sugerencia anterior en la lista.
- La función no está consolidada.
Mostrar información sobre herramientas de predicción completa
Muestra la información sobre herramientas del elemento de la lista seleccionado actualmente en la vista completa.
- Modo Windows:
F4 - Modo Emacs:
F4 - Modo de inserción de Vi:
F4
Cambiar vista de predicción
Cambie el estilo de vista para la predicción entre InlineView y ListView.
- Modo Windows:
F2 - Modo Emacs:
F2 - Modo de inserción de Vi:
F2
Funciones de búsqueda
CharacterSearch
Lea un carácter y busque la próxima aparición de ese carácter. Si se especifica un argumento, busque hacia adelante (o hacia atrás si es negativo) la enésima aparición.
- Modo Windows:
F3 - Modo Emacs:
Ctrl+] - Modo de inserción de Vi:
F3 - Modo de comando Vi:
Búsqueda De PersonajesHacia Atrás
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 adelante si es negativo) la enésima aparición.
- Modo Windows:
Mayús+F3 - Modo Emacs:
Ctrl+Alt+] - Modo de inserción de Vi:
Mayús+F3 - Modo de comando Vi:
RepetirLastCharSearch
Repita la última búsqueda de caracteres grabada.
- Modo de comando Vi:
<;>
RepetirLastCharSearchHacia atrás
Repita la última búsqueda de caracteres grabada, pero en dirección opuesta.
- Modo de comando Vi:
<,>
RepeatSearch
Repita la última búsqueda en la misma dirección que antes.
- Modo de comando Vi:
RepetirBuscarHacia Atrás
Repita la última búsqueda en la misma dirección que antes.
- Modo de comando Vi:
SearchChar
Lea el siguiente carácter y luego encuéntrelo en el futuro.
- Modo de comando Vi:
<f>
BuscarCara Atrás
Lee el siguiente carácter y luego encuéntralo, retrocediendo.
- Modo de comando Vi:
BuscarCharBackwardWithBackoff
Lea el siguiente carácter y luego encuéntrelo, retroceda y luego retroceda un carácter.
- Modo de comando Vi:
BuscarCharWithBackoff
Lea el siguiente personaje y luego encuéntrelo, avance y luego retroceda un personaje.
- Modo de comando Vi:
SearchForward
Solicita una cadena de búsqueda e inicia la búsqueda en AcceptLine.
- Modo de comando Vi:
>
Funciones de selección
Punto de intercambio y marca
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
Seleccionarcarácter inverso
Ajuste la selección actual para incluir el carácter anterior.
- Modo Windows:
Mayús+Flecha izquierda - Modo Emacs:
Mayús+Flecha izquierda
Seleccionar línea hacia atrás
Ajuste la selección actual para incluir desde el cursor hasta el inicio de la línea.
- Modo Windows:
Mayús+Inicio - Modo Emacs:
Mayús+Inicio
Seleccionar palabra hacia atrás
Ajuste la selección actual para incluir la palabra anterior.
- Modo Windows:
Mayús+Ctrl+Flecha izquierda - Modo Emacs:
Alt+B
Seleccionar argumento de comando
Realice una selección visual de los argumentos del comando. La selección de argumentos tiene como ámbito un bloque de script. Según la posición del cursor, busca desde el bloque de script más interno hasta el bloque de script más externo y se detiene cuando encuentra algún argumento en el alcance de un bloque de script.
Esta función respeta DigitArgument. Trata los valores de argumento positivos o negativos como desplazamientos hacia adelante o hacia atrás desde el 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
Seleccionar Carácter Adelante
Ajuste la selección actual para incluir el siguiente carácter.
- Modo Windows:
Mayús+Flecha derecha - Modo Emacs:
Mayús+Flecha derecha
Seleccionar palabra reenviada
Ajuste la selección actual para incluir la siguiente palabra usando ForwardWord.
- Modo Emacs:
Alt+F
SelectLine
Ajuste la selección actual para incluirla desde el cursor hasta el final de la línea.
- Modo Windows:
Mayús+Fin - Modo Emacs:
Mayús+Fin
Seleccione la siguiente palabra
Ajuste la selección actual para incluir la siguiente palabra.
- Modo Windows:
Mayús+Ctrl+Flecha derecha
SeleccionarShellBackwardWord
Ajuste la selección actual para incluir la palabra anterior usando ShellBackwardWord.
- La función no está consolidada.
SeleccionarShellForwardWord
Ajuste la selección actual para incluir la siguiente palabra usando ShellForwardWord.
- La función no está consolidada.
SeleccionarShellSiguientePalabra
Ajuste la selección actual para incluir la siguiente palabra usando ShellNextWord.
- La función no está consolidada.
SetMark
Marque la ubicación actual del cursor para usarla en un comando de edición posterior.
- Modo Emacs:
Ctrl+@
API de soporte de enlace de claves personalizadas
Las siguientes funciones son públicas en Microsoft.PowerShell.PSConsoleReadLine, pero no se pueden vincular directamente a una clave. La mayoría son útiles en combinaciones de teclas personalizadas.
void AddToHistory(string command)
Agregue una línea de comando al historial sin ejecutarla.
void ClearKillRing()
Despeja el círculo de la muerte. Esto se usa principalmente para pruebas.
void Delete(int start, int length)
Eliminar caracteres de longitud desde el inicio. Esta operación admite deshacer/rehacer.
void Ding()
Realice la acción Ding según las preferencias 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. El primero se utiliza más comúnmente para casos simples. El segundo se utiliza si tu fijación es hacer algo más avanzado con el Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(string[] Chord)
Estas dos funciones son utilizadas por Get-PSReadLineKeyHandler. El primero se utiliza para obtener todas las combinaciones de teclas. El segundo se utiliza para obtener combinaciones de teclas específicas.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Get-PSReadLineOption utiliza esta función y probablemente no sea demasiado útil en una combinación de teclas personalizada.
void GetSelectionState([ref] int start, [ref] int length)
Si no hay ninguna selección en la línea de comando, la función devuelve -1 tanto en inicio como en longitud. Si hay una selección en la línea de comando, se devuelven el inicio y la duración de la selección.
void Insert(char c)
void Insert(string s)
Inserte un carácter o cadena en el cursor. Esta operación admite deshacer/rehacer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Este es el principal punto de entrada a PSReadLine. No admite la recursividad, por lo que no es útil en una combinación de teclas personalizada.
void RemoveKeyHandler(string[] key)
Remove-PSReadLineKeyHandler utiliza esta función y probablemente no sea demasiado útil en una combinación de teclas personalizada.
void Replace(int start, int length, string replacement)
Reemplace alguna entrada. Esta operación admite deshacer/rehacer. Se prefiere esto a Eliminar seguido de Insertar porque se trata como una acción única para deshacer.
void SetCursorPosition(int cursor)
Mueva el cursor al desplazamiento dado. 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 utilizado por el cmdlet Set-PSReadLineOption, pero puede resultar útil para una combinación de teclas personalizada que desee cambiar temporalmente una configuración.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Este método auxiliar se utiliza para enlaces personalizados que respetan DigitArgument. Una llamada típica parece
[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 activa cuando se agota el tiempo de espera de
ReadKey()(sin escribir en 300 ms). El evento podría señalarse mientras el usuario está editando una línea de comando; por ejemplo, el usuario está leyendo la ayuda para decidir qué parámetro usar.A partir de PSReadLine 2.2.0-beta4, el comportamiento OnIdle cambió para señalar el evento solo si hay un tiempo de espera
ReadKey()y el búfer de edición actual está vacío.
Ver también
- acerca de_PSReadLine