¿Cómo puedo eliminar una línea sin ponerla en mi búfer predeterminado?
Ejemplo:
line that will be copied.
line that I want to be substitued with the previous one.
Lo que estoy tratando de hacer:
yy
dd
p
Pero Vim reemplaza la cadena copiada reciente con la eliminada (cortada). Sé que puedo usar tampones como, "1yy, dda continuación "1p, pero siempre me olvido de poner la cadena de copiado de una memoria intermedia entonces necesito para pegar el contenido de mi primera (línea que se va a copiar) y elimine lo que quiero (línea que yo quiero para ser sustituido con el anterior.)
¿Cómo puedo realmente eliminar un texto en Vi (m) sin copiarlo?
Otra pregunta relacionada es ¿cómo puedo reenviar eliminar una palabra en modo de inserción? Quiero algo similar a Ctrl+ w.
                    
                        vim
                                copy-paste
                                
                    
                    
                        MaikoID
fuente
                
                fuente

Respuestas:
Utilice la opción "Registro agujero negro",
"_a algo realmente borrado:"_d.Use
"_dPpara pegar algo y mantenerlo disponible para pegarlo más.Para la segunda pregunta, podrías usar
<C-o>dw.<C-o>se utiliza para ejecutar un comando normal sin salir del modo de inserción .Puede configurar sus propias asignaciones para guardar la escritura, por supuesto. Tengo estos:
fuente
dtodavía "corta" ypaún "pega", mientras que<leader>delimina de forma real y<leader>pdesecha el texto seleccionado y pega el contenido del registro predeterminado.<leader>pme permite pegar el mismo texto varias veces sin tener que usar registros con nombre.El registro de agujeros negros
"_hará el truco, pero hay una mejor solución:Cuando ingresa la línea de regreso con el
pcomando, está pegando el contenido del registro predeterminado (volátil)"", que ha sido sobrescrito pordd. Pero aún puede pegar desde el registro de extracción (no volátil)"0, que no se sobrescribirá con el comando eliminardd.Entonces, estos son los comandos que desea usar según su ejemplo:
fuente
Esa es una de las cosas que no me gusta de vim ... Terminé mapeando
ddel registro de agujeros negros en mi .vimrc y la vida ha sido buena desde:fuente
v/Vconxtambién se corta. Y cortar conxtambién es coherente conCtrl + xcualquier sistema operativo.producirán los siguientes mapeos:
Además, es una buena práctica tener la tecla "líder" configurada en coma, por ejemplo:
estos 2 fragmentos harán que ", d" sea su nuevo comando de corte.
Si desea utilizar estas asignaciones junto con una configuración de portapapeles del sistema compartido, consulte más detalles en https://github.com/pazams/d-is-for-delete
fuente
yyddque era un poco insostenible en mis dedos;-).,dd. Después de agregarlonnoremap <leader>dd ""ddcomenzó a funcionarPuede usar
"_dpara evitar que las cosas sobrescriban su texto arrancado. Puede almacenar texto eliminado o eliminado en cualquier registro que desee", y_es el registro 'agujero negro', donde envía cosas que no le importan.Para más información puede escribir
:help "_o:help deletingfuente
Cuando
xesté en modo visual, eliminará la selección, por lo tanto, si desea eliminar una línea completa, primero presioneVpara seleccionar la línea en modo visual y luego presionexpara eliminar la selección.fuente