Como faço para recarregar o .inputrc?


84

fundo

Eu ouvi que o Leia a linha módulo está lendo ~/.inputrc e é assim que muda o comportamento dos pressionamentos de teclas em programas como o bash.

Questão

Como posso recarregar isso após a edição para ver o comportamento alterado sem reiniciar meu programa de terminal?


8
fundo (não errado) .
Dennis Williamson

3
Eu vim aqui procurando como carregar .inputrc com um comando. superuser.com/q/419670/56544
dfrankow

1
@CaptainLepton Eu vi isso. O terminal não é o mesmo que o shell. Fazendo exec bash em uma sessão de Bash substituirá a sessão de shell atual por uma nova sessão de Bash. xterm é um terminal.
Kusalananda

1
@ Kusalananda Obrigado pelo esclarecimento. Isso é uma boa ideia. Você poderia descrever a execução do & gt; exec bash como executar um novo shell no terminal atual ao invés de reiniciar o bash, como você está substituindo o seu executável anterior?
Captain Lepton

1
Sim, não há como "reiniciar" a sessão atual do shell. Isto é 1 maneira de fazer isso. Usando a solução que @maxelost deu é outra.
Kusalananda

Respostas:


76

Por padrão, C-x C-r é obrigado a re-read-init-file.

Veja o Manual de Referência Bash para explicação.


4
Isso não funciona para mim. Eu tentei um mapeamento diferente no arquivo .inputrc e também sem sorte: "\ eX \ eR": re-read-init-file Alguma sugestão?
Captain Lepton

6
@Captain Na verdade, sim, exceto que não Claro pressionamentos de tecla que foram excluídos enquanto isso. Se você, por exemplo adicione alguns, eles são carregados. Sua única solução para estes é um novo bash -l (shell que se comporta como um shell de login) recém-inicializado.
Daniel Beck

Eu estava editando /etc/inputrc mas eu tinha um quase vazio ~/.inputrc que estava impedindo o de /etc/ de ser usado. Removendo ~/.inputrc fez com que ele lesse /etc/inputrc e tornar minhas alterações ativas.
Malvineous

1
@ Malvineous eu fui pego por isso antes .. se você adicionar $include /etc/inputrc para o topo ~/.inputrc, evita esse problema.
mwfearnley

45

Você também pode recarregar novas entradas da linha de comando usando bind -f ~/.inputrc. Isso carregará as entradas em .inputrc. Note que ele apenas faz uma carga, não um "recarregamento" - portanto, ele não redefine nenhuma linha que você tenha removido do .inputrc.

Para testar rapidamente a partir de um slate limpo, basta executar bash em seguida, trabalhe dentro desse novo shell aninhado (ou inicie um novo terminal).



10

Em .inputrc primeiro escolha sua ligação e depois ligar o re-read-init-file função:

set editing-mode vi
"\C-x\C-r": re-read-init-file

pressione CTRL e x , solte ambos, pressione CTRL e r .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.