Почему ctrl + стрелка влево не пропускает слова?
Я нахожусь на моей Ubuntu 12.04. Каждый раз, когда я редактирую текст, я использую Ctrl + Влево/Вправо для перемещения / перехода между словами. Недавно я установил xscreensaver и изменил сочетания клавиш, чтобы активировать заставку. Но затем Ctrl + left перестал отвечать на запросы (перейти к следующему слову влево). Ctrl + вправо по- прежнему переходит к следующему слову справа. Проблема возникает, использую ли я терминал, Gedit или даже печатаю текст на веб-страницах.
Я вернулся к gnome-screensaver, удалил xscreensaver (также исправил свои сочетания клавиш). Но проблема остается.
Я пытался скопировать содержимое из /etc/inputrc
в ~/.inputrc
(по умолчанию у меня нет ~/.inputrc). Я получил некоторую информацию здесь: странные символы появляются, когда я использую клавиши Ctrl и Arrow для навигации
Пожалуйста помоги.
РЕДАКТИРОВАТЬ: вот мой ~/.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 и нажать стрелку вправо пять раз:
В отличие от первого изображения выше, удерживая клавишу CTRL и нажимая стрелку влево более одного раза, вы не сможете распечатать ;5D
опять же... как будто он принимает команду один раз и больше не делает это... см. изображение ниже:
4 ответа
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
,
У меня была такая же проблема. Я исправил это, скопировав эти строки в мой ~/.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
Я понял, что пропуск слов влево с помощью нажатия клавиш Ctrl+Left не работает (даже когда я добавил некоторый код в ~/.inputrc или ~/.zshrc), потому что по умолчанию этот ярлык уже используется в Ubuntu (он изменяет размеры текущее окно по горизонтали). Вы можете изменить ярлык по умолчанию в меню Система -> Настройки -> Сочетание клавиш. Я просто заменил Ctrl+Left на Ctrl+Down, чтобы освободить его. После этой замены пропуск слов влево с помощью Ctrl+Left работает отлично! Даже без ~/.inputrc или ~/.zshc.
Создать файл inputrc, используя touch ~/.inputrc
,
Скопируйте содержимое принятого ответа по ссылке, на которую вы ссылались, т.е. странные символы, появляющиеся, когда я использую клавиши Ctrl и Arrow для навигации, в этот файл, открыв файл ~/.inputrc с помощью некоторого текстового редактора. Сохрани это.
Прочитайте файл, используя bind ~/.inputrc
команда или перезапустите новый терминал. Вещи должны работать..