2012-01-06 17 views
61

Me encuentro con several problems porque las pestañas de vim son, por la falta de un término mejor, dios espantoso. Quiero comenzar a usar múltiples pestañas Gnome en su lugar, cada una con una instancia diferente de vim. Todo debería funcionar bien, sin embargo, solo el buffer del sistema + se puede usar para compartir texto. Esto hace que todos los comandos de dos pulsaciones de teclas más largas:¿Puedes usar el portapapeles del sistema de forma predeterminada?

yy convierte "+yy

yw convierte "+yw

d'k convierte "+d'k

Esto es especialmente así cuando se considera que un simplemente dé un tirón/pasta operación como tan

yyp

convierte

"+yy"+p

¿Hay alguna forma de indicar a vim que siempre use el portapapeles del sistema?

EDITARsee Here para obtener más información sobre cómo utilizar varias instancias de vim través de Gnome Terminal aquí

+2

el que votó para cerrar esto, ¿podría aclarar por qué piensa esta no es una buena pregunta. – puk

+0

¿Puede explicar por qué no le gustan las pestañas de vim? Además, algunas personas no recomiendan tener más de una instancia de vim: [One Vim ... solo one] (http: // vimeo .com/4446112) – mMontu

+0

@mMontu No quiero 1 bufer/tab, pero aún quiero poder agrupar mis buffers en diferentes pestañas. Vim no permite esto. Todos los buffers son globales. Lo discuto aquí http: // sta ckoverflow.com/questions/8756459/is-there-any-plugin-way-to-manage-multiple-projects-in-vim – puk

Respuesta

81

he encontrado una solución a mi problema here. Si añade lo siguiente a su archivo .vimrc

set clipboard=unnamedplus 

Todo lo que da un tirón en vim irá al registro sin nombre, y viceversa.

+2

Ya te di esta respuesta en una de tus preguntas anteriores. – romainl

+0

con un error tipográfico, en realidad. – romainl

+0

No te lo robé conscientemente. Tengo la inspiración para ir a buscar esta solución desde una solución similar que vi aquí http://stackoverflow.com/a/1372546/654789 – puk

2

solución posible:

"Ctrl-c to copy in + buffer from visual mode 
vmap <C-c> "+y 

"Ctrl-p to paste from the + register in cmd mode 
map <C-v> "+p 

"Ctrl-p to paste from the + register while editing 
imap <C-v> <esc><C-v> 
+2

Pensé en eso, pero necesitarías un nuevo atajo para 'yw',' y {',' y} ',' y% ',' D' ... – puk

+0

@puk, Definitivamente a la derecha :) –

+1

Encontré un teclado con suficientes botones http://rlv.zcache.com/piano_organ_keyboard_birthday_greeting_card-p137438190127093559zvjk9_400.jpg – puk

4

Por cierto, si lo que desea es utilizar nativa manejo de copiar/pegar de la terminal, sugieren el establecimiento de

:se mouse-=a 

y simplemente haga doble/rightclick como usted está acostumbrado en su terminal.

Dicho esto, me encantan las ventanas divididas de vim y el hecho de que puede usar el mouse para arrastrar divisores de ventanas/posicionar el cursor (herejía). Eso requiere mouse + = a ... (¡y también funcionará en sesiones ssh/screen!).

Estoy acostumbrado a hacer las cosas como esto en su lugar:

:%retab|%>|%y+|u 

y tienen órdenes como que en el recuerdo. Tenga en cuenta que el signo "+ registro está codificado en la línea de comandos. Para copiar la última selección visual en el portapapeles,

:*y+ 

o

:'<,`>y+ 
+0

puede por favor explicarlo un poco más detalle lo que ': se mouse- = a' hace. Personalmente no soy un gran admirador de las ventanas, prefiero los buffers. Buffers> windows >>> pestañas – puk

+0

@puk: he empezado a apreciar windows para diffmode + quickfix. Empecé a apreciar las pestañas para múltiples conjuntos de diferencias (p. ': tabedit a | vert diffsplit b'). Utilizo ': set guioptions = agim switchbuf = usetab'. Para eliminar la succión y lentitud de la interfaz de usuario – sehe

+0

después de haber hecho lo que sugiere durante mucho tiempo, recomiendo la respuesta de puk desde arriba: 'establecer el portapapeles = sin nombre [más]' – Milimetric

Cuestiones relacionadas