una texto seleccionado palabra modo marcar lineas insercion copiar con comando buscar vim clipboard ubuntu-10.10

palabra - vim copiar texto seleccionado



gvim: copia fácil en el portapapeles del sistema (5)

Estoy usando gVim en Ubuntu 10.10. Quiero copiar (tirar) el texto al portapapeles del sistema, para que el texto copiado esté disponible en otras aplicaciones.

Esto funciona con "+y . Pero quiero que funcione con y .

He intentado asignar y a "+y pero entonces yy ya no funciona (ya que produce "+y"+y ).

También he intentado :set clipboard=unnamed pero esto solo funciona en la otra dirección: texto en el portapapeles del sistema que puedo pegar con p .


¿Intentaste mapear con este comando?

noremap y "+y

? Esta asignación contiene un grave error: asigna y en los modos normal, visual y pendiente del operador, mientras que solo necesita los modos normal y visual. Usa lo siguiente:

nnoremap y "+y vnoremap y "+y

También intente set clipboard=unnamedplus (requiere al menos vim-7.3.74). set clipboard=unnamed funciona en ambas direcciones, pero establece un registro de "mouse" ( * ) que es diferente del registro de portapapeles ( + ).


En mi caso, a veces puedo copiar desde gvim al portapapeles del sistema y otras veces no. Encontré una solución alternativa, aunque no entiendo el problema subyacente. Si copio texto en otra aplicación (por ejemplo, el Bloc de notas, como estoy en Windows 7), entonces puedo copiar texto de gvim y pegarlo en otro lugar. Parece que necesito hacer esto para cada copia de gvim.


Seleccione un texto en modo visual y se insertará en el portapapeles del sistema (el que hace clic con el botón central para pegar, no puedo recordar el nombre exacto).

Si set mouse=a puede usar el mouse para la selección visual como lo haría en muchas otras aplicaciones.


Tengo la misma idea que tú, pero lo hice durante años.

nnoremap yy yy"+yy vnoremap y ygv"+y

Tenga en cuenta que ahora el comando yy hace dos cosas: primero tira para registrarse normalmente, y luego tira para " registrarse (portapapeles del sistema). El comando y hace lo mismo. Esto se debe a que quiero mantener la funcionalidad de portapapeles múltiple de Vim .

Para pegar desde el portapapeles del sistema, solía tener noremap gp "+p (pegado global), pero ahora uso el excelente complemento Yankring.


Todo el mapeo del que hablaron fue simplemente mapear la copia y a "+ y. Pero la mayoría del tiempo, el problema es que incluso" + y no funciona.

Por lo tanto, debe verificar si cierto indicador está habilitado en su sistema en este momento.

  1. Abre tu terminal, ejecuta vim –version | grep xterm_clipboard vim –version | grep xterm_clipboard
  2. Verifique la marca antes de xterm_clipboard, si es un + (signo más), vaya al paso 4.
  3. Si es un - (signo menos), ejecute sudo apt-get install vim-gnome , luego sudo update-alternatives –config vim , seleccione vim.gnome en la lista. (Debe usar el comando adecuado que corresponde a su sistema) Ejecute el comando vim –version | grep xterm_clipboard vim –version | grep xterm_clipboard , ahora debería poder obtener + (signo más). De lo contrario, usa Google para ver qué está pasando ...
  4. Verifique si el portapapeles de su sistema usa el registro + (signo más) o * (signo de estrella) de vim, esto es diferente de un sistema operativo a otro, a veces son equivalentes. ¿Como revisar? Fácil, solo copie una cadena desde un sitio web, luego abra vim y escriba: reg, verifique qué registro almacena la cadena que acaba de copiar desde el portapapeles del sistema. (Se muestra + en mi máquina). Si es un + (signo más), agregue set clipboard=unnamedplus a su .vimrc. Si es un * (signo de estrella), agregue set portapapeles = sin nombre a su .vimrc.
  5. Pruébalo. Copie algo en su vim, y luego escriba :reg para verificar si el portapapeles del sistema ha cambiado. Si lo hace, obtendrás lo que esté en ese registro cuando estés haciendo Ctrl-V fuera de vim.