Я просто наткнулся на странную проблему. Когда я SSH в мой сервер (песни, zsh) и я ввожу некоторый материал и поражаю клавишу Backspace, Это похоже на пространство - но внутренне это действительно удалило символы.
ls -l a
Обратите внимание что пространство между l
и a
на самом деле, когда я поразил клавишу Backspace. Когда я теперь поразил возврат ls -a
выполняется. Это находится только в zsh, в ударе он хорошо работает.
Надежда у любого есть идея, о чем это - все и как зафиксировать это.
Я также не могу очистить экран:
helium:~% echo $TERM
screen-256color
helium:~% clear
'screen-256color': unknown terminal type.
Это необычно. Я запустил бы путем наблюдения, работает ли Ctrl-L (т.е., zsh знает терминал и может выпустить ясный экран), и выполнение echo $TERM
видеть, какой терминал вводит zsh, полученный от Terminal.app; у меня есть Terminal.app, отправляют xterm-color
и это, кажется, портативно и принято.
Другая вещь проверить - то, что происходит, когда Вы вводите Ctrl-H, но я думал, что все современные системы обосновались на 0x7F для клавиши Backspace.
[постобновление с информацией об экране:]
Bash имеет больше встроенных взломов для предположения, что недостающие терминальные типы являются выходом ANSI, но Ваша корневая проблема состоит в том что $TERM
является нераспознанным. Это повредит большинство приложений, которые хотят выпустить директивы управления к эмулятору терминала. Переопределение $TERM
в Вашем ~/.zprofile
:
case ${TERM} in
screen-256color) TERM=screen.xterm-xfree86
;;
esac
Это - часть проблемы termcap/terminfo - это полагается на всех имеющие те же имена, все обновляемые, и т.д. Никакое согласование не сделано.