Le fichier ~ / .inputrc ne provient pas correctement

14

J'ai ce fichier ~ / .inputrc que j'ai créé pour certains raccourcis clavier.

# 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

chaque fois que j'essaie de courir source ~/.inputrc, cela me donne l'erreur suivante:

\ e [1; 5C: mot avant: commande introuvable. \ e [1; 5D: mot en arrière: commande introuvable. \ e [5C: mot avant: commande introuvable. \ e [5D: mot en arrière: commande introuvable. \ e \ e [C: mot avant: commande introuvable. \ e \ e [D: mot en arrière: commande introuvable.

Cela ne fonctionne pas non plus lorsque j'ouvre un nouveau terminal, je ne reçois pas l'erreur mais mes combinaisons de touches ctrl ne fonctionnent pas également dans le nouveau terminal. J'ai créé ce fichier moi-même car je n'ai pas d'accès root pour changer / etc / inputrc. Quelqu'un peut-il m'aider? Merci.

EDIT: J'ai également essayé le fichier avec un espace après le signe deux-points (:). Ça ne marche pas. J'ai également essayé de le rendre exécutable (chmod + x ~ / .inputrc), mais cela n'a pas fonctionné.

EDIT: J'ai réalisé que cette procédure est uniquement pour «bash» et je lance «tcsh». Pour 'csh', utilisez .bindingsfichier au lieu de .inputrcfichier et utilisez la bindkeysyntaxe.

rrlamichhane
la source

Réponses:

12

Pour bash, cela rechargera maintenant les mappages actuellement définis

bind -f  ~/.inputrc
Paul
la source
D'où obtenir la bindcommande?
danijar
bind est un shell intégré. Quel OS courez-vous?
Paul
J'utilise Debian avec zsh.
danijar
cela n'a pas fonctionné pour moi avec bash sur RHEL 7. Mes liaisons .inputrc ne sont toujours pas rechargées après avoir exécuté cette commande.
user5359531
@ user5359531, se pourrait-il que vos liaisons précédentes ne soient pas "en cours de chargement"? (S'ils ne sont pas définis explicitement, ils resteront tels qu'ils étaient auparavant.) Ou peut-être autre chose, comme votre ~ / .inputrc, non $include /etc/inputrc?
mwfearnley
6

Le .inputrcfichier n'est pas un fichier à rechercher. Il doit être pris en compte automatiquement par bashou tout autre logiciel utilisant la bibliothèque readline. Si cela ne fonctionne pas, ajoutez un espace après les deux points, par exemple

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

(J'ai toujours vu un espace dans ce fichier de configuration).

vinc17
la source
1
+1 Accent sur "d'autres logiciels utilisant la bibliothèque readline". .inputrcn'est pas un script shell; c'est un readlinefichier de configuration.
chepner
En fait, c'est comme ça que je l'ai eu en premier et je l'ai changé sans espace juste pour l'essayer. Cela ne fonctionne pas de toute façon. Je l'ai ajouté dans l'édition. Merci.
rrlamichhane
5

Les raccourcis clavier et le ~/.inputrcfichier publiés en question sont pour bash. Pour csh(ou tcsh) utilisez un fichier ~/.bindingset utilisez la syntaxe suivante.

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

Réalisé cela après quelques recherches sur Google.

rrlamichhane
la source
Pour une raison quelconque, mon tsch ignorait le fichier .bindings. L'ajout source ~/.bindingsà mon ~/.cshrcfichier a corrigé ce problème.
drmuelr