Puedo capturar un archivo, copiar y pegar texto con el botón central o shift-insert.
¿Cómo puedo copiar texto en vim y pegarlo desde el portapapeles del sistema?
:!sed -n 5,10p %
:!cat %
Puedo capturar un archivo, copiar y pegar texto con el botón central o shift-insert.
¿Cómo puedo copiar texto en vim y pegarlo desde el portapapeles del sistema?
:!sed -n 5,10p %
:!cat %
Respuestas:
Es necesario tener Vim con el clipboardy xtermclipboardcaracterísticas compilado. En Ubuntu, éstos sólo están disponibles con los paquetes de interfaz gráfica de usuario (vim vim-gnome, vim-gtk, vim-athena, etc.).
Una vez que instales uno de estos, puedes copiar (y pegar desde) los registros del portapapeles ( *y +). De esta publicación muy informativa sobre Vi y Vim :
Para los sistemas basados en X11 (es decir, Linux y la mayoría de los sistemas similares a UNIX ) hay 2 portapapeles, que son independientes entre sí:
- PRIMARIO: se trata de copiar al seleccionar y se puede pegar con el botón central del mouse.
- CLIPBOARD: se copia con (generalmente)
^Cy se pega con^V(es como MS Windows).
Vim tiene 2 registros especiales correspondientes a estos portapapeles:
*utiliza PRIMARIO; mnemónico: s tar es s elect (para copy-on- s elect)+usa el CLIPBOARD; mnemónico: CTRL + C (para la combinación de teclas común)
Para copiar a un registro, debe preceder el comando de copia ( y) con "y el nombre del registro ( *por ejemplo). "*y, A continuación, el botón del medio para pegar, o "+yy ShiftInsertpegar.
Una solución bastante interesante proviene de esta pregunta. Instale xclip, luego canalice la salida de un comando a xclip ( cat file | xclip -selection clipboardpor ejemplo) y luego péguelo en cualquier lugar (si está en la terminal, úselo Ctrl ShiftV
). Ahora, resulta que puedes acortar ese comando xclip -sel clip, lo que no es exactamente aparente al leer la página del manual o los ejemplos allí.
/dev, pero el texto todavía está en alguna parte, ¿verdad?
Tuve un problema porque mi vim no era compatible con el portapapeles :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Instalé vim-gnome (que admite el portapapeles) y luego verifiqué nuevamente:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Ahora puedo copiar y pegar usando "+ y y" + p respectivamente.
sed -n5,10ppara imprimir líneas 5-10 para poder copiar y pegar más fácilmente sin que reaccione con el mouse.