macos vim clipboard

macos - Vim: copiar selección al portapapeles OS X



clipboard (25)

¿La copia al portapapeles utilizando el registro ''+'' o ''*'' no funciona?

Motivo: su versión particular de vim se compiló sin el soporte del portapapeles. Escriba vim --verion en la consola y verá -xterm_clipboard . Instalar vim con paquetes gui resuelve este problema. En ubuntu puedes hacer esto escribiendo en shell:

sudo apt-get install vim-gui-common

Ahora nuevamente vim --version en consola. Probablemente, estarías viendo + xterm_clipboard ahora !!

Entonces, ahora puede copiar cualquier cosa al portapapeles usando el registro + (como "+ yy para copiar la línea actual al portapapeles)

Digamos que tienes un área seleccionada en vim. ¿Cómo puedes copiarlo en el portapapeles de OS X?

(Sugerencia: el portapapeles de OS X se puede escribir a través de canalización a /usr/bin/pbcopy )


Acabo de probar el

map <C-x> :!pbcopy<CR> vmap <C-c> :w !pbcopy<CR><CR>

Funcionó muy bien.


Actualmente estoy en OS X 10.9 y mis esfuerzos para compilar vim con + xterm_clipboard no me aportaron nada. Así que mi solución actual es usar MacVim en modo terminal con la opción set clipboard=unnamed en mi archivo ~ / .vimrc. Funciona perfecto para mi.


Command-c funciona para mí tanto en MacVim como en la terminal.



En macos 10.8, vim se compila con -clipboard modo que se use "*y tendrá que volver a compilarlo. Afortunadamente, brew install vim compilaría una nueva versión fácilmente para usted y será +clipboard .



Lo que funcionó para mí en mi .vimrc

set clipboard=unnamed if has("unnamedplus") " X11 support set clipboard+=unnamedplus endif


Me encuentro con el mismo problema, después de instalar macvim todavía no funciona, finalmente encontré una manera de resolver:

Trate de desinstalar todos los vim primero,

brew uninstall macvim

brew uninstall --force vim

y reinstalar macvim

brew install macvim --with-override-system-vim

Luego puede usar "*y o "+y , no tiene que set clipboard=unnamed


Mi principal problema fue la versión osx predeterminada de VIM. Instalarlo a través de homebrew agregado +clipboard a la compilación.

Comprueba con

vim --version

si dice -clipboard o +clipboard


Para MacVim y Windows Gvim, simplemente agregue lo siguiente a su ~/.vimrc :

set clipboard=unnamed

Ahora todas las operaciones como yy , D y P funcionan con el portapapeles. No es necesario prefijarlos con "* o "+ .


Para los usuarios de Ubuntu, el paquete que desea recuperar para usar el portapapeles está completamente lleno. Los otros paquetes (vim-tiny, vim) no incluyen la función de portapapeles.


Puede seleccionar el texto visualmente y escribir :w !pbcopy<CR>

O puede incluir las siguientes asignaciones de teclas en su archivo ~/.vimrc . Cortan / copian texto en modo visual al portapapeles del sistema operativo.

vmap <C-x> :!pbcopy<CR> vmap <C-c> :w !pbcopy<CR><CR>

fuente: http://drydevelopment.com/blog/vim-pbcopy-on-os-x


Puede usar MacVim cuando está en una Mac para acceder fácilmente al portapapeles utilizando las teclas estándar del sistema operativo.

También es totalmente compatible con Vim normal, por lo que ni siquiera tengo que tener un .vimrc separado.


Seleccione visualmente el texto y escriba:

ggVG !tee >(pbcopy)

Que me parece mejor que:

ggVG :w !pbcopy

Ya que no muestra una advertencia: "Presione ENTER o escriba el comando para continuar"


Si el portapapeles está habilitado, puede copiar una región seleccionada al portapapeles presionando "*y

Para ver si está habilitado, ejecute vim --version y busque +clipboard o -clipboard . Por ejemplo, no está habilitado de forma predeterminada en mi caja 10.5.6:

% which vim /usr/bin/vim % vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 11 2008 17:20:43) Included patches: 1-22 Compiled by [email protected] Normal version without GUI. Features included (+) or not (-): ... -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments ...

