Надежное решение, которое работает с любой комбинацией mosh + tmux + vim + вложенных сеансов.
Потратив много дней на решение этой проблемы, на сегодняшний день самым надежным решением, которое я обнаружил, является опубликованное решение Сураджа Н. Курапати . Решение работает локально с (и без) tmux v3.2 и / или vim, а также удаленно с (и без) tmux и / или vim , используя как клавиши режима копирования, так и простой выбор мышью.
Если в сочетании с ( в настоящее время открыт) Майк Гулик по запросу тянуть все эти комбинации работают с Mosh , а также.
Пока решение Майка не будет объединено в mosh, вы можете вытащить его изменения и построить локально, используя:
Ubuntu:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 \
&& sudo apt-add-repository https://cli.github.com/packages \
&& sudo apt update \
&& sudo apt install -y gh autoconf automake perl protobuf-compiler libprotobuf-dev libncurses-dev zlib1g-dev libutempter-dev libssl-dev pkg-config \
&& mkdir -p ~/tmp/mosh \
&& git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \
&& cd ~/tmp/mosh \
&& gh pr checkout 1104 \
&& ./autogen.sh \
&& ./configure \
&& make \
&& sudo make install
macOS:
Я думаю, вам нужно сначала установить инструменты командной строки Apple Xcode / Developer (которые, IIRC, теперь можно сделать, просто запустив gcc
и выйдя), а затем запустив:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" \
&& brew install gh autoconf automake
&& mkdir -p ~/tmp/mosh \
&& git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \
&& cd ~/tmp/mosh \
&& gh pr checkout 1104 \
&& ./autogen.sh \
&& ./configure \
&& make \
&& sudo make install
Благодаря этим обновлениям, наконец, стал святым Граалем буфера обмена!
Однако это очень новая информация, поэтому этот мой пост довольно изменчив. Следовательно:
Пожалуйста, исправьте мой пост, если:
- Мне не хватает зависимостей и т. Д. Или
- Выполнение некоторых
gh pr checkout 1104
изменений Майка больше не требуется, потому что они были объединены в mosh, или
- Сборка из исходного кода больше не требуется, потому что объединенные изменения были переданы менеджерам пакетов brew / apt / etc.