Клавиши курсора не работают в vim при запуске zsh на wsl через cmder или conemu - PullRequest
0 голосов
/ 02 декабря 2018

Я использую Ubuntu 1804 для Windows, используя WSL.Все настроено нормально и работает правильно.Я также установил ZSH и oh-my-zsh, опять же, все это хорошо, и все выглядит так, как будто работает нормально.Все, кроме клавиш со стрелками при использовании страниц vim или man или других инструментов командной строки.

Клавиши «вверх» и «вниз» работают в командной строке при прокрутке истории, а также для команд выбора, таких как nano.Также, если я загружаюсь в bash, а не в zsh, клавиши со стрелками работают на страницах vim и man, фактически они работают везде.

Если я загружаюсь в bash, то переключаю на zsh в командной строке вручную клавиши со стрелкамизатем работать везде.

Так что мой конфиг cmder для zsh

c:/_distros/ubuntu1804/ubuntu1804.exe -c zsh -cur_console:pm

и для bash

set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pm:/mnt

В bash используется conemu-cyg-64.exeпрограмма, которая приходит из conemu , которая является символом Pty PIX и полнофункционального терминала WinAPI с поддержкой POSIX.

Очевидно, вы можете использовать этот инструмент с Zsh, но я не могу заставить его работать, я получаюошибка

{PID:10592} failed to run shell (2): No such file or directory
{PID:10592} shell: `/usr/bin/zsh` `-l` `-i`
{PID:10592}   dir: `/cygdrive/c/Program Files/cmder`
ConEmuC: Root process was alive less than 10 sec, ExitCode=0.
Press Enter or Esc to close console...

и это задача в cmder

set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe /usr/bin/zsh -l -i -cur_console:pm:/mnt

Так что я думаю, что если я могу загрузиться в zsh, используя conemu-cyg-64, то клавиши курсора, вероятно, будут работатьв таких командах, как vim и man-страницы.Любая помощь или совет по получению этой работы были бы блестящими.

РЕДАКТИРОВАТЬ: На моем Ubuntu установка zsh установлена ​​в / usr / bin / zsh, но нет файла или папки / cygdrive / c / Program Files / cmder

1 Ответ

0 голосов
/ 04 декабря 2018

Большое спасибо @Maximus за то, что он указал мне правильное направление.Ответ был прямо у меня под носом на bash на странице окон conemu .Небольшое изменение в команде, которую я использовал раньше.zsh должен идти в конце, а не перед --wsl.

Правильная задача для обеспечения работы клавиш курсора на всех приложениях в терминале:

set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pnm:/mnt -t zsh -l
...