Luego de mucho batallar hemos encontrado la respuesta de esta escollo que agunos usuarios de nuestra web han tenido. Si quieres aportar algo más puedes compartir tu conocimiento.
Solución:
los "*
y "+
los registros son para el portapapeles del sistema (:help registers
). Dependiendo de su sistema, pueden hacer cosas diferentes. Por ejemplo, en sistemas que no usan X11 como OSX o Windows, el "*
El registro se utiliza para leer y escribir en el portapapeles del sistema. En los sistemas X11 se pueden utilizar ambos registros. Ver :help x11-selection
para más detalles, pero básicamente el "*
es análogo a X11 _PRIMARY_
selección (que normalmente copia las cosas que selecciona con el mouse y las pega con el botón central del mouse) y "+
es análogo a X11 _CLIPBOARD_
selección (que es el portapapeles propiamente dicho).
Si todo eso se le pasó por la cabeza, intente usar "*yy
o "+yy
para copiar una línea al portapapeles de su sistema. Suponiendo que tiene las opciones de compilación adecuadas, una u otra debería funcionar.
Es posible que desee reasignar esto a algo más conveniente para usted. Por ejemplo, podrías poner
vnoremap
en tus"*y ~/.vimrc
para que pueda seleccionar visualmente y presionar control+C para tirar al portapapeles de su sistema.
Tenga en cuenta que copiar/pegar desde el portapapeles del sistema no funcionará si :echo has('clipboard')
devuelve 0. En este caso, vim no está compilado con el +clipboard
característica y tendrá que instalar una versión diferente o volver a compilarla. Algunas distribuciones de Linux ofrecen una instalación mínima de vim por defecto, pero si Instala el vim-gtk
o vim-gtk3
paquete no obstante, puede obtener las características adicionales.
También es posible que desee echar un vistazo a la 'clipboard'
opción descrita en :help cb
. En este caso puedes :set clipboard=unnamed
o :set clipboard=unnamedplus
para hacer que todas las operaciones de extracción/eliminación se copien automáticamente en el portapapeles del sistema. Esto podría ser un inconveniente en algunos casos en los que está almacenando algo más en el portapapeles, ya que lo anulará.
Para pegar puedes usar "+p
o "*p
(nuevamente, dependiendo de su sistema y/o selección deseada) o puede asignarlos a otra cosa. Los escribo explícitamente, pero a menudo me encuentro en modo de inserción. Si está en el modo de inserción, aún puede pegarlos con la sangría adecuada usando
o
. Ver :help i_CTRL-R_CTRL-P
.
También vale la pena mencionar el de vim paste
opción (:help paste
). Esto pone a vim en un lugar especial. “modo pegar” eso deshabilita varias otras opciones, lo que le permite pegar fácilmente en vim usando el atajo de pegado familiar de su emulador de terminal o multiplexor. (Simplemente escriba :set paste
para habilitarlo, pegue su contenido y luego escriba :set nopaste
para deshabilitarlo.) Alternativamente, puede usar el pastetoggle
opción para establecer un código clave que alterna el modo (:help pastetoggle
).
Recomiendo usar registros en lugar de estas opciones, pero si aún dan demasiado miedo, esta puede ser una solución conveniente mientras perfecciona sus habilidades de vim.
Ver :help clipboard
para obtener información más detallada.
Puede copiar en vim mediante el atajo de gnome-terminal para pegar. Haga el archivo en modo de inserción y use
control+Cambio+v.
Recuerda de antemano a
:set paste
para evitar jugar con la sangría.
Creo que esta pregunta merece una respuesta más objetiva y gráfica:
Entrar en modo de pegado
- ESC
- :establecer pegar
- prensa I
- CAMBIO + Insertar (con un texto copiado en su portapapeles)
Salir del modo Pegar
- ESC
- :establecer sin pegar
- prensa I
Pegaste el texto y puedes volver a escribir.