为什么ctrl +左箭头没有跳过单词?

我在我的Ubuntu 12.04上。 每次我编辑文本时,我都会使用ctrl + left / right在单词之间移动/跳转。 最近,我安装了xscreensaver并更改了键盘快捷键以激活我的屏幕保护程序。 但是,然后, Ctrl + 声道响应正常(移动到左边的下一个单词)。 Ctrl + 仍然跳到右边的下一个单词。 无论我使用终端,Gedit甚至在网页中输入文本,都会出现问题。

我恢复了gnome-screensaver,删除了xscreensaver(也修复了我的键盘快捷键)。 但问题仍然存在。

我试图将内容从/etc/inputrc复制到~/.inputrc (默认情况下,我没有〜/ .inputrc)。 我在这里得到了一些信息: 当我使用Ctrl和箭头键进行导航时出现奇怪的字符

请帮忙。

编辑:这是我的~/.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 +向右箭头

与上面的第一张图片不同,按住CTRL并多次按下左箭头不会打印出来;5D再次…就像它接受命令一次而不再这样做了..见下图: 按ctrl +向左箭头

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 

…现在在byobu / tmux中按ctrl + / 跳转字。

3 – 不要乱用inputrc

使用touch ~/.inputrc创建inputrc文件。
复制您引用的链接中接受的答案的内容,即当我使用Ctrl和箭头键导航时出现的奇怪字符 ,通过使用某个文本编辑器打开文件〜/ .inputrc 来导航到此文件。 保存。
使用bind ~/.inputrc命令读取文件或重新启动新终端。 事情应该有效..

我发现通过触发Ctrl + Left向左跳过单词不起作用(甚至在我将一些代码添加到〜/ .inputrc或〜/ .zshrc时也没有)因为默认情况下这个快捷方式已经在Ubuntu中使用了(它resize当前窗口水平)。 您可以在系统 – >首选项 – >键盘快捷键菜单中更改默认快捷方式。 我只是通过Ctrl + Down替换了Ctrl + Left来解放它。 更换后,使用Ctrl + Left向左跳过单词可以正常工作! 即使没有〜/ .inputrc或〜/ .zshc。

我有同样的问题。 我通过将这些行复制到我的~/.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