Tại sao Ctrl + Mũi tên làm cho thiết bị đầu cuối của tôi chuyển sang chế độ lạ?


8

Khi tôi gõ Ctrl + Trái hoặc Ctrl + Phải trong Guakehoặc gnome-terminalhành vi của người cuối cùng chuyển sang một loại chế độ không bình thường: -phím hoạt động như arrow up+thích arrow down, vchạy Nano, v.v ... Làm cách nào tôi có thể tắt tính năng này ?

CẬP NHẬT: bạn tôi nói với tôi rằng đó là các phím nóng X.org ... Làm thế nào tôi có thể vô hiệu hóa chúng? Googling hoàn toàn không giúp ...

CẬP NHẬT2 : đây là video cho thấy những gì đang diễn ra.


2
Có lẽ là một cái gì đó với các thiết lập của bạn. Tôi không có hành vi đó, không phải cho guake hay gnome-terminal.
phunehehe

2
Âm thanh khá giống như cách emacs / vi hoạt động ... hoàn toàn trực quan. :-)
dùng541686

3
Điều này có xảy ra trong tài khoản khác với cài đặt mặc định của bản phân phối không? Nếu bạn nhấn Ctrl+Vthì Ctrl+Lefttại dấu nhắc shell, điều này có chèn ký tự (nếu có, cái nào) hay không?
Gilles 'SO- đừng trở nên xấu xa'

Ctrl + v và sau đó Ctrl + chèn trái ^[[1;5C.
shybovycha

Và vâng, vấn đề này hiện diện cho một tài khoản khác.
shybovycha

Câu trả lời:


7

Giải pháp khá thanh lịch và đơn giản: chỉnh sửa /etc/inputrcvà vô hiệu hóa vi mode.

Đây là inputrctập tin được gia hạn :

# /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

Nên đọc thêm 'bout mà chế độ. Cảm ơn mọi người vì đã gặp rắc rối!


2

Tôi đã có cùng một vấn đề. My /etc/inputrcđã được cấu hình đúng, nhưng vì một số lý do kỳ lạ, tôi có cấu hình bộ xương ~/.inputrc, sau đó vô hiệu hóa tất cả các ánh xạ trong đó /etc/inputrc.

Vì vậy, giải pháp của tôi là:

rm ~/.inputrc

Tôi đã có một tập tin lạ ~ / .inputrc. Sau khi tôi xóa nó, như bạn nói, tôi đã mở một shell mới và nó đã được sửa. Cảm ơn!
Brian Peterson

1

Theo nano'sthanh tiêu đề, bạn đang chỉnh sửa tệp lịch sử bash sau khi nhấn v:

/tmp/bash-fc-1212173730

Tôi nghi ngờ rằng Ctrl- LeftCtrl- Rightđang kích hoạt chế độ lịch sử tương tác.

.bashrcchứa các ràng buộc cho history-search-backwardhistory-search-forward?

Bạn có thể vô hiệu hóa hành vi này bằng cách nhận xét hoặc xóa bất kỳ dòng liên kết nào trong .bashrchoặc trong dòng của bạn .bash_aliases.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.