vim tmux macos-sierra neovim

Error en el portapapeles en tmux+vim después de actualizar a MacOS Sierra



macos-sierra neovim (3)

Esto parece ser una regresión en macOS Sierra. Una solución que funcionó para mí ha sido mencionada por Josh McGinnis https://github.com/tmux/tmux/issues/543 :

brew install reattach-to-user-namespace

Asegúrese de que se establece lo siguiente en .tmux.conf:

set -g default-shell $SHELL set -g default-command "reattach-to-user-namespace -l ${SHELL}"

En .vimrc o ~ / .config / nvim / init.vim (para Neovim):

set clipboard=unnamed

Ahora todo está bien y puedo copiar / pegar entre sesiones del sistema <-> vim usando vim keybindings y / o sistema ctrl + c / ctrl + p.

Ayer, actualicé a MacOS Sierra y rompió la funcionalidad de mi portapapeles en mi configuración de tmux + neovim.

Aquí está el comportamiento:

  • Puedo usar el estándar ctrl + c, ctrl + p para copiar / pegar entre el sistema <-> vim
  • Puedo arrastrar y pegar entre dos instancias de VIM cuando NO estoy en una sesión de tmux
  • No puedo arrastrar / pegar entre dos instancias de VIM cuando estoy en una sesión de tmux

Cada vez que uso el portapapeles en vim dentro de una sesión de tmux, aparece el siguiente error de vim:

clipboard: error:

Mi .vimrc es enorme, pero esto es lo que creo que podría ser relevante:

set clipboard=unnamed

En mi .tmux.conf (también truncado por brevedad):

set -g prefix ` # use tilde key as prefix bind ` send-key ` # insert tilde by pressing twice set -g history-limit 100000 # set buffer size set -s escape-time 0 # fix escape key in vim set -g allow-rename off # keep window names static set -g default-terminal "screen-256color" # set the TERM to 256 colors set -g base-index 1 # start window count at 1 set -g pane-base-index 1 # start pane count at 1 set -g default-shell $SHELL # use zsh as shell

EDITAR : Esto parece estar relacionado con el error informado aquí:

https://github.com/tmux/tmux/issues/543

https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/53


La actualización de brew + vim + tmux me solucionó esto:

brew update brew upgrade vim brew upgrade tmux

Notas:

  • No estoy usando Neovim pero espero que esto ayude de todos modos
  • Esto puede tomar un tiempo dependiendo de qué tan lenta es su máquina
  • Cuando hice esto, me actualicé ruby ​​y se quejó de que no sobrescribiría los enlaces simbólicos existentes, así que tuve que ejecutarlo manualmente: brew link --overwrite ruby
  • Tmux se quejó de la siguiente configuración después de la actualización. Acabo de comentarlo: # set-option -g status-utf8 on
  • Recibí una advertencia sobre la necesidad de las nuevas herramientas de xcode, así que ejecuté lo siguiente y acepté las indicaciones de la GUI: xcode-select --install (En retrospectiva, esto puede estropear mi instalación de react-native : /. Atención del comprador)
  • La primera vez que brew update brew se quejó de que no tenía acceso de escritura a /usr/local así que me hice propietario de /usr/local NON-RECURSIVE . Después de la actualización, me dijeron que podía cambiar el propietario a root:wheel .

Vi lo mismo al actualizar a Sierra. En mi caso, se derivó de tener instalado el plugin YankRing.

Agregando lo siguiente a mi .vimrc lo solucionó por mí:

"------------------------------------------------------------- " Fix for YankRing bug "------------------------------------------------------------- let g:yankring_clipboard_monitor=0