Eu gostaria da habilidade de definir novos comandos no gerenciador de arquivos ranger digitando algo como:
:newcmd myarg
e execute código arbitrário com ele.
A definição de comando também deve ter acesso ao estado do programa, por exemplo, diretório atual e arquivos selecionados.
Existe uma maneira de fazer isso?
aviso Legal : Eu criei esta pergunta e auto-respondi por causa da falta de boas fontes sobre este assunto. Respostas adicionais são mais que bem-vindas.
Respostas:
Editar
~/.config/ranger/commands.py
para conter algo como:Agora você pode digitar:
para executar o comando definido.
Mais opções podem ser encontradas em: https://github.com/hut/ranger/blob/9c585e48e14525f11d2405ea0bb9b5eba92e63e9/ranger/config/commands.py
Você pode ir além e definir um mapa para ele, por exemplo: adicionar a
~/.config/ranger/rc.conf
:E agora você pode simplesmente digitar:
,n
escrevernewcmd
na linha de status e prepare-se para o usuário inserir o primeiro argumento,m
e execute o comando imediatamente com um argumento padrãoTestado no ranger 1.6.1.
fonte