Невозможно понять параметр stty для Emacs в OS/X

Стив рекомендует запустить следующий код перед запуском Emacs

stty erase ^\?

Я получаю после запуска

stty: illegal option -- Backups
usage: stty [-a|-e|-g] [-f file] [options]

Сообщение Стива в блоге

Обратите внимание, что ^\? - - нажимает клавишу Delete, заставляя ее отправлять ^H, но включает последовательность Ch в Emacs. Обратите внимание, что C-Delete выполняет обычное backward-delete-char, поэтому просто помните, что когда вы возвращаетесь в терминал, удерживайте нажатой клавишу управления.

Как вы можете увидеть, что делает команда Стива?

2 ответа

Решение

Эта команда прекрасно работает для меня. Сначала я подумал, что, возможно, вы не используете bash, а символы ^ или \ интерпретируются по-разному, поэтому я попытался использовать csh и sh, и все равно все работало нормально. Вы уверены, что набираете "^" (shift 6) "\" (not /) и "?" (нормальный знак вопроса)?

Вы можете попробовать это так:

stty erase "^?"

который должен иметь тот же эффект.

Если это не сработает, я не смогу помочь, так как у меня нет доступа к OS X. Удачи!

Как вы можете увидеть, что делает команда Стива?

Если команда выполнена успешно, выходных данных не будет. Тем не менее, легко увидеть, что он сделал: наберите в командной строке что-то, а затем попытайтесь вернуться назад. Вместо того, чтобы стирать то, что вы ввели, вы будете отображать ^H для каждого набранного возврата.

Чтобы вернуть вещи в нормальное состояние, используйте эту команду:

stty erase ^h

(это просто смещение 6, затем ч)

Как и в моем первом ответе, это работает для меня в Ubuntu с Bash. Однако, это может отличаться на OS X.

Другие вопросы по тегам