〜/ .inputrcファイルが正しくソースされていません


14

特定のキーバインディング用に作成したこの〜/ .inputrcファイルがあります。

# 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

実行しようとするたびにsource ~/.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キーの組み合わせは新しいターミナルでも機能しません。/ etc / inputrcを変更するためのルートアクセス権がないため、このファイルを自分で作成しました。誰か助けてくれますか?ありがとう。

編集:コロン(:)記号の後にスペースがあるファイルも試しました。機能しません。また、実行可能(chmod + x〜/ .inputrc)にしようとしましたが、うまくいきませんでした。

編集:この手順は「bash」専用であり、「tcsh」を実行していることに気付きました。'csh'の場合、.bindingsfileの代わりに.inputrcfileを使用し、bindkey構文を使用します。

回答:


12

bashの場合、これは現在定義されているマッピングをリロードします

bind -f  ~/.inputrc

bindコマンドはどこから入手できますか?
ダニジャー

bindはシェル組み込みです。何を実行していますか?
ポール

zshでDebianを使用しています。
ダニジャー

これは、RHEL 7のbashでは機能しませんでした。このコマンドを実行した後、.inputrcバインディングはまだ再ロードされません。
user5359531

@ user5359531、以前のバインディングが「アンロード」されていない可能性がありますか?(明示的に設定されていない場合、以前の状態のままになります。)または、〜/ .inputrcのような他の何かではない$include /etc/inputrcでしょうか?
mwfearnley

6

.inputrcファイルには、ソースとするファイルではありません。bashまたはreadlineライブラリを使用する他のソフトウェアによって自動的に考慮される必要があります。これが機能しない場合は、コロンの後にスペースを追加します。例えば

"\e[1;5C": forward-word

(この設定ファイルには常にスペースがあります)。


1
+1「readlineライブラリを使用する他のソフトウェア」に重点を置いています。.inputrcシェルスクリプトではありません。それはだreadline設定ファイル。
chepner 14

実際、それが最初の方法であり、試してみるためにスペースなしに変更しました。どちらの方法でも機能しません。それを編集に追加しました。ありがとう。
rrlamichhane

5

~/.inputrc問題の投稿されたキーバインディングとファイルはのためのものbashです。用csh(またはtcsh)ファイルを使用~/.bindings構文以下と使用を。

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

いくつかのグーグルでこれを実現しました。


何らかの理由で、私のtschは.bindingsファイルを無視していました。ファイルに追加するsource ~/.bindingsと、~/.cshrcこれが修正されました。
drmuelr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.