4 votos

Abrir un archivo de texto desde el Finder en Vim

Hago mucha programación y estoy empezando a hacer un poco de desarrollo web. De momento voy a hacer unos cuantos archivos y carpetas, por eso, ¿hay alguna forma de abrir una aplicación en vim (en terminal no en visual vim) al hacer doble/derecho sobre el archivo en finder?

Gracias

3voto

Pejvan Puntos 376

Crear un Applet. El script que aparece a continuación debería servirte para empezar. Guarde ese Applet en el lugar de su preferencia ( /Applications/ ). Seleccione cualquier archivo de texto y pulse +I(nfo) > Abrir con: > Otros > Selecciona tu Applet, y luego haz clic en cambiar todo. Ahora cada vez que abra cualquier archivo de texto se ejecutará ese applet, que abrirá el archivo en vim.

on open theFiles
    tell application "Terminal"
        activate
        -- If there are no open windows, open one.
        if (count of windows) is less than 1 then
            do script ""
        end if
        set theTab to selected tab in first window
        set filePath to POSIX path of item 1 of theFiles
        do script "/usr/bin/vim " & quoted form of filePath in theTab
    end tell
    return
end open

on run
    --  Handle the case where the script is launched without any dropped files
    open (choose file with multiple selections allowed)
    return
end run

1voto

Vineet Mangal Puntos 478

El código siguiente se ha probado con Mojave y admite una ruta de archivo en la que los componentes del directorio y del nombre de archivo pueden contener espacios de forma opcional. Establece el directorio de trabajo a la ubicación del archivo subyacente.

on run {input}
  set filename to quoted form of POSIX path of input
  -- support both directories and file names with spaces within
  set cmd to "clear;cd \"$(dirname " & filename & ")\";/usr/bin/vim " & filename & "; exit"
  tell application "System Events" to set termRunning to exists application process "Terminal"
  tell application "Terminal"
    activate
    if termRunning is true then
      set newWnd to do script with command cmd
    else
      do script with command cmd in window 1
    end if
  end tell
end run

Utilice Automator para crear una nueva acción "Ejecutar AppleScript" con el contenido anterior y guarde el scripten una ubicación adecuada (por ejemplo, en /Aplicaciones/)

-1voto

user2028856 Puntos 171

He creado un proyecto en github con dos versiones de estos apple scripts. Uno puede abrir archivos y otro puede editar cualquier texto seleccionado en el lugar (por ejemplo, en Mail, Safari, etc.).

https://github.com/normen/vim-MacOS-scripts

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X