LINUX.ORG.RU
ФорумTalks

нормальный терминал существует?


0

0

Кто нибудь знает терминал под иксы у которого нет проблем со всякими дополнительными клавишами (PgUp, End, Del...)? У меня стоит zsh и я никак не могу заставить эти клавиши корректно работать. Пока у меня стоял режим vim при нажатии этих клавиш буквы становились заглавными! Когда я поставил режим emacs то при нажатии этих букв печатается ~. Причем в косоли без иксов всё работает замечательно! Помогите, а то надоело уже...

anonymous

Я знаю несколько, например xterm. urxvt тож работает великолепно. Правда, не юзал с zsh. Но если с ими проблема, значит она не в терминале а в самоём zhs?

bugmaker ★★★★☆
()

rxvt-unicode, zsh, binkey -e
.zshrc:
# Up, down left, right.
# echotc is part of the zsh/termcap module. It outputs the termcap value
# corresponding to the capability it was given as an argument. man zshmodules.
zmodload -i zsh/termcap
bindkey "$(echotc kl)" backward-char
bindkey "$(echotc kr)" forward-char
bindkey "$(echotc ku)" up-line-or-history
bindkey "$(echotc kd)" down-line-or-history

bindkey '\e[3~' delete-char # Delete

if [[ "$TERM" == "rxvt-unicode" ]]; then
    bindkey '\e[7~' beginning-of-line # Home
    bindkey '\e[8~' end-of-line # End
elif [[ "$TERM" == "linux" ]]; then
    bindkey '\e[1~' beginning-of-line # Home
    bindkey '\e[4~' end-of-line # End    
else # At least xterm; probably other terms too
    bindkey '\e[H~' beginning-of-line # Home
    bindkey '\e[F~' end-of-line # End
fi

bindkey '\e[5~' up-history # PageUp
bindkey '\e[6~' down-history # PageDown

kostian ★★★★☆
()

xterm | urxvt + bash | zsh: все работает замечательно из коробки.

grob ★★★★★
()
Ответ на: комментарий от kostian

это чё такое?
у меня так:

xmodmap -e "keycode 15 = 6 asciicircum 6 colon"                                           
xmodmap -e "keycode 16 = 7 ampersand 7 question"                                          
xmodmap -e "keycode 61 = slash question period comma"                                     
xmodmap -e "keycode 17 = 8 asterisk 8 asterisk"                                           
xmodmap -e "keycode 13 = 4 dollar 4 semicolon"                                            
xmodmap -e "keycode  79 = Home Home"                                                      
xmodmap -e "keycode  80 = Up Up"                                                          
xmodmap -e "keycode  81 = KP_Prior KP_Prior"                                              
xmodmap -e "keycode  83 = Left Left"                                                      
xmodmap -e "keycode  85 = Right Right"                                                    
xmodmap -e "keycode  87 = End End"                                                        
xmodmap -e "keycode  88 = Down Down"                                                      
xmodmap -e "keycode  89 = KP_Next KP_Next"                                                
xmodmap -e "keycode  90 = KP_Insert KP_Insert"                                            
xmodmap -e "keycode  91 = Delete KP_Decimal"                                              
xmodmap -e "keycode  99 = KP_Prior KP_Prior"                                              
xmodmap -e "keycode  105 = KP_Next KP_Next"

theserg ★★★
()

В zsh это все дело замечательно проделывается с помощью bindkey.

Zmacs
()

Описание bindkey - man zshzle.

С помощью Ctrl+V можешь узнать код клавищи.

В терминале жмешь Ctrl+V затем Home. Напечатает что-то вроде ^[[7~ Прописываешь в .zshrc `bindkey "^[[7~" beginning-of-line'

Жмешь Ctrl+V затем Del - ^[[3~. Прописываешь в .zshrc `bindkey "^[[3~" delete-char'

После правки .zshrc перезапусти терминал и работай.

kosmonavt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.