Si se hubiera compilado con +clipboard , podría usar el registro "* para acceder al portapapeles del sistema.

Descargué la fuente 7.2 y la compilé (tan fácil como tar xjf vim-7.2.tar.bz && cd vim72 && ./configure && make && sudo make install ), y el portapapeles estaba habilitado:

% which vim /usr/local/bin/vim % vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 24 2009 17:31:52) Compiled by [email protected] Normal version with GTK2 GUI. Features included (+) or not (-): ... +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments ...

Sin embargo, incluso después de compilar, no pude copiar en el portapapeles cuando ejecuté vim en Terminal.app, solo en X11.app.


Si está utilizando MacPorts, puede actualizar su VIM para incluir soporte de portapapeles a través de:

puerto instalar vim + x + x11

Ahora usa "+ register" para jalar su texto directamente al portapapeles de su Mac. Funciona como un encanto.


Si estás en MacOS X:

$ brew install vim $ vim --version VIM - Vi IMproved 7.4 [...]

Luego, agregue a su .vimrc:

set clipboard=unnamed

Ahora solo necesitas estar en vim y hacer :%y , para que todo el contenido se copie en tu portapapeles.


Si su vim no está compilado con portapapeles, desea copiar texto seleccionado en lugar de líneas completas, no desea instalar macvim u otra GUI, la solución más simple es agregar esta línea a su .vimrc:

map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>

Para usarlo, simplemente seleccione visualmente el texto que desea copiar, y luego presione Control-C. Si quieres una explicación completa de esta línea, lee aquí.


Use Homebrew''s : brew install vim

Mac (a partir de 10.10.3 Yosemite) viene preinstalado con un sistema vim que no tiene habilitada la bandera del clipboard .

Puedes compilar vim por ti mismo y habilitar esa bandera, o simplemente usar vim de Homebrew que está configurado correctamente.

Para ver esto por ti mismo, revisa el sistema de valores vim con /usr/bin/vim --version

Verás algo como:

$ /usr/bin/vim --version VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 5 2014 21:00:28) Compiled by [email protected] Normal version without GUI. Features included (+) or not (-): ... -clientserver -clipboard +cmdline_compl ...

Tenga en cuenta el -clipboard

Con el vim de homebrew, obtienes

$ /usr/local/bin/vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May 10 2015 14:04:42) MacOS X (unix) version Included patches: 1-712 Compiled by Homebrew Huge version without GUI. Features included (+) or not (-): ... +clipboard ...

Tenga en cuenta el +clipboard


comando-c? Esto al menos funciona para el vim lanzado desde Terminal.app para el texto seleccionado con el mouse.


doble comillas asterisco ( " * ) antes de que cualquier comando de yank tire de los resultados al búfer de copia. Eso también funciona para Windows y Linux.


en mac cuando algo parece funcionar, seleccione con el mouse, haga clic derecho para elegir copiar. uff


si tiene la opción + portapapeles en su instalación VIM (puede verificar con: versión) y está en modo visual, puede hacer "+ y Esto llevará la selección al búfer + que es el portapapeles.

He agregado los siguientes mapas a mi vimrc y funciona bien.

vmap y "+ y Con esto puedo hacer la tecla de líder, seguida por y para copiar al portapapeles en modo visual

nmap p "+ p Con esto puedo hacer la tecla de líder y luego p para pegar desde el portapapeles en modo normal.

PD: En Ubuntu tuve que instalar vim-gtk para obtener la opción + portapapeles.


Fakeclip implementa los buffers + y * si no son compatibles de forma nativa.