¿Hay alguna manera de interactuar con el modo de línea de comandos mientras se mantiene siempre en la posición de inicio?
En particular, las siguientes dos acciones son engorrosas y requieren mover los dedos hacia las teclas de flecha y, a veces, peor, el mouse.
- Moverse: ¿Hay alguna forma de moverse hacia adelante y hacia atrás en el modo de línea de comandos mientras se mantiene en la posición habitual?
- ¿Cómo puedes copiar y pegar en la línea de comandos? Me refiero a copiar ambos de una parte de la línea de comandos a otra parte, o del texto o incluso del portapapeles.
command-line
Shahbaz
fuente
fuente
:q
; esto abre una nueva ventana "similar a un búfer", en la que puedes usarhjkl
para movimiento,y
para tirar, etc.q:
, ¿verdad?) ¡Es bueno saberlo! Había llegado accidentalmente allí en el pasado, pero realmente no pensé en usarlo. Sin embargo, no parece funcionar con/
(buscar).Respuestas:
Existe la línea de comandos (que usted conoce) y la ventana de la línea de comandos (la línea de comandos en un búfer especial, que puede editar como cualquier otra). Entrar en este ya sea a través
<C-f>
de la línea de comandos (también para/
las búsquedas, etc.) cuando se siente la necesidad de un mayor "poder editar", o directamente desde el modo normal a través de la dedicadaq:
,q/
etc. comandos.Lea más sobre esto en
:help command-line-window
.fuente
<C-f>
es muy útil saberlo, ya que funciona después de que ya está a la mitad del comando.:
viene casi automáticamente para mí, así que es bueno poder cambiar sin volver al modo normal.Además de proporcionar la ventana de línea de comandos , Vim también ofrece algunas funciones limitadas que le permiten interactuar con la línea de comandos mientras está en modo de línea de comandos ( sin usar las teclas de flecha).
Movimiento
<ctrl-b>
mueve el cursor al comienzo de la línea de comando<ctrl-e>
mueve el cursor al final de la línea de comandoEdición
<ctrl-h>
eliminar el caracter antes del cursor (como retroceso)<ctrl-w>
borrar la palabra antes del cursor<ctrl-u>
eliminar todo el camino desde el cursor hasta el inicio de la línea de comandosPor supuesto, puede agregar asignaciones de línea de comandos
:cnoremap
para emular ciertas teclas de navegación de otros programas . O instale el complemento RSI de Tim Pope para usar los enlaces Readline estándar de facto.Pegado
Puede pegar el contenido de cualquier registro en la línea de comandos en la posición del cursor presionando
<ctrl-r>
seguido del carácter que especifica el registro. por ejemplo<ctrl-r>
,+
insertará el contenido del portapapeles en la línea de comandos;<ctrl-r>
,"
insertará el contenido del registro "sin nombre" (es decir, el contenido de su última eliminación o extracción).Ver
:help cmdline.txt
para más detalles de todo lo anterior.fuente
<ctrl-r>
Sería particularmente útil.^R
para macros. Me ha permitido realizar manipulaciones de texto súper complicadas al extraer parte del archivo durante la macro y, más tarde, también durante la macro, utilizando la parte eliminada en un comando largo en modo Ex con^R
. :)