Como se dijo en el título, no puedo copiar de vim al portapapeles del sistema. Viceversa funciona, copiar desde fuera vim y pegar con p
está bien.
He instalado soporte para portapapeles, la versión vim es 7.3.429:
$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
Yo tengo:
set clipboard=unnamedplus
en mi .vimrc
y se establece cuando hago:
set clipboard?
o
:echo has('clipboard')
Estoy usando Ubuntu 12.04 LTS y vim dentro gnome-terminal
(pero también GVim tiene el mismo problema). ¿Alguna idea?
Gracias
clipboard+=unnamedplus
algo en la configuración predeterminada que lo desactivaba. Cambiar aclipboard=unnamedplus
(por ejemplo, eliminar otras configuraciones) funcionó para mí.set clipboard+=unnamed
&set clipboard+=unnamedplus
no funciona mientras se usa y y p para compartir el portapapeles del sistema.:set clipboard?
==clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus
; Después de que eliminé el primero+
, que esset clipboard=unnamed
yset clipboard+=unnamedplus
, ¡y funciona!:set clipboard?
==clipboard=unnamed,unnamedplus
Respuestas:
Esto es lo que funciona para mí (Ubuntu 13.10):
Vuelva a instalar vim como vim-gtk:
seleccione lo que desee con el mouse y luego escriba para copiar al portapapeles :
pegar a vim desde el tipo de portapapeles :
No sé por qué, pero comparando el resultado de
vim --version
muestra que la instalación habitual de vim es bastante restringida en comparación con vim-gtk. Reemplazar vim con vim-gtk no afectó ningún tapón.Más información:
fuente
xterm_clipboard
soporte, pero"+p
no funcionan en VIM regular. En lugar de recortar en el portapapeles, aumenta la cantidad de líneas seleccionadas.vim-gtk
finalmente funcionó para mí en 14.04.4, pero experimenté las cosas un poco diferente a lo que otros comentaban. Antes de habervim-gtk
instalado, vim se mostraba-xterm_clipboard
(es decir, no habilitado). Después de instalarlovim-gtk
muestra (+ xterm_clipboard). Estoy comprobando esto convim --version | grep clip
. De todos modos, tiene sentido que lo necesites+xterm_clipboard
!Voy a dejar la respuesta original a continuación porque puede ser importante para otros que buscan esta pregunta.
En resumen, no parece haber una respuesta única para todos, pero con 'set clipboard = unnamedplus' uno de '* p' o '+ p' debería funcionar desde el portapapeles "system".
'* p' es casi seguro el que desea. ( desde aquí )
vim es un programa cli. Cuando se usa dentro de gnome-terminal (o cualquier emulador de terminal), crtl + c (o cualquier combinación de teclas) es manejado primero por el emulador de terminal, luego el shell, luego finalmente por el programa (vim en este caso). vim y ctrl + c casi nunca funcionarán porque ctrl + c envía una señal SIGINT a la tarea en ejecución. vim usa SIGINT para detener otras cosas como abortar el modo de inserción o detener las funciones de búsqueda.
En otras palabras. Ctrl + C nunca se pasa realmente a VIM. SIGINT se pasa a VIM. SIGINT tiene otros usos en vim, por lo que usarlo para copiar probablemente no funcionará (e incluso si puede forzarlo, no es una buena idea).
En su lugar, trate de seguir con Ctrl + Shift + C y Ctrl + Shift + V (hay otros, pero creo que esos ponen texto en el portapapeles del sistema)
Para ser justos, no sé mucho sobre gvim.
fuente
ctrl-c
OUTSIDE vim y pegando conp
, pero en vim sé que tengo que usary
...Use en su vimrc:
Le permitirá seleccionar y copiar manualmente con el mouse.
fuente
Además de la respuesta aceptada , si está trabajando de forma remota a través de SSH (por ejemplo,
tmux
con varios paneles con diferentesvim
procesos entre los que desea copiar), también debe exportar su pantalla X, ya que sevim
está utilizandoxterm-clipboard
para interactuar entre diferentes procesos. Puede configurar la pantalla X ejecutandoEsto debe ejecutarse antes de que
vim
se inicie, y bajo cualquier otro shell que tenga.fuente
He encontrado en Ubuntu 16.04 que necesito
vim-gui-common
instalar para"+y
poder trabajar.fuente