O motivo pelo qual não funciona é que você tem o alias errado. Aqui está o correto para o Sublime Text 3:
alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
Este é um alias que o Sublime Text fornece especificamente para o macOS. Ele não bloqueará a execução e, por padrão, arquivos abertos em uma guia ao lado dos que já estão abertos.
Se você quiser saber mais sobre por que seu alias não funcionou, continue lendo.
Os pacotes de aplicativos no OS X possuem um sufixo .app
, mas, quando iniciados, eles lançam um binário especificado em Info.plist
no pacote. Este é o binário do seu alias, na pasta MacOS
.
A execução de um aplicativo a partir da GUI ou por meio dos Serviços de inicialização (por exemplo, osascript
ou open
) torna o OS X aberto nesse binário, mas ao mesmo tempo garante que ele esteja apenas lançando uma instância desse aplicativo. Quando você chama o binário diretamente, você ignora essa restrição e ativa outra instância do aplicativo - a menos que o aplicativo tenha medidas para impedir que duas instâncias sejam iniciadas, que normalmente o OS X manipula.
Além disso, como efeito colateral, o lançamento do binário bloqueará a execução do terminal até você sair do programa ou suspendê-lo para o segundo plano. O uso do subl
do Sublime Text embutido retorna o controle para o seu terminal, já que ele realmente usa uma chamada do Launch Services para abrir o pacote Sublime em vez de endereçar o binário em MacOS
.
Como você está basicamente lançando uma segunda instância do Sublime Text, ele mostrará os arquivos que ele abriu anteriormente, porque esse é o comportamento padrão.