¿Hay algo similar al "Abrir ventana de comandos aquí" Windows Powertoy para Mac OS? He encontrado un par de complementos a través de una búsqueda en Google, pero quería ver qué funciona mejor para los desarrolladores.
¿Hay algo similar al "Abrir ventana de comandos aquí" Windows Powertoy para Mac OS? He encontrado un par de complementos a través de una búsqueda en Google, pero quería ver qué funciona mejor para los desarrolladores.
Respuestas:
A partir de Mac OS X Lion 10.7, Terminal incluye exactamente esta funcionalidad como Servicio. Como con la mayoría de los Servicios, estos están deshabilitados de manera predeterminada, por lo que deberá habilitarlo para que aparezca en el menú Servicios.
Preferencias del sistema> Teclado> Accesos directos> Servicios
Habilitar nueva terminal en la carpeta . También hay Nueva pestaña de terminal en la carpeta , que creará una pestaña en la ventana de terminal más frontal (si existe, de lo contrario creará una nueva ventana). Estos servicios funcionan en todas las aplicaciones, no solo en Finder, y operan en carpetas y en nombres de ruta absolutos seleccionados en el texto.
Incluso puede asignarles teclas de comando.
Los servicios aparecen en el submenú Servicios de cada menú de aplicación y dentro del menú contextual (Control-clic o clic derecho en una carpeta o nombre de ruta).
El servicio Nueva Terminal en Carpeta se activará cuando seleccione una carpeta en Finder. No puede simplemente abrir la carpeta y ejecutar el servicio "en su lugar". Vuelva a la carpeta principal, seleccione la carpeta correspondiente, luego active el servicio a través del menú Servicios o el menú contextual.
Además, Lion Terminal abrirá una nueva ventana de terminal si arrastra una carpeta (o nombre de ruta) al icono de la aplicación Terminal, y también puede arrastrar a la barra de pestañas de una ventana existente para crear una nueva pestaña.
Finalmente, si arrastra una carpeta o nombre de ruta a una pestaña (en la barra de pestañas) y el proceso en primer plano es el shell, ejecutará automáticamente un comando "cd". (Arrastrando a la vista de terminal dentro de la pestaña simplemente inserta el nombre de ruta por sí solo, como en versiones anteriores de Terminal).
También puede hacer esto desde la línea de comandos o un script de shell:
open -a Terminal /path/to/folder
Este es el equivalente de la línea de comandos de arrastrar una carpeta / nombre de ruta al icono de la aplicación Terminal.
En una nota relacionada, Lion Terminal también tiene nuevos Servicios para buscar páginas de manual: Abrir la página de manual en Terminal muestra el tema de la página de manual seleccionado en una nueva ventana de terminal, y Buscar páginas de manual en Terminal realiza "apropos" en el texto seleccionado. El primero también comprende las referencias de la página de manual ("open (2)"), los argumentos de la línea de comando de la página de manual ("2 open") y las URL de la página de manual ("x-man-page: // 2 / open").
Esta:
https://github.com/jbtule/cdto#cd-to
Es una pequeña aplicación que arrastra a la barra de herramientas del Finder, el ícono encaja muy bien. Funciona con Terminal, xterm (bajo X11), iterm.
Una aplicación que he encontrado indispensable como alternativa es DTerm , que en realidad abre un mini terminal directamente en su aplicación. Además, funciona con casi todo lo que existe: Finder, XCode, PhotoShop, etc.
Aclaración (gracias @ vgm64): si ya está en la Terminal, esto le permite cambiar rápidamente a la ventana del Finder superior sin salir de la Terminal. De esta manera, puede evitar usar el mouse.
He agregado lo siguiente a mi .bash_profile
para poder escribir cdff
Terminal en cualquier 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 $@`"; };
Esto es de esta sugerencia de terminal de macosxhints.com .
pwd
, sino al cd
directorio en el que está abierto el buscador.
Echa un vistazo a Abrir terminal aquí . Puede ser el más similar a "Abrir ventana de comandos aquí". Solía >cdto
y esto es muy similar, pero parece ser un poco mejor en el tratamiento de espacios ... pero no es perfecto.
Lo que tiene de muy bueno es la capacidad de " detectar eventos de pulsación de tecla al inicio de la aplicación y usarlos para modificar el comportamiento del script ", lo que permite que el script abra una nueva pestaña en la ventana del terminal más frontal cuando se invoca manteniendo presionada la tecla ⌘. Buen truco.
También tenga en cuenta la respuesta de PCheese; ¡Probablemente sea más útil para usuarios de terminales pesados!
Hay una versión actualizada de la muy agradable y delgada Open Terminal aquí publicada por vgm64 y d0k . El cambio fue realizado por James David Low . Publicó la nueva versión en su sitio . Simplemente descargue OpenTerminalHere.zip, extráigalo, mueva el paquete a su carpeta Biblioteca / Scripts y arrástrelo desde allí a su barra de herramientas del Finder.
Lo especial es que siempre abre una nueva pestaña si ya está abierta una ventana de Terminal.app. ¡Muy útil! También noté que el estilo del botón de la aplicación se adapta mejor al estilo Snow Leopard Finder.app que el cdto publicado por redactado .
Además, puede copiar un elemento del buscador con el comando-C, saltar a la Terminal (por ejemplo, con Spotlight o QuickSilver) escriba 'cd' y simplemente pegar con el comando-v
Creé un paquete con 3 aplicaciones para la barra de herramientas del buscador. Las otras dos aplicaciones lo hacen:
Para obtener más información, consulte aquí: http://nslog.de/posts/71
Si instala Big Cat Scripts ( http://www.ranchero.com/bigcat/ ) puede agregar sus propios elementos de menú contextual (clic derecho). No creo que venga con un AppleScript de Open Terminal Here, pero uso este script (que honestamente no recuerdo si me escribí a mí mismo o si saqué el ejemplo de otra persona):
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 similares también pueden obtener la ruta completa a un archivo con el clic derecho, lo que es aún más útil, creo.
Es un poco más de lo que estás pidiendo, pero recomiendo Cocoatech's Path Finder para cualquiera que desee que Finder tenga un poco más de jugo. Incluye un botón de barra de herramientas para abrir una ventana de Terminal para el directorio actual, o un panel retráctil con una línea de comando de Terminal en la parte inferior de cada ventana del Finder. Además de muchas otras características sin las que ahora no puedo vivir. Software muy maduro y estable. http://cocoatech.com/
Ok, me doy cuenta de que esto es un poco tarde ... ¿tal vez esta alternativa no estaba disponible al momento de escribir la publicación?
De todos modos, he encontrado que instalar el paquete pos a través de Fink (un requisito previo en este caso, ¿tal vez hay algo similar para quienes usan MacPorts?) Es la solución más fácil. Obtienes dos comandos:
Sí, debe cambiar a la ventana Terminal antes de escribir cdf, pero supongo que es bastante barato en comparación con hacer clic en un botón en la barra de herramientas del Finder. Y también funciona con iTerm, no tiene que descargar un botón de la barra de herramientas del Finder que abra una ventana de iTerm. Este es el mismo enfoque propuesto por PCheese, pero no tiene que saturar su .bash_profile.
Si, como yo, apaga la barra de herramientas del Finder, este Servicio agrega un elemento al menú contextual de cada carpeta: http://blog.leenarts.net/2009/09/03/open-service-here/
Esto también le permite abrir cualquier carpeta que vea en la vista de árbol del Finder.
Principalmente uso esta función:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
También puede asignar un acceso directo a un script como los que se muestran a continuación.
Reutilice una pestaña existente o cree una nueva ventana (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
Reutilice una pestaña existente o cree una nueva pestaña (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
Siempre cree una nueva pestaña (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
Los dos primeros scripts tienen dos ventajas en comparación con los servicios agregados en 10.7:
Hay un error en AppleScript en OSX 10.6. (2 ventanas de terminal abiertas). Lo arreglé agregando el comando de cierre después de activar. Esto cierra la primera ventana de 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