A partir del mensaje de error (Nothing in register *
), parece que cuando hace un simple ?p
, su instancia de Vim está utilizando el *
register en lugar del unnamed register*. Esto es probablemente porque su clipboard
option incluye el valor unnamed
. Cuando se configura de esta manera, Vim usará el registro *
en lugar del registro sin nombre para operaciones de yank, delete, change y put por defecto (es decir, a menos que especifique otro registro con un prefijo "
; por ejemplo, "ap
para poner desde el registro a
).
* El registro sin nombre se llama en realidad "
(comillas dobles). Solo es "sin nombre" en el sentido de que no tiene que nombrarlo para usarlo (es el valor predeterminado). Es decir. no tiene que decir ""p
para poner desde el registro sin nombre, solo p
.
El valor predeterminado de clipboard
no contiene unnamed
, por lo que probablemente provenga de un poco de su configuración (o un complemento). El comando :verbose set clipboard?
le mostrará el script que establece el valor actual. Si esto se hace en su archivo de configuración, es posible que no desee hacerlo cuando se está ejecutando bajo tmux. Por ejemplo:
if $TMUX == ''
set clipboard+=unnamed
endif
Alternativamente, puede haber alguna manera de que los casos de Vim-dentro- acceso tmux la selección GUI/portapapeles (por lo tanto trabajar con el registro *
y/o unnamed
en clipboard
). Si está ejecutando Mac OS X, puede consultar my workaround wrapper que vuelve a habilitar el acceso al portapapeles para los procesos que se ejecutan dentro de una sesión tmux. Si está utilizando algún otro sistema operativo o GUI, necesitará averiguar cómo Vim normalmente hablaría con la GUI y por qué no funciona (por ejemplo, el valor de PANTALLA incorrecto en X11, posiblemente debido a la conexión a una sesión anterior que se está ejecutando). un shell que tiene un valor desactualizado).
¿Podría mostrar su tmux.conf? – Conner