Arch

Arch

domingo, 27 de maio de 2012

Ranger, um gerenciador de arquivos por linha de comando


Por diversas vezes, estamos em um emulador de terminal e precisamos  checar  um arquivo do qual não recordamos a exata localização, (ou apenas queremos colocar uma música para rolar)  diante do exposto  paramos o que estamos fazendo, pegamos o mouse e vários clicks depois encontramos o arquivo desejado.



E se em vez disso utilizarmos um gerenciador de arquivos excelente no próprio terminal?

Venho apresentar o  Ranger


Instalação

 O  Ranger está disponível  no repositório Comunity. Ou, alternativamente use o pacote ranger git-no AUR.

Comparação com outros gerenciadores de arquivos

Comparado com gerenciadores gráficos, o Ranger é eficiente, mas, ainda visualmente bonito. O Ranger tem um painel com várias colunas para diferentes diretórios, e as previsões dos arquivos à direita.

Comparado com gerenciadores de arquivos de painel duplo, o Ranger mostra mais  diretórios e informações de arquivos. Você pode navegar rapidamente entre diretórios, utilizando as teclas de "setas", pode criar marcadores, ou utilizar o histórico de comandos. Previews de arquivos e conteúdos de diretório aparecem automaticamente para a seleção atual.

As características do Ranger incluem: atalhos no "estilo vi", bookmarks, seleções, marcação, guias, histórico de comandos, a capacidade de criar links simbólicos, modos de console diversos, e uma visão de tarefas.

O Ranger tem comandos personalizados e teclas, incluindo  "links" para scripts externos. O concorrente mais próximo dele é o Vifm, que tem dois painéis atalho no "estilo vi", mas tem menos recursos em geral.

Documentação

A página de ajuda do Ranger pode ser aberta digitando (todos os comandos a seguir sem aspas) "?". Você também pode pressionar "1?" para uma lista de atalhos de teclado, "2?" para uma lista de comandos e "3?" para uma lista de definições.

Personalização

Após a primeira inicialização o  Ranger cria um diretório ~ / .config / ranger /. Você pode copiar os arquivos de configuração padrão para este diretório com o comando
ranger --copy-config=all
Feito isso é possível  editá-los como quiser. Algum conhecimento básico de python é útil aqui. options.py controla opções gerais, rc.conf controla os comandos de inicialização e teclas, commands.py controla os comandos que são lançados com  a tecla ":", e apps.py controla as aplicações utilizadas quando um determinado tipo de arquivo é lançado. Você pode iniciar arquivos com "l" (ele) ou "<Enter>". Você só precisa incluir alterações dos arquivos padrão, mas certifique-se de incluir todos os cabeçalhos necessários. Além disso, se você alterar parte de uma função, não se esqueça de incluir  tudo, levando em conta que você está redefinindo essa função.

Atalhos

Use o arquivo ~/.config /ranger/rc.conf  para modificar atalhos de teclado. Há muitas combinações de teclas já definidas, e você pode aprender a sintaxe lendo o arquivo.

O exemplo a seguir mostra como usar "DD" para mover arquivos selecionados para o diretório ~ /. Trash /. Coloque esse código em:
~/.config /Ranger/rc.conf


# Mover para a pasta Trash
map DD shell mv-t /home /usuário /.config /ranger /Trash %s

Definindo comandos

Continuando o exemplo acima, adicionando a seguinte entrada  ~/.config/ranger/commands.py que irá definir  um comando para esvaziar o diretório lixo.


class empty(Command):
"""
:empty


Empties the trash directory ~/.Trash
"""


  def execute(self):
self.fm.run("rm -rf /home/usuário/.Trash/{*,.[^.]*}")


Para usá-lo, você deve digitar ":empty<Enter>", utilizando a conclusão pelo "Tab" se desejar.

Atenção: Note que [^.] É uma parte essencial do comando acima. Caso contrário, ele irá remover todos os arquivos e diretórios de forma recursiva, assim  deletando todos os arquivos  do seu diretório home.




Iniciando programas em "background"

Na maioria dos casos, o lançamento de um arquivo ou programa tornará o Ranger inutilizável até que o programa que você usou  seja encerrado. O exemplo a seguir mostra como alterar esse comportamento para arquivos html, no arquivo ~/.config/ranger/apps.py, altere:


if f.extension in ('html', 'htm', 'xhtml', 'swf'):
return self.either(c, 'firefox', 'opera', 'elinks')
para:



if f.extension in ('html', 'htm', 'xhtml', 'swf'):


c.flags += 'd'
return self.either(c, 'firefox', 'opera')





A opção "d" significa "detached". Removemos  o "elinks" pois o mesmo é um navegador em modo texto, e não pode ser desanexado.


Além disso, o Ranger, caso se depare com um arquivo com o qual ele não saiba o que fazer,  abre uma espécie de "prompt" na última posição do terminal, para que você digite o nome do programa necessário a execução do arquivo em questão.

Uma imagem do mesmo em execução utilizei o konsole maximizado para uma melhor visualização :




Nenhum comentário:

Postar um comentário