Почему делает ctrl +, стрелка влево не пропускает слова?

Я нахожусь на своей Ubuntu 12.04. Каждый раз, когда я редактирую текст, я использую ctrl + слева/справа для перемещений/перешедшего между словами. Недавно, я установил xscreensaver и изменил сочетания клавиш для активации моей экранной заставки. Но затем, Ctrl + оставленный прекратил отвечать на обычно (переместитесь в следующее слово налево). Ctrl + право все еще переходит к следующему слову направо. Проблема происходит, использую ли я терминал, Gedit или даже ввожу текст на веб-страницах.

Я вернулся назад к экранной заставке гнома, удалил xscreensaver (также зафиксировал мои сочетания клавиш). Но проблема остается.

Я пытался скопировать содержание с /etc/inputrc кому: ~/.inputrc (по умолчанию у меня нет ~/.inputrc). Я получил некоторую информацию здесь: Странное появление символов, когда я использую Ctrl и Arrow keys для навигации

Помогите.

Править: Вот мой ~/.inputrc:

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

если я удаляю/etc/inputrc, вот то, что я получаю, если я держу CTRL, затем нажимают стрелку вправо пять раз: pressing ctrl+right arrow

В отличие от первого изображения выше, содержа CTRL и нажимая стрелку влево несколько раз не распечатает ;5D снова... это похоже, это принимает команду однажды и больше не делает этого.. посмотрите ниже изображения: pressing ctrl+left arrow

20
задан 13 April 2017 в 15:24

4 ответа

У меня была эта та же проблема. Я зафиксировал его путем копирования этих строк в мой ~/.inputrc файл:

"\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
3
ответ дан 13 April 2017 в 15:24

Я понял, что пропуск слов влево с помощью нажатия Ctrl + Left не работает (даже когда я добавил некоторый код в ~ / .inputrc или ~ / .zshrc), потому что по умолчанию этот ярлык уже используется в Ubuntu (изменяет размеры текущего окна по горизонтали). Вы можете изменить ярлык по умолчанию в меню Система -> Настройки -> Сочетание клавиш. Я просто заменил Ctrl + Left на Ctrl + Down, чтобы освободить его. После этой замены пропуск слов влево с помощью Ctrl + Left работает отлично! Даже без ~ / .inputrc или ~ / .zshc.

0
ответ дан 13 April 2017 в 15:24

Создать файл inputrc, используя touch ~/.inputrc.
Скопируйте содержание принятого ответа в ссылке, на которую вы ссылались, т.е. Странные символы, появляющиеся, когда я использую клавиши Ctrl и Arrow для перемещения по , к этому файлу, открыв файл ~ / .inputrc, используя какой-то текстовый редактор. Сохрани это.
Считайте файл командой bind ~/.inputrc или перезапустите новый терминал. Все должно работать ..

0
ответ дан 13 April 2017 в 15:24

1 - В ~/.zshrc

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

2 - Или в ~/.bashrc

bind '"\e[1;5D" backward-word' 
bind '"\e[1;5C" forward-word'

... И теперь ctrl + оставленный / правильные слова перехода в byobu / tmux.

3 - Не смешивайте с inputrc.

25
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

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