Existe algo semelhante ao "Abrir janela de comando aqui" do Windows Powertoy para Mac OS? Eu encontrei alguns plugins através de uma pesquisa no Google, mas queria ver o que funciona melhor para os desenvolvedores por aí.
Existe algo semelhante ao "Abrir janela de comando aqui" do Windows Powertoy para Mac OS? Eu encontrei alguns plugins através de uma pesquisa no Google, mas queria ver o que funciona melhor para os desenvolvedores por aí.
Respostas:
No Mac OS X Lion 10.7, o Terminal inclui exatamente essa funcionalidade como serviço. Como na maioria dos Serviços, eles são desativados por padrão, portanto, você precisará habilitá-lo para que apareça no menu Serviços.
Preferências do Sistema> Teclado> Atalhos> Serviços
Ative o novo terminal na pasta . Há também a nova guia Terminal na pasta , que criará uma guia na janela frontal do Terminal (se houver, caso contrário, criará uma nova janela). Esses serviços funcionam em todos os aplicativos, não apenas no Finder, e operam em pastas e nomes de caminhos absolutos selecionados no texto.
Você pode até atribuir chaves de comando a eles.
Os serviços aparecem no submenu Serviços de cada menu do aplicativo e dentro do menu contextual (clique com a tecla Control pressionada ou com o botão direito do mouse em uma pasta ou nome de caminho).
O serviço Novo terminal na pasta ficará ativo quando você selecionar uma pasta no Finder. Você não pode simplesmente abrir a pasta e executar o serviço "no local". Volte para a pasta pai, selecione a pasta relevante e ative o serviço através do menu Serviços ou menu de contexto.
Além disso, o Lion Terminal abrirá uma nova janela de terminal se você arrastar uma pasta (ou nome do caminho) para o ícone do aplicativo Terminal e também pode arrastar para a barra de guias de uma janela existente para criar uma nova guia.
Por fim, se você arrastar uma pasta ou nome de caminho para uma guia (na barra de guias) e o processo em primeiro plano for o shell, ele executará automaticamente um comando "cd". Arrastar para a visualização do terminal na guia apenas insere o nome do caminho por conta própria, como nas versões mais antigas do Terminal.
Você também pode fazer isso na linha de comando ou em um script de shell:
open -a Terminal /path/to/folder
É o equivalente na linha de comando de arrastar uma pasta / nome do caminho para o ícone do aplicativo Terminal.
Em uma nota relacionada, o Lion Terminal também possui novos Serviços para procurar páginas de manual: A página de manual aberta no Terminal exibe o tópico da página de manual selecionado em uma nova janela do terminal, e Pesquisar páginas de manual no Terminal executa "apropos" no texto selecionado. O primeiro também entende referências da página de manual ("open (2)"), argumentos da linha de comando da página de manual ("2 open") e URLs da página de manual ("x-man-page: // 2 / open").
Este:
https://github.com/jbtule/cdto#cd-to
É um aplicativo pequeno que você arrasta para a barra de ferramentas do Finder. O ícone se encaixa muito bem. Funciona com o Terminal, xterm (sob X11), iterm.
Um aplicativo que considero indispensável como alternativa é o DTerm , que na verdade abre um mini terminal diretamente no seu aplicativo. Além disso, funciona com praticamente tudo o que há por aí - Finder, XCode, PhotoShop, etc.
Esclarecimento (obrigado @ vgm64): se você já está no Terminal, isso permite que você mude rapidamente para a janela superior do Finder sem sair do Terminal. Dessa forma, você pode evitar o uso do mouse.
Adicionei o seguinte ao meu .bash_profile
para que eu possa digitar o cdff
Terminal a qualquer momento.
function ff { osascript -e 'tell application "Finder"'\
-e "if (${1-1} <= (count Finder windows)) then"\
-e "get POSIX path of (target of window ${1-1} as alias)"\
-e 'else' -e 'get POSIX path of (desktop as alias)'\
-e 'end if' -e 'end tell'; };\
function cdff { cd "`ff $@`"; };
pwd
, mas cd
para o diretório em que o localizador está aberto.
Verificação de saída Terminal Aberto Aqui . Pode ser o mais semelhante a "Abrir janela de comando aqui". eu usei>cdto
e isso é muito parecido, mas isso parece ser um pouco melhor para lidar com o Spaces ... mas não é perfeito.
O que tem de bom é a capacidade de " detectar eventos de pressionamento de tecla no início do aplicativo e usá-los para modificar o comportamento do script ", permitindo que o script abra uma nova guia na janela mais frontal do terminal quando invocado mantendo pressionada a tecla.. Truque legal.
Observe também a resposta de PCheese; provavelmente é mais útil para usuários pesados de terminais!
Existe uma versão atualizada do muito agradável e fino Terminal Aberto Aqui postado por vgm64 e d0k . A mudança foi feita por James David Low . Ele publicou a nova versão em seu site . Basta baixar o OpenTerminalHere.zip, extraí-lo, mover o pacote para a pasta Biblioteca / Scripts e arrastá-lo para a barra de ferramentas do Finder.
O que é especial é que ele sempre abre uma nova guia se uma janela Terminal.app já estiver aberta. Muito útil! Também observei que o estilo do botão do aplicativo se encaixa melhor no estilo Snow Leopard Finder.app do que o cdto postado por redigido .
Além disso, você pode copiar um item do localizador usando o comando-C, pular para o Terminal (por exemplo, usando o Spotlight ou o QuickSilver), digite 'cd' e simplesmente cole com o comando-v
Criei um pacote com 3 aplicativos para a barra de ferramentas do localizador. Os outros dois aplicativos fazem:
Para mais informações, consulte aqui: http://nslog.de/posts/71
Se você instalar o Big Cat Scripts ( http://www.ranchero.com/bigcat/ ), poderá adicionar seus próprios itens de menu contextual (clique com o botão direito do mouse). Eu não acho que ele seja fornecido com um AppleScript Open Terminal Here, mas eu uso esse script (do qual não me lembro honestamente se eu mesmo escrevi ou usei o exemplo de outra pessoa):
on main(filelist)
tell application "Finder"
try
activate
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
do script with command "cd \"" & frontWinPath & "\""
end tell
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
end main
Scripts semelhantes também podem fornecer o caminho completo para um arquivo com o botão direito, o que é ainda mais útil, eu acho.
É um pouco mais do que você está pedindo, mas recomendo o Path Finder da Cocoatech para quem deseja que o Finder tenha um pouco mais de suco. Ele inclui um botão da barra de ferramentas para abrir uma janela do Terminal para o diretório atual ou um painel retrátil com uma linha de comando do Terminal na parte inferior de cada janela do Finder. Além de muitos outros recursos que agora não posso viver sem. Software muito maduro e estável. http://cocoatech.com/
Ok, eu sei que isso é um pouco tarde ... talvez essa alternativa não estivesse disponível no momento de escrever o post?
Enfim, eu achei a instalação do pacote pos via Fink (um pré-requisito nesse caso, talvez exista algo semelhante para quem usa o MacPorts?) Como a solução mais fácil. Você recebe dois comandos:
Sim, você precisa alternar para a janela Terminal antes de escrever cdf, mas suponho que seja bastante barato se você clicar em um botão na barra de ferramentas do Finder. E também funciona com o iTerm, você não precisa baixar um botão separado da barra de ferramentas do Finder que abre uma janela do iTerm. Essa é a mesma abordagem proposta pelo PCheese, mas você não precisa desorganizar o seu .bash_profile.
Se, como eu, você desativar a barra de ferramentas do Finder, este serviço adicionará um item ao menu contextual de cada pasta: http://blog.leenarts.net/2009/09/03/open-service-here/
Isso também permite abrir qualquer pasta que você vê na visualização em árvore do Finder.
Eu principalmente uso esta função:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
Você também pode atribuir um atalho a um script como os abaixo.
Reutilize uma guia existente ou crie uma nova janela (Terminal):
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
if (exists window 1) and not busy of window 1 then
do script "cd " & quoted form of p in window 1
else
do script "cd " & quoted form of p
end if
activate
end tell
Reutilize uma guia existente ou crie uma nova guia (Terminal):
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
if not (exists window 1) then reopen
activate
if busy of window 1 then
tell application "System Events" to keystroke "t" using command down
end if
do script "cd " & quoted form of p in window 1
end tell
Sempre crie uma nova guia (iTerm 2):
tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "iTerm"
if exists current terminal then
current terminal
else
make new terminal
end if
tell (launch session "Default") of result to write text "cd " & quoted form of p
activate
end tell
Os dois primeiros scripts têm duas vantagens em comparação com os serviços adicionados na versão 10.7:
Há um erro no AppleScript no OSX 10.6. (2 janelas do terminal abertas). Corrigi isso adicionando o comando close após ativar. Isso fecha a primeira janela do terminal.
on run
tell application "Finder"
try
activate
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
close
do script with command "cd \"" & frontWinPath & "\""
end tell
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
end run