2011-09-18 7 views
5

Cuando uso vim newfilename para abrir un archivo y este archivo no sale, vim creará un nuevo archivo con el nombre newfilename.MacVim: cree un archivo nuevo desde la línea de comando utilizando `alias mvim =" abrir -macrovim "`

Sin embargo, MacVim no funciona de esta manera --- es decir mvim newfilename (alias mvim="open -a macvim") dará lugar a un error: newfilename does not exist

¿Hay una manera de configurar MacVim tal que mvim newfilename (alias mvim="open -a macvim") va a crear un nuevo archivo y abrirlo?

+0

Estoy ejecutando mvim versión 7.3.237 y crea nuevos archivos muy bien. ¿Qué versión estás ejecutando? –

+0

@ peter-lyons: es extraño, tengo la misma versión. Descargo el binario 'macvim' del sitio web oficial, en lugar de compilar el código fuente. ¿Ese es el problema? – Liw

+0

Obtuve la instantánea 58 de aquí (estoy ejecutando Janus). Tal vez intentar eso? https://github.com/b4winckler/macvim/downloads De lo contrario, es fácil alias mvim en su shell para una pequeña función de shell que usa 'touch' para hacer un archivo si aún no existe y luego ejecutar mvim en él . –

Respuesta

6

Supongo que el mensaje de error proviene de open, no de vim. Puede reemplazar su alias con una función;

mvim() { 
    local f 
    for f; do 
     test -e "$f" || touch "$f" 
    done 
    open -a macvim "[email protected]" 
} 

Esto creará archivos vacíos si es necesario antes de abrirlos.

editar No se ha encontrado comentario de @Peter Lyons sobre esto; el crédito debe ir a él por primera vez sugiriendo esta solución. Estaré encantado de eliminar esta respuesta si Peter quiere enviar la suya.

+0

¡Funciona muy bien, muchas gracias! @ Peter Lyons: ¡muchas gracias también! – Liw

2

No necesita el alias mvim para abrir el comando, en su lugar puede usar el mvim launcher script que viene incluido con la mayoría de MacVim Snaphots. Después de agregar ese mvim a su ruta, entonces runing mvim newfile, ahora abrirá un nuevo buffer en una nueva ventana de MacVim como lo haría gvim. Para guardar y escribir el archivo, deberá escribir: w para escribir el archivo en el disco; de lo contrario, no va a escribir el archivo.

Cuestiones relacionadas