in

editor – ¿Cómo hacer que vim pegue (y copie) en el portapapeles del sistema?

apple touch icon@2

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 "* register 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 generalmente copia las cosas que selecciona con el mouse y las pega con el botón central del mouse) y "+ es análogo al de X11 _CLIPBOARD_ selección (que es el portapapeles propiamente dicho).

Si todo eso se te pasó por la cabeza, intenta 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 <C-c> "*y en tus ~/.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 se compila con el +clipboard característica y tendrá que instalar una versión diferente o volver a compilarla. Algunas distribuciones de Linux proporcionan una instalación mínima de vim de forma predeterminada, pero si Instala el vim-gtk o vim-gtk3 paquete no obstante, puede obtener las funciones 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 utilizando <C-r><C-p>* o <C-r><C-p>+. Ver :help i_CTRL-R_CTRL-P.

También vale la pena mencionar los de vim. paste opción (:help paste). Esto pone a vim en un especial «modo pegar» que deshabilita varias otras opciones, lo que le permite pegar fácilmente en vim utilizando el acceso directo 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 son demasiado atemorizantes, esta puede ser una solución conveniente mientras perfecciona sus habilidades vim.

Ver :help clipboard para obtener información más detallada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

gitlab

Tutorial de GitLab

3gVAHpkYx8beiskX9uQVga 1200 80

Star Wars Jedi Fallen Order: Cómo vencer al jefe final de la Segunda Hermana