Cómo copiar líneas seleccionadas al portapapeles en vim. Sé cómo hacerlo para todos los archivos de texto , pero quiero hacerlo para las líneas seleccionadas. ¡Gracias!
85
Cómo copiar líneas seleccionadas al portapapeles en vim. Sé cómo hacerlo para todos los archivos de texto , pero quiero hacerlo para las líneas seleccionadas. ¡Gracias!
Respuestas:
SHIFTVte pone en modo de seleccionar líneas. Luego "*ytira de las líneas actualmente seleccionadas al
*
registro que es el portapapeles. Hay bastantes registros diferentes, para diferentes propósitos. Consulte la sección sobreselection and drop registers
para obtener detalles sobre las diferencias entre los registros*
y+
en Windows y Linux.fuente
Si está en Linux y está usando una versión de VIm 7.3.74 o superior (la versión que se instala en Ubuntu 11.10 en adelante lo cumple), puede hacerlo
set clipboard=unnamedplus
que colocará el texto extraído en el portapapeles global y le permitirá pegar desde el portapapeles global, sin tener que utilizar ningún registro especial. A diferencia de la solución de ldigas, esto también funcionará en versiones sin interfaz gráfica de usuario de VIm.
fuente
vim-gnome
paquete en lugar devim
.vim --version | grep "+xterm_clipboard"
.clipboard=unnamed
en su lugar ( vim.wikia.com/wiki/Accessing_the_system_clipboard )Will, ... uhmm, en resumen, cada vez que seleccione / tire de algo, colóquelo en el portapapeles también (no en Vim, sino en el teclado global del sistema de ventanas). De esa manera, no tendrá que pensar en guardar cosas en un registro especial.
fuente
Para GVIM, presione
v
para entrar en modo visual; seleccione el texto y presioneCtrl+Insert
para copiar la selección en el portapapeles global.En el menú puede ver que la tecla de método abreviado es, por
"+y
ejemplo, mantener presionada la tecla Shift, luego presionar"
, luego+
y luego soltar Shift y presionary
(engorroso en comparación con Shift + Insert).fuente
Si está utilizando vim en MAC OSX, desafortunadamente viene con una versión anterior y no cumple con las opciones del portapapeles. Afortunadamente, el homebrew puede resolver este problema fácilmente.
instalar vim:
brew install vim --with-lua --with-override-system-vim
instalar la versión de interfaz gráfica de usuario de vim:
brew install macvim --with-lua --with-override-system-vim
reinicie el terminal para que surta efecto.
agregue la siguiente línea a ~ / .vimrc
set clipboard=unnamed
ahora puede copiar la línea en vim con
yy
y pegarla en todo el sistema.fuente
Instale "xclip" si no lo ha hecho ...
sudo apt-get install xclip
Xclip coloca los datos en el portapapeles "selección / resaltado" en el que hace clic con el botón central para pegar en lugar de "ctrl + v"
Mientras está en vim, use los comandos ex:
o
o
Luego, haga clic con el botón central para pegar en cualquier otra aplicación ...
fuente
Si vim está compilado con soporte para portapapeles, entonces puede usar el
"*y
significado: coloque el texto seleccionado visualmente en el registro*
('*' es para el portapapeles)Si no hay soporte para el portapapeles, creo que la única forma es usarlo
Ctrl+Insert
después de seleccionar visualmente el texto en vim.fuente
He agregado la siguiente línea a mi
.vimrc
Esto le permite copiar el texto seleccionado al portapapeles presionando
F5
. Debe estar en modo visual para que esto funcione.fuente
~/.vimrc
Gracias, esto es mucho mejor.Agrega el siguiente código en tu
.vimrc
:fuente