csh bindkey, что такое "\ 346"

672
user1861088

Похоже, я не могу использовать Ctrl + right_arrow для пересылки слова в моей оболочке c. После некоторых усилий я обнаружил, что все привязки клавиш можно найти с помощью bindkeyкоманды, и я получаю следующее:

"\306" -> forward-word "\316" -> history-search-forward "\346" -> forward-word "\356" -> history-search-forward "^[[C" -> forward-char "^[OC" -> forward-char "^[F" -> forward-word 

Есть идеи, что все это значит? Было бы УДИВИТЕЛЬНО, если бы вы указали мне, где я могу узнать, что означают эти персонажи :)

Спасибо!

0
Я предполагаю, что `\ 3xx` - это Meta +` \ 0xx`, поэтому `\ 346` - это Meta-F. Barmar 11 лет назад 0
и вы думаете, на чем основано? 11 лет назад 0
Исходя из предположения, что привязки по умолчанию являются Emacs-подобными, а 046 - ASCII F. Barmar 11 лет назад 1

1 ответ на вопрос

1
chepner

Как указано в cshсправочной странице, «\ nnn» - это символ ASCII, соответствующий восьмеричному числу nnn. Восьмеричное (основание-8) число в десятичном виде - 198. Бармер верен, так как «F» (ASCII 046, десятичное 70) становится 306, когда вы устанавливаете старший бит.

как насчет '[' или '[['? 11 лет назад 0
'^ [' - это Control- [или ESC. Первые два не предназначены для буквального ввода; различные непечатаемые клавиши (клавиши со стрелками, HOME, END, функциональные клавиши и т. д.) генерируют escape-последовательности. Последний - ESC-F, который является просто клавишей ESC, за которой следует F. chepner 11 лет назад 0

Похожие вопросы