web-dev-qa-db-ja.com

ctrl +左矢印が単語をスキップしないのはなぜですか?

Ubuntu 12.04を使用しています。テキストを編集するたびに、 ctrl + left/right 単語間を移動/ジャンプします。最近、xscreensaverをインストールし、キーボードショートカットを変更してスクリーンセーバーを有効にしました。しかしその後、 Ctrl + left 通常の応答を停止しました(左側の次の単語に移動します)。 Ctrl + right まだ右の次のWordにジャンプします。この問題は、端末を使用していても、Geditを使用していても、Webページにテキストを入力していても発生します。

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を押しながら右矢印を5回押すと、次のようになります。 pressing ctrl+right arrow

上の最初の画像とは異なり、CTRLを押しながら左矢印を2回以上押しても;5Dが再度出力されることはありません...コマンドを1回受け入れ、もうそれを行わないようです。以下の画像を参照してください: pressing ctrl+left arrow

18
itagomo

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 + left / right byobu/tmuxの単語をジャンプします。

3-inputrcを混乱させないでください。

21
yPhil

同じ問題がありました。これらの行を~/.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
Hemanthkumar

touch ~/.inputrcを使用してinputrcファイルを作成します。
参照したリンクの受け入れられた回答のコンテンツをコピーします。つまり、 Ctrlキーと矢印キーを使用して移動すると奇妙な文字が表示されます 、ファイル〜/ .inputrcを開いてこのファイルにコピーしますテキストエディタ。それを保存。
bind ~/.inputrcコマンドを使用してファイルを読み取るか、新しいターミナルを再起動します。物事は動作するはずです。

1
drake01

デフォルトでこのショートカットはすでにUbuntuで使用されているため(〜/ .inputrcまたは〜/ .zshrcにいくつかのコードを追加した場合でも)、Ctrl + Leftをトリガーして左側の単語をスキップしても機能しないことがわかりました現在のウィンドウを水平に)。デフォルトのショートカットは、[システム]-> [設定]-> [キーボードショートカット]メニューで変更できます。 Ctrl + LeftをCtrl + Downに置き換えて解放しました。この置換の後、Ctrl +左を使用して左側の単語をスキップしても正常に機能します! 〜/ .inputrcまたは〜/ .zshcがなくても。

1
Banjo