Estoy tratando de copiar y pegar un texto de vim. Estoy haciendo v para ingresar al modo visual, luego y una vez que seleccioné mi bloque.
Parece copiar el texto en el portapapeles de vim, porque p lo pegará. Pero en otro programa (por ejemplo, Chrome), hacer clic con el botón derecho-> pegar no pega el texto correcto. ¿Cómo copio texto al portapapeles correcto?
shift'
yshift=
luegoy
(no todas a la vez, una tras otra, excepto los turnos, por supuesto).Si está utilizando vim> = 7.3.74, puede poner esto en su vimrc:
Que utilizará automáticamente el
+
búfer (el portapapeles del sistema) de forma predeterminada. Luego, para tirar (copiar), solo usa ely
comando regular , etc.Sin embargo, encontré que este comportamiento es bastante molesto, ya que los comandos como
d
poner el texto en el que operan en el búfer predeterminado, lo que significaba que no podía hacerlo rápidodd
y pegar una línea desde Internet, por ejemplo.fuente
dd
significa "cortar una línea", por lo que ese sería el comportamiento esperado. En el raro caso en que desee eliminar realmente una línea en el olvido,"_dd
hará el truco.vim --version
indica que tiene una+xterm_clipboard
función. De lo contrario, deberá instalar paquetes adicionales o volver a compilar vim con esa característica agregada.Mantenga presionada la tecla Mayús y seleccione texto con el cursor del mouse.
El texto se copiará en el portapapeles.
Esto también funciona para pegar desde el portapapeles a vim.
Para que quede claro, esto funciona para
vim
ejecutarse en un terminal comoxterm
.fuente
xterm
.set nu
esté habilitado. Por lo tanto, es probable que desee alternar los números de línea con algún atajo o ejecutar el:set nonu
comando antes de cada selecciónEl estándar
"+gP
y los"+y
comandos me parecen muy difíciles de usar. Así que me he reasignadoCtrl-Y
para tirar en el portapapeles yCtrl-P
pegar desde el portapapeles. Agregue esto a.vimrc
fuente
No importa, encontré la respuesta: está escrita en los menús de vim.
Muy intuitivo
fuente
gvim
?+xterm_clipboard
función).Solo para agregar una respuesta no específica de vim: puede usar
Ctrl+Shift+C
para copiar en el portapapeles del sistema en Ubuntu (si la funcionalidad es proporcionada por su emulador de terminal, gnome-terminal para uno lo proporciona).Ctrl+Shift+V
pega a otra ventana de terminal,Ctrl+V
pega regularmente a una aplicación GUI.Además, si selecciona el texto en el terminal, luego hace clic con el botón central, se pegará desde el portapapeles X11.
fuente
De manera predeterminada, si instala la versión ligera de vim, no tendrá la
+xterm_clipboard
función on (vim --version | grep xterm
), que es necesaria para usar los registros*
y+
fuera de vim.Para habilitarlo, debe compilar vim usted mismo o instalar una versión de vim que viene con él habilitado previamente. Solía vim-gnome:
sudo apt-get install vim-gnome
. Si realizavim --version | grep xterm
, verá que es ahora+xterm_clipboard
.Ahora, trata de copiar a la
+
e*
y debería funcionar.fuente
Cuando verifiqué que mi vim no era compatible con el portapapeles:
Instalé vim-gnome y luego verifiqué nuevamente
Ahora puedo copiar y pegar usando "+ y y" + p respectivamente.
fuente
Mantenga presionada la tecla MAYÚS y seleccione el texto del mouse para copiarlo.
Luego pegue en otro programa con
CTRL + v
.Funciona en terminal en mi Ubuntu 16.04. No estoy seguro acerca de
gvim
y otros sistemas.fuente
Solo para agregar, si algo funciona, intente cambiar el terminal que envuelve vim (si está usando vim desde el terminal). Descubrí que, por ejemplo, el portapapeles es inaccesible por guake mientras se puede acceder desde gnome-terminal.
fuente