Есть много причуд с терминалом WSL, но использование перекрестного копирования / вставки Vim в моей книге вызывает наибольшее раздражение. Ничто из того, что я пробовал по состоянию на апрель 2018 года, не работало для вставки в Vim или другие области (с использованием нормального здравого смысла), поэтому давайте пока попробуем обойти проблему и другие, связанные с буфером. Это не прямое решение WSL, а обходной путь, использующий лучший терминал + SSH, пока MS не предоставит исправление.
Putty или расширенная вилка Kitty предлагают более надежный терминал по сравнению с WSL. Мы можем подключиться к WSL (или любому другому вашему серверу), используя SSH через localhost, используя собственный порт, и получить более полнофункциональный терминал, включающий почти все возможности Vim для двунаправленного или собственного вставки, прокрутки и т.д. [Возможно, вам придется настроить Vim conf, чтобы активировать все возможности].
Для Putty/Kitty требуется SSH-сервер, доступный в WSL, на настраиваемом локальном порте. Если вы еще не настроили локальный SSH-сервер на WSL, вот краткий обзор того, как:
Шаг 1) Откройте терминал Ubuntu WSL, выполните sudo su
для аутентификации от имени пользователя root, запустите vim /etc/ssh/sshd_config
чтобы открыть conf сервера SSH.
Шаг 2) Ищите "Порт" рядом с первой горсткой линий. Может быть установлено до 22. Нам нужно установить собственный порт для нашего WSL SSH, который не конфликтует. Хит i
редактировать. Давайте использовать порт 9977 для примера.
Шаг 3) Если вы разработчик или вам не нужно беспокоиться о ключах для вашего SSH локального хоста, ищите аутентификацию по паролю. Вы можете установить PasswordAuthentication yes
. Иначе, ключи и более высокий уровень безопасности или открытый доступ через брандмауэр (ы) на WSL выходят за рамки этого ответа.
Шаг 4) Когда закончите редактирование, нажмите esc, чтобы выйти из режима редактирования, затем сохраните и выйдите из файла :wq
. Перезапустите службу ssh с помощью service ssh restart
. Оставьте WSL открытым на этом этапе в качестве главной консоли.
Шаг 5) Создайте новый сеанс Putty/Kitty, подключитесь к localhost, используя свой пользовательский порт (9977 в нашем примере). Войдите с вашими учетными данными WSL, sudo su
если вам нужен root. Теперь у вас должна быть гораздо более надежная оболочка. Повторите или screen
столько просмотров, сколько вам нужно.
Я знаю, что это не прямой ответ, но, по крайней мере, пока это решение :)