¿Cómo seleccionar un trozo de texto y pegarlo a la posición actual del cursor W / O a través del ratón en vim?
Pregunta
Quiero dejar de usar el ratón para seleccionar y pegar trozos de texto dentro de un búfer. ¿Cuál es la forma más eficiente de hacer esto con sólo kb? Me refiero a navegar a la línea arbitraria, copio la subcadena, el retorno a la posición anterior y pegar.
Solución
Si quieres ir rápidamente a una línea de utilizar la búsqueda escribiendo
/SUBSTRING
y luego Enter después de haber encontrado la subcadena correcta.
Asegúrese de utilizar hlsearch y incsearch
:set incsearch
y :set hlsearch
Cuando usted está en la línea correcta, tire toda la línea con yy
o la palabra completa con yaw
.
A continuación, volver al punto de partida la búsqueda escribiendo dos acentos abiertos ``
A continuación, puede pegar su línea / cadena de un tirón con p
Otros consejos
método muy simple:
- Seleccione las líneas con
Shift-V
- "Yank" (= copia) el texto con
y
- pega el siguiente texto con
p
en la posición que desee.
Por supuesto, hay muchas otras maneras de copiar y pegar, copias yy
la línea actual, por ejemplo.
¿Las algunos tutoriales VIM, es mejor que aprender todo poco a poco.
- marca su posición actual por
ma
escribiendo (se puede utilizar cualquier otra letra en lugar de una, esto es sólo un "registro de posición llamada". - Vaya a la línea y subcadena, por ejemplo, mediante el uso de una búsqueda
/
- texto tirón con
y<movement>
o marcarlo conshift/ctrl-v
y luegoy
- posterior traslado a la posición marcada previamente con `` `a`` (tilde)
- pegar el buffer con
p
oP
Mi método normal sería:
- Uso modo visual para seleccionar el texto con v , V o Ctrl + v
- Yank utilizando y
- Vaya a la línea que desea estar en el uso de
123G
o:123
- Navegar donde quiero estar dentro de esa línea con t o f
- poner el texto con p o P
Si tiene que ir y venir entre los puntos, me gustaría pasar por saltos usando g , y g ;.
Uso "p" para pegar después de la línea actual, y "P" para pegar encima de la línea actual.
No está seguro de lo que entendemos por 'la subcadena'. Si desea copiar la línea 50 a la posición actual, utilice:
:50t.
Si desea mover la línea 50 a la posición actual del cursor, utilice:
:50m.