Как отобразить ключи Delete и End на оболочке tcsh? - PullRequest
10 голосов
/ 16 декабря 2009

Я использую tcsh, и при нажатии Delete / End на строке cmd он просто отображается как ~; Я должен нажать <Ctrl><e>, чтобы перейти к концу строки. Может ли кто-нибудь помочь мне использовать клавиши удаления / завершения, как следует из их названия?

Ответы [ 3 ]

14 голосов
/ 16 декабря 2009

Эти ключи уже работали в моей системе Debian. Я нашел эти команды в файле /etc/csh.cshrc:

if ($?tcsh && $?prompt) then
        bindkey "\e[1~" beginning-of-line # Home
        bindkey "\e[7~" beginning-of-line # Home rxvt
        bindkey "\e[2~" overwrite-mode    # Ins
        bindkey "\e[3~" delete-char       # Delete
        bindkey "\e[4~" end-of-line       # End
        bindkey "\e[8~" end-of-line       # End rxvt
endif
1 голос
/ 16 декабря 2009

Вам нужно использовать встроенный bindkey. Смотрите подробности в tcsh man page (ищите 'bindkey'), но вы хотите добавить строку типа

bindkey [end] end-of-line

в файл .cshrc или .tcshrc, заменив '[end]' фактическим нажатием end . См. на этой странице для списка имен привязок и полезных примеров.

0 голосов
/ 16 декабря 2009

Существует большой ресурс по исправлению несоответствий с помощью delete / backspace здесь . В документе также рассматривается сопоставление home / end, хотя это не является основной темой.

...