Nos meus sistemas macOS e Linux, eu executo ed com alias ed='rlwrap ed'
. No macOS com rlwrap 0.46.1 (2022) eu posso criar arquivos livremente com abas como:
$ ed
a
foo<TAB>bar
mas em meus sistemas Linux com rlwrap 0.43 (2016) não consigo usar tabulações a menos que eu escape assim:
$ ed
a
foo<ESCAPE><TAB>bar
Sei que devo atualizar meus servidores Linux; mas o rlwrap está atualmente no máximo de acordo com o apt. Existe alguma opção do rlwrap que me devolverá minhas abas? Tentei pesquisar na página de manual do rlwrap por "tab"; mas não encontrei nada.
Não sei como é a configuração atual do seu Readline, então vou acenar um pouco e lhe dar algo que provavelmente funcionará.
No
emacs
modo de edição, a Tabtecla é vinculada àself-insert
função Readline, que tem o efeito de inserir o caractere de tabulação real quando você pressiona Tabno seu teclado. Esta é a vinculação de tecla padrão para a tecla, mas ela também pode ter sido vinculada novamente a algo que potencialmente removeria sua funcionalidade de autoinserção. Noemacs
modo de edição, Escape+ Tabé vinculado àtab-insert
função, que insere um caractere de tabulação.No
vi
modo de edição, o Tabestá vinculado àcomplete
função, o que também não é útil para inserir caracteres de tabulação.Podemos resolver isso garantindo que Tabestá vinculado a
self-insert
ou àtab-insert
função paraed
. Fazemos isso adicionando o seguinte ao nosso~/.inputrc
arquivo.A
tab-insert
função é útil se você quiser configurar alguma outra combinação de teclas (diferente de Tab) para inserir tabulações.