Abra la terminal aquí en el buscador de Mac OS [cerrado]
682
¿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.
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").
@ OlcayErtaş ¿Qué no funciona? Todo en mi respuesta funciona en Yosemite 10.10.x.
Chris Page
2
¿Tengo que reiniciar Finer? No sé por qué, pero he habilitado el servicio New Terminal at Folder pero no funcionó.
Olcay Ertaş
13
@ OlcayErtaş tiene que hacer clic derecho en el icono de una carpeta para obtener el elemento del menú; no navegue a la carpeta en sí, sino a su padre.
Jonathan Landrum
2
Puedo usarlo haciendo clic con el botón derecho / servicios, pero no puedo usarlo mediante atajos de teclado.
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_profilepara poder escribir cdffTerminal 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 $@`"; };
"abrir" abre una nueva ventana del Finder en el directorio actual
jolvi
2
@jolvi que es lo contrario de lo que proporciona esta respuesta. El punto no es abrir una ventana del buscador en pwd, sino al cddirectorio en el que está abierto el buscador.
Jonathan Landrum
Ah, lo siento, por supuesto que tienes razón.
jolvi
14
Echa un vistazo a Abrir terminal aquí . Puede ser el más similar a "Abrir ventana de comandos aquí". Solía >cdtoy 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 .
¡Esto es asombroso! Tenga en cuenta que debe Comando + Arrastrar (no solo arrastrar como se indica en la publicación anterior) a la Barra de herramientas del Finder. Y luego tiene un acceso directo de icono que, cuando se hace clic, terminará desde cualquier carpeta.
B. Nadolson
10
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
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:
posd: que proporciona el directorio actual de la ventana del Finder (para la cual presumiblemente crea un alias cdf = cd posd)
fdc: que cambia el directorio actual de la ventana del Finder frontal al Terminal pwd. Esto es ligeramente diferente de 'abierto'. que siempre abre una nueva ventana de búsqueda.
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.
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:
Usan la carpeta en la barra de título en lugar de requerir que primero seleccione una carpeta.
Reutilizan la pestaña frontal si no está ocupada, por ejemplo, ejecutando un comando, mostrando una página de manual o ejecutando emacs.
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
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.
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:
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").
fuente
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.
fuente
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.
fuente
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 escribircdff
Terminal en cualquier momento.Esto es de esta sugerencia de terminal de macosxhints.com .
fuente
pwd
, sino alcd
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!
fuente
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 .
fuente
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
fuente
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
fuente
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):
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.
fuente
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/
fuente
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.
fuente
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.
fuente
Principalmente uso esta función:
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):
Reutilice una pestaña existente o cree una nueva pestaña (Terminal):
Siempre cree una nueva pestaña (iTerm 2):
Los dos primeros scripts tienen dos ventajas en comparación con los servicios agregados en 10.7:
fuente
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.
fuente