vim cortar y pegar no funciona en Stretch/Debian 9

vim cortar y pegar no funciona en Stretch/Debian 9

Se actualizaron aquí algunos servidores VM a Debian 9.

Ahora, cuando usamos ssh, no podemos copiar y pegar entre terminales remotos.

El cursor parece estar haciendo los movimientos y marcando el texto, aunque de una manera más divertida/diferente a la habitual, pero no se copia nada más que en el portapapeles al hacer comando-C/comando-V o copiar y pegar en el menú respectivo. .

También intentamos hacer los movimientos del mouse con Shift y otras combinaciones de teclado, sin resultados positivos.

Esto está sucediendo en OS/X, concretamente Sierra y El Capitan, y en Windows, utilizando también terminales mobaXterm.

La situación se debe a la conciencia de vim de tener un mouse.

Siguiendo otras preguntas en Stack Overflow, creé /etc/vim/vimrc.localcon set mouse="r"y set mouse="v; no funcionó bien.

Finalmente lo instalé set mouse=""en el mismo archivo, con cierto éxito moderado.

Sin embargo, tampoco funciona bien el 100% del tiempo. Qué más se puede hacer?

Respuesta1

Solución: cambie mouse=aa mouse=ren su local .vimrc.

El problema al configurar esto /usr/share/vim/vim80/defaults.vimcomo dice la respuesta aceptada es que se sobrescribirá en cada actualización. Busqué durante mucho tiempo y terminé en este: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864074

SOLUCIÓN LOCAL(defectuoso):
La primera solución es utilizar archivos .vimrc locales y configurarlos allí. Por lo tanto, podría crear un .vimrc ( ~/.vimrc) local para cada usuario y configurar sus opciones allí. O cree uno /etc/skelpara que se cree automáticamente para cada nuevo usuario que cree.

Pero cuando usas .vimrcarchivos locales, tienes que configurar todas las opciones allí, porque si hay un archivo local .vimrc, ¡ defaults.vimno se carga en absoluto! Y si no hay ningún archivo local, .vimrcse sobrescriben todas sus configuraciones defaults.vim.

SOLUCIÓN GLOBAL(preferible):
Quería una configuración global para todos los usuarios, que cargue las opciones predeterminadas y luego agregue o sobrescriba las predeterminadas con mi configuración personal.Afortunadamente, existe una opción para esto en Debian: se /etc/vim/vimrc.localcargará después del archivo /etc/vim/vimrc. Entonces puedes crear este archivo y cargar los valores predeterminados, evitando que se carguen nuevamente (al final) y luego agregar tus opciones personales:

Por favor cree el siguiente archivo:/etc/vim/vimrc.local

" This file loads the default vim options at the beginning and prevents
" that they are being loaded again later. All other options that will be set,
" are added, or overwrite the default settings. Add as many options as you
" whish at the end of this file.

" Load the defaults
source $VIMRUNTIME/defaults.vim

" Prevent the defaults from being loaded again later, if the user doesn't
" have a local vimrc (~/.vimrc)
let skip_defaults_vim = 1


" Set more options (overwrites settings from /usr/share/vim/vim80/defaults.vim)
" Add as many options as you whish

" Set the mouse mode to 'r'
if has('mouse')
  set mouse=r
endif

(Tenga en cuenta que el $VIMRUNTIMEfragmento utilizado en el fragmento anterior tiene un valor como /usr/share/vim/vim80/defaults.vim).

Si también desea habilitar el "comportamiento antiguo de copiar/pegar", agregue también las siguientes líneas al final de ese archivo:

" Toggle paste/nopaste automatically when copy/paste with right click in insert mode:
let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"

inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()

function! XTermPasteBegin()
  set pastetoggle=<Esc>[201~
  set paste
  return ""
endfunction

Respuesta2

Una forma de eliminar vim del conocimiento del mouse parece ser comentar la configuración del mouse.

En /usr/share/vim/vim80/defaults.vimcomenté la detección específica del mouse como en:

" In many terminal emulators the mouse works just fine.  By enabling it you
" can position the cursor, Visually select and scroll with the mouse.
"if has('mouse')
"  set mouse=r
"endif

(en esos archivos de configuración de vim, " está iniciando un comentario).

El cambio nos ha permitido volver a copiar y pegar sin problemas.

Estoy de acuerdo con los comentarios: esta no es la solución ideal, debido a que, de hecho, se sobrescribe en cualquier actualización a menos que el archivo de configuración esté protegido (o desviado). En su momento, y por particularidades ya sea de una versión del paquete o de la configuración de los servidores donde trabajaba, era el único que funcionaba. Como tal, dejo esta respuesta aquí, ysólo debe utilizarse como solución de último recurso.

Respuesta3

ElDocumentación de Vim para la mouseopción.dice

El manejo xterm de los botones del mouse aún se puede utilizar manteniendo presionada la tecla Mayús.

Respuesta4

Mucha gente lo sugirió :set mouse=a, pero descubrí que solo :set mouse=rpermite copiar y pegar en Vim en Debian 9. ¡Buena suerte!

información relacionada