Intenté copiar y pegar algo de vim a otra aplicación y también, desde esa aplicación hasta vim
hacer clic derecho con el mouse y luego copiar y pegar (o con Ctrl+ vy Ctrl+ cy también probé la Commandversión para Mac OSX, obviamente). Sin embargo, cuando intento hacerlo, solo copia la primera palabra cuando lo hago vim
o cuando copio desde la aplicación vim
, copia todo, pero inserta pestañas y espacios extraños. Creo que esto sucedió cuando decidí encender mi mouse en la terminal. Como en:
:set mouse=a
Tengo esa línea en mi .vimrc
archivo en iTerm (mac os x). Sin embargo, ¿es posible hacer que mi copia pegue con otras aplicaciones que no vim
se rompen con el mouse=a
encendido? ¿O al menos es posible apagar mi mouse mientras hago la copia y pego? Hice :help
mouse pero los comentarios no me fueron útiles. Los pegaría aquí pero ... ¡mi herramienta de copiar y pegar está rota!
Intenté :set mouse!
y :set mouse=a!
estos no hicieron nada útil ... :(
Información adicional de mi entorno:
También uso tmux la mayor parte del tiempo, aunque probé este error / error sin una sesión tmux, por eso publiqué esto principalmente como una pregunta vim.
vim
es capaz de tirar de la Selección Primaria muy bien usando ely
verbo. No sé por qué no usarías eso.Respuestas:
mouse=a
evita la capacidad de copiar y pegar de vim con caracteres legibles.Cambie
mouse=a
amouse=r
y eso debería solucionar su problema con eso.Una cosa que me pregunto es, ¿está cambiando el archivo de configuración para su vim con el mouse configurado como mouse = a?
respuesta original ^
Si
mouse=r
no le da todas las opciones de copiar pasado cámbielo amouse=v
Tanto
mouse=r
ymouse=v
tienen las mismas funciones que están necesitando, pero dependiendo de la vimrc que está utilizando uno funcionará mejor que el otro.fuente
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
Quiere decir si tengo:mouse=a
en mi archivo .vimrc? Tengo:mouse=a
en mi archivo .vimrc.--with-x=yes
? No necesito poner:set --with-x=yes mouse=a
o algo? ¿Podrías aclarar a qué te refieres?--with-x=yes
aset mouse=a
. Cuando estaba leyendo todo lo que vi fue que estaba solo en el archivo de configuración. Pero podría ser diferente, así que quiero asegurarme de decirle lo correcto que funcionará para usted.Para usuarios de OS X: copiar y pegar con el
mouse=a
uso en altlugar de seleccionar Shiftel texto. Entonces cmd-cy cmd-vtrabaje como se esperaba.Encontré esta respuesta aquí https://stackoverflow.com/a/4608387/671639 después de mucho googlear.
fuente
Desde https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Presione la tecla 'shift' mientras selecciona con el mouse. Esto hará que la selección del mouse se comporte como si mouse = a no estuviera habilitado.
Esto funciona y ha sido verificado por los revisores de stack-overflow que han aceptado esto como respuesta :)
fuente
La solución de Bharath , presionar Shiftmientras se copia, lo hará, pero copiará más de lo que le gustaría copiar en caso de numeración o comentarios hash.
Una forma de hacerlo incluso con mouse = a es usar el modo visual presionando Vpara un solo cursor o Shift+ Vpara resaltar la línea completa, y puede moverse hacia arriba o hacia abajo con flechas y usar Ypara copiar o Dcortar y eso debería funcionar.
fuente
Tuve el mismo problema: no podía resaltar el uso del mouse, por lo que no podía copiar y pegar desde VIM en una sesión de terminal en el documento y navegador de Windows: hizo lo siguiente y ahora funciona:
fuente
Consulte: http://vimdoc.sourceforge.net/htmldoc/options.html
Mire la sección de notas en la parte inferior de la referencia:
al habilitar el mouse, los botones del mouse aún se pueden usar manteniendo presionada la tecla Mayús. Esto incluye copiar y pegar usando los botones del mouse.
fuente
En cuanto a la segunda parte de su pregunta, ¿dónde especificó que al pegar desde otras aplicaciones a vim agrega pestañas / espacios? Intente agregar esto a su ~ / .vimrc set paste o en vim antes de pegar en modo normal, presione "shift" + ":" y escriba "set paste"
fuente
Puede usar ypara copiar (tirar) y ppegar incluso con la
:set mouse=a
configuración~/.vimrc
. Use v+arrow keys
para resaltar el texto. Para copiar una línea completa rápidamente, use shift+ y.fuente
En mi Mac, lo que ayudó fueron esas dos cosas:
fuente
Use estas dos líneas a continuación en su
~/.vimrc
para usar todas las características agradables de aygui-mouse
péguelo en el portapapeles del sistema usandoy
(tecla de extracción) si realmente no necesita ningún buffer adicional del portapapeles:fuente