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 dereact-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 aroot: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