Crie um alias flexível para um aplicativo

0

Eu costumava usar o editor de texto sublime, agora pretendo usar o Atom. Seria muito legal ter algum alias ou variável chamada "editor" que eu usasse em todos os scripts / comandos / launchers e vincular esse alias a um aplicativo que poderia ser alterado a qualquer momento, sem afetar esses comandos.

Como eu poderia fazer isso? Obrigado :)

    
por Sebastian 20.09.2015 / 22:22

3 respostas

2

Você pode tentar criar um link temporário chamado editor , que aponta para o editor atual que você está usando. Quando você muda para outro editor, basta apontar o link para o novo editor. Comando para criar um link temporário denominado editor para apontar para o texto sublime 3:

ln -sf subl3 editor

Crie melhor este link flexível em /usr/bin ou /bin , caso contrário, adicione o diretório que contém o link ao seu PATH , que pode ser acessado no terminal e nos scripts.

    
por Amritanshu Pandey 20.09.2015 / 22:47
3

As variáveis EDITOR e VISUAL são variáveis conhecidas comumente usadas para essa finalidade ( cron , sudo , bash , etc. use-a). Geralmente, VISUAL tem precedência sobre EDITOR . No entanto, ambos são normalmente usados em ambientes não-GUI. Nada impede que seja um programa GUI, mas eles geralmente não são.

Normalmente, você pode respeitar as configurações do usuário em um ambiente de área de trabalho usando xdg-open . xdg-open confia em várias ferramentas específicas do ambiente de desktop, como gnome-open ou kde-open ( Como o xdg-open faz seu trabalho? ).

Então, nos scripts, basta fazer:

xdg-open /some/file 
xdg-open proto://some/uri
    
por muru 20.09.2015 / 22:45
3

Já existe um binário genérico chamado editor , ou seja, /usr/bin/editor fornecido pelo sistema de alternativas do Debian ( update-alternatives ).

Este binário é na verdade um link simbólico para /etc/alternatives/editor :

$ ls -l /usr/bin/editor 
lrwxrwxrwx 1 root root 24 Feb  9  2015 /usr/bin/editor -> /etc/alternatives/editor

que, por sua vez, é um link simbólico para a seleção real do editor com base na prioridade ou manualmente:

$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Feb 10  2015 /etc/alternatives/editor -> /usr/bin/vim.basic

Agora, se eu abrir um arquivo com:

editor ~/.bashrc

isso realmente funciona:

vim.basic ~/.bashrc

Permite alterar o editor:

$ sudo update-alternatives --config editor 
There are 5 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/nedit       40        manual mode
* 4            /usr/bin/vim.basic   30        manual mode
  5            /usr/bin/vim.tiny    10        manual mode

Aquele com o * é o atualmente selecionado, navegue até o que você gosta e selecione-o pressionando Enter ou use diretamente update-alternatives --set ou você pode definir a prioridade como você vê na terceira coluna pelo comando update-alternatives --install . Para obter informações sobre algo, você pode usar os comandos update-alternatives --query ou update-alternatives --list .

Para instalar uma nova alternativa, use o comando update-alternatives --install . Por exemplo, adicionando o editor /usr/bin/foobar ao sistema alternativo editor e dando a ele uma prioridade de 100, para que esse seja o padrão agora:

sudo update-alternatives --install editor /etc/alternatives/editor /usr/bin/foobar 100

Verifique man update-alternatives para obter detalhes.

    
por heemayl 20.09.2015 / 22:46