Por que o Ctrl + Arrow faz meu terminal mudar para um modo estranho?

7

Quando eu digito Ctrl + Esquerda ou Ctrl + Direita em Guake ou gnome-terminal o comportamento do último se transforma em algum tipo de modo não usual: - age como arrow up e + como arrow down , v roda o Nano, etc. Como posso desativar esse recurso ?

UPD: meu amigo me disse que são as teclas de atalho do X.org ... Como posso desativá-las? Pesquisando não ajuda em nada ...

UPD2 : aqui está um vídeo que mostra o que está acontecendo.

    
por shybovycha 27.07.2011 / 14:50

3 respostas

6

A solução foi bem elegante e simples: editando /etc/inputrc e desativando vi mode .

Este é o arquivo inputrc renovado:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and 'info rluserman' for more information.

# Be 8 bit clean.
set input-meta on
set output-meta on

#set editing-mode vi

# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
#$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

#$endif

Deve ler mais sobre os modos. Obrigado a todos pelo trabalho difícil!

    
por 03.08.2011 / 11:44
2

Eu tive o mesmo problema. Meu /etc/inputrc foi configurado corretamente, mas devido a algum motivo estranho, eu tinha uma configuração de esqueleto em ~/.inputrc , o que desativava todos os mapeamentos em /etc/inputrc .

Então, minha solução foi:

rm ~/.inputrc

Espero que ajude alguém :)

    
por 30.01.2016 / 08:06
1

De acordo com a barra de título nano's , você está editando um arquivo de histórico bash depois de pressionar v :

/tmp/bash-fc-1212173730

Eu suspeito que Ctrl - Esquerda e Ctrl - Direita estão ativando o modo de histórico interativo.

Seu .bashrc contém ligações para history-search-backward e history-search-forward ?

Você pode desativar esse comportamento comentando ou removendo qualquer uma dessas linhas de vinculação em .bashrc ou em .bash_aliases .

    
por 02.08.2011 / 11:30