Клавиши курсора не работают в vim при запуске zsh на wsl через cmder или conemu
Я использую 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
и для баш
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pm:/mnt
В программе для bash используется программа conemu-cyg-64.exe, которая поставляется из conemu и представляет собой симфонию pty с поддержкой POSIX и полнофункционального терминала WinAPI.
Видимо, вы можете использовать этот инструмент с 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 ответ
Большое спасибо @Maximus за то, что он указал мне правильное направление. Ответ был прямо у меня под носом на странице Windows Conemu. Небольшое изменение в команде, которую я использовал раньше. Zsh должен идти в конце, а не до --wsl.
Правильная задача, чтобы гарантировать, что клавиши курсора работают во всех приложениях в терминале:
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pnm:/mnt -t zsh -l