93 votos

¿Cómo puedo iniciar TextEditor desde la línea de comandos?

Trabajo mucho en la línea de comandos en una Terminal y me gustaría iniciar un editor de texto en un determinado archivo. Soy de Linux Land y normalmente uso kwrite o gedit desde un shell bash. Tratando de encontrar el equivalente en Mac, como una suposición, intentó

user> textedit somefile.txt

y

user> texteditor somefile.txt

y

user> TextEditor somefile.txt

y otras variaciones. No consigo encontrar el nombre correcto de la aplicación de editor de texto. (No, vi no es de mi agrado.) Curiosamente, el chico de una tienda de Apple no sabía esto.

0 votos

Tanto Nathan como mipadi proporcionan respuestas, pero creo que sólo son respuestas parciales, así que he añadido una. No estoy seguro de si habría sido mejor combinar sus respuestas de alguna manera, y si es así, cómo haberlo hecho.

0 votos

@Viktor generalmente no es bueno volver a publicar cosas que la gente ya ha dicho, y los duplicados exactos se eliminan. Ya que tenías algo que añadir, una buena forma de hacerlo sería una respuesta que dijera "Además de las técnicas de Nathan y mipadi...", o comentarios sobre esas respuestas con tus añadidos. Lo que has hecho aquí está bien, pero no es exactamente una "mejor práctica". Gracias por preguntar; ahora ya lo sabes para el futuro :-).

143voto

Viktor Haag Puntos 818

He aquí algunas respuestas posibles, todas ellas utilizando la utilidad de línea de comandos "open".

El -a significa "abrir el argumento del archivo con la aplicación nombrada":

open -a TextEdit file.txt

El -e significa "abrir el argumento del archivo con la aplicación TextEdit":

open -e file.txt

El -t significa "abrir el archivo con la aplicación por defecto para la edición de archivos de texto, según lo determinado a través de LaunchServices". Por defecto, esto será /Applications/TextEdit.app; sin embargo, es posible que esta configuración sea anulada:

open -t file.txt

Por último, cualquier archivo de tipo "texto" será abierto por la aplicación vinculada al tipo de texto si simplemente dices open file.txt . Puede utilizar el comando "archivo" para revelar lo que el sistema operativo cree que es el tipo de archivo: file file.txt . Así, por ejemplo, si se cambia el nombre de "archivo.txt" por el de "archivo de texto", entonces open textfile lo abriría en la aplicación de edición de archivos de texto por defecto, siempre y cuando file textfile todavía pensaba que "textfile" era realmente un archivo de texto.

Un breve archivo de "ayuda" sobre open se puede encontrar ejecutando

open --help

O puede leer todo el manual con

man open

2 votos

Puse esto en mi .bash_profile "alias o='open -a Sublime\ 2'" y entonces puedo simplemente escribir en el símbolo del sistema "o texto.txt". Es muy fácil para los dedos ;)

0 votos

open es la única forma "correcta" de hacerlo.

15voto

michael Puntos 285

El editor de texto por defecto es TextEdit. Puede abrir un archivo de texto en él utilizando Abrir -a:

$ open -a TextEdit hi.txt

Si quieres usar otra aplicación, simplemente pon su nombre, así:

$ open -a Coda index.html

0 votos

Esto me ha funcionado (OSX Mojave) tanto con TextEdit como con Visual Studio Code. ¡Gracias!

11voto

AnonJr Puntos 111

Hay dos maneras:

Si su editor de texto por defecto es TextEdit, puede utilizar simplemente

open -t file.txt

para abrirlo en TextEditor.

Si su editor de texto por defecto no es TextEdit, y quiere abrirlo en TextEdit específicamente, puede utilizar

/Applications/TextEdit.app/Contents/MacOS/TextEdit file.txt

Cualquiera de ellos puede convertirse en un alias en su archivo de configuración del shell, por supuesto.

0 votos

Tenga en cuenta que la convención de pasar el argumento del nombre del archivo directamente al nombre de la aplicación en la línea de comandos puede no funcionar para todas las aplicaciones. Sólo las aplicaciones que están construidas para aceptar los nombres de los archivos en la línea de comandos como argumentos válidos para su apertura funcionarán de esta manera. I piense en que el más general open utiliza un método más completo para conseguir que una aplicación "abra" el argumento del archivo pasado al comando open (es decir, depende de la misma funcionalidad con la que funciona la acción "doble clic para abrir" del Finder).

0 votos

@Viktor Haag: Ambos funcionarán con TextEdit.

8voto

Martin Puntos 161

Si buscas una forma cómoda y con más "feeling linuxero" añade algo como lo siguiente a tu ~/.profile :

alias textmate='open -a TextMate'

o

alias textedit='open -a TextEdit'

dependiendo de sus editores.

3 votos

Aunque .profile funciona, .bash_profile es más común en OS X.

3voto

hellfur Puntos 33

Si ya has empezado a escribir en el terminal y quieres continuar en tu editor favorito puedes pulsar ctrl + X , ctrl + E y continuar trabajando en emacs o en su editor bash por defecto.

Si quieres cambiar el editor por defecto, cambia la variable de entorno EDITOR por tu favorito:

EDITOR=vim;export EDITOR

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