Il file ~ / .inputrc non viene fornito correttamente


14

Ho questo file ~ / .inputrc che ho creato per alcune combinazioni di tasti.

# 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

ogni volta che provo a correre source ~/.inputrc, mi dà il seguente errore:

\ e [1; 5C: forward-word: comando non trovato. \ e [1; 5D: parola all'indietro: comando non trovato. \ e [5C: forward-word: comando non trovato. \ e [5D: parola all'indietro: comando non trovato. \ e \ e [C: forward-word: comando non trovato. \ e \ e [D: parola all'indietro: comando non trovato.

Inoltre non funziona quando apro un nuovo terminale, non ricevo l'errore ma le mie combinazioni di tasti ctrl non funzionano anche nel nuovo terminale. Ho creato questo file da solo poiché non ho accesso come root per cambiare / etc / inputrc. Qualcuno può darmi una mano? Grazie.

EDIT: ho provato il file con spazio dopo i due punti (segno anche :). Non funziona Ho anche provato a renderlo eseguibile (chmod + x ~ / .inputrc), non ha funzionato.

EDIT: mi sono reso conto che questa procedura è solo per 'bash' e sto eseguendo 'tcsh'. Per 'csh', usa il .bindingsfile anziché il .inputrcfile e usa la bindkeysintassi.

Risposte:


12

Per bash, questo ricaricherà ora i mapping attualmente definiti

bind -f  ~/.inputrc

Da dove ottenere il bindcomando?
danijar,

bind è una shell integrata. Che sistema operativo stai eseguendo?
Paolo,

Sto usando Debian con zsh.
danijar,

questo non ha funzionato per me con bash su RHEL 7. I miei bind .inputrc non vengono ancora ricaricati dopo aver eseguito questo comando.
user5359531

@ user5359531, è possibile che le tue associazioni precedenti non stiano "scaricando"? (Se non sono impostati esplicitamente, rimarranno come prima.) O forse qualcos'altro, come il tuo ~ / .inputrc no $include /etc/inputrc?
mwfearnley,

6

Il .inputrcfile non è un file di origine. Dovrebbe essere preso in considerazione automaticamente da basho altro software usando la libreria readline. Se non funziona, aggiungi uno spazio dopo i due punti, ad es

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

(Ho sempre visto uno spazio in questo file di configurazione).


1
+1 Enfasi su "altri software che usano la libreria readline". .inputrcnon è uno script di shell; è un readlinefile di configurazione.
Chepner,

In realtà, è così che l'ho avuto per primo e l'ho cambiato senza spazio solo per provarlo. Non funziona in entrambi i modi. L'ho aggiunto nella modifica. Grazie.
rrlamichhane,

5

Le associazioni e i ~/.inputrcfile chiave inviati in questione sono per bash. Per csh(o tcsh) utilizzare un file ~/.bindingse utilizzare la seguente sintassi.

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

Realizzato questo dopo aver cercato su Google.


Per qualsiasi motivo, il mio tsch stava ignorando il file .bindings. L'aggiunta source ~/.bindingsal mio ~/.cshrcfile ha risolto questo problema.
drmuelr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.