¿Cómo puedo abrir una ventana de Terminal directamente desde mi ubicación actual del Finder?


Respuestas:


134

A partir de Mac OS X Lion 10.7, Terminal proporciona Servicios para abrir una nueva ventana o pestaña de terminal en la carpeta seleccionada en Finder. También funcionan con rutas absolutas seleccionadas en el texto (en cualquier aplicación). Puede habilitar estos servicios con Preferencias del sistema> Teclado> Atajos de teclado> Servicios . Busque "Nueva terminal en la carpeta" y "Nueva pestaña de terminal en la carpeta". También puede asignarles teclas de acceso directo.

Además, ahora puede arrastrar carpetas (y nombres de ruta) al icono de la aplicación Terminal para abrir una nueva ventana de terminal, o en una barra de pestañas en una ventana de terminal para crear una nueva pestaña en esa ventana. Si arrastra a una pestaña (en lugar de a la vista de terminal), ejecutará un cdcomando completo para cambiar a ese directorio sin ningún tipo de escritura adicional.

A partir de OS X Mountain Lion 10.8, Comando-Arrastrar a un terminal también ejecutará un cdcomando completo .

Nota: 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". Regrese a la carpeta principal, seleccione la carpeta relevante, luego active el servicio a través del menú Servicios o el menú contextual.


2
"Además, ahora puede arrastrar carpetas (y nombres de ruta) al icono de la aplicación Terminal para abrir una nueva ventana de terminal", ¿me está tomando el pelo? ¡Eso es genial! :)
phil

3
En Mavericks 10.9.4 - los atajos no funcionan para mí. Gracias por arrastrar y soltar punta :)
amar

1
@amar ¿Podrías compartir con nosotros lo que hiciste? También roto para mí en 10.10
OJFord

2
@Olive: después de actualizar a los accesos directos de Yesomite ya no funcionó para mí :(
amar

44
Una cosa que noté, y esto es con El Capitán, es que debe seleccionar la carpeta en Finder (haga clic en la carpeta que ve dentro del buscador). La forma en que esperaba que esto funcionara es que abriría una ventana de Terminal en la carpeta actual. De hecho, debe seleccionar la carpeta dentro de la ventana.
sillygwailo

19

La solución a sus problemas se llama Go2Shell y hace exactamente lo que está describiendo. Puedes encontrarlo en la App Store y lo mejor de todo ... es totalmente gratis.

Go2Shell


Si desea utilizar iTerm en su lugar con Go2Shell, consulte esta respuesta para que aparezca las preferencias . O, en resumen, escriba open -a Go2Shell --args configpara abrir la configuración.
Jeromy Anglim

@jherran parece estar bien ahora
Colas

1
La última versión no se puede instalar a través de la tienda de aplicaciones, sino desde su sitio web zipzapmac.com/Go2Shell , o por brew cask install go2shell.
fiedl

pude instalar la última versión, v1.2.2 de la tienda de aplicaciones apple / itunes, funcionando perfectamente bien
computingfreak

14

Un enfoque diferente: DTerm , que le ofrece un símbolo del sistema flotante en la parte superior de la ventana. Esto funciona en muchas aplicaciones, no solo en Finder.


13

cdto parece que es justo lo que necesitas. Es una mini aplicación, diseñada para colocarse en la barra de herramientas del Finder, cuando la ejecutas abrirá una ventana de terminal y cdel directorio actual en Finder.


10

Para aquellos que usan iTerm, la sintaxis de AppleScript ha cambiado en iTerm versión 3. Este es el procedimiento completo a seguir para crear un acceso directo en el Finder.

  1. Iniciar Automator.

  2. Seleccione "Aplicación":

ilustración de instrucciones

  1. Elija "ejecutar Applescript":

ingrese la descripción de la imagen aquí

  1. Pega el siguiente código:

    -- get the current directory in Finder
    on run {input, parameters}
        tell application "Finder"
            set _cwd to quoted form of (POSIX path of (folder of the front window as alias))
        end tell
        CD_to(_cwd)
    end run
    
    -- change directory in iTerm (version >= 3)
    on CD_to(_cwd)
        tell application "iTerm"
            activate
    
            try
                set _window to first window
            on error
                set _window to (create window with profile "Default")
            end try
    
            tell _window
                tell current session
                    write text "cd " & _cwd & ";clear;"
                end tell
            end tell
        end tell
    end CD_to

ingrese la descripción de la imagen aquí

  1. Haga clic en "Archivo" -> "Exportar" para exportar como .app, guárdelo /Applications.

  2. Mueva la aplicación a la barra de iconos del Finder mientras mantiene presionada :

ingrese la descripción de la imagen aquí

Hecho !

Puede cambiar el icono en el Finder siguiendo las instrucciones aquí (cambie el icono de la aplicación que creó con Automator).


9

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 algunas ventajas en comparación con los servicios agregados en 10.7:

  • A partir de 10.9, hay un error en el que los servicios que reciben carpetas como entrada nunca se enumeran en el menú de servicios en la vista de columna. Si asigna a la pestaña Nueva terminal en el servicio Carpeta un método abreviado de teclado, no funciona en la vista de columna.
  • 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.

Si usa 10.7 o 10.8, cambie tell application "Finder" to set p to POSIX path of (insertion location as alias)a:

tell application "Finder"
    if exists Finder window 1 then
        set p to POSIX path of (target of Finder window 1 as alias)
    else
        set p to POSIX path of (path to desktop)
    end if
end tell

Hay un error en 10.7 y 10.8 (pero no en 10.9 o 10.6) donde Finder ignora las ventanas creadas después de que la última vez que el foco se movió a otra aplicación y viceversa al obtener la insertion locationpropiedad.



3

Puede arrastrar cualquier archivo o carpeta desde el buscador a una ventana de Terminal para insertar una cadena de la ruta absoluta de dicho archivo o carpeta.

Esto funcionará en cualquier instalación estándar (al menos hasta 10.4 Tiger [ ¿tal vez antes? ]) Sin necesidad de software adicional, nuestro giro de preferencias, cualquiera de los cuales puede asustar a su amigo no técnico si resulta ser suya. Mac en el que estás trabajando. Este truco también funciona para cualquier proceso que se esté ejecutando en la Terminal, por ejemplo, emacs o vi (suponiendo que tenga vi en el modo apropiado, o sin embargo es que las personas que usan vi lo hacen).







-1

 

    OpenTerminal


1
Enlace inactivo :(. Esta es la razón por la cual las respuestas de enlace solo tienen una vida corta o deben revisarse regularmente para mantenerse con vida.
Dan

@daniel Sustituido con el enlace archive.org
grg
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.