Come posso avviare TextEditor dalla riga di comando?

59

Lavoro molto alla riga di comando in un terminale e vorrei avviare un editor di testo su un determinato file. Vengo da Linux Land e normalmente uso kwrite o gedit da una shell bash. Cercando di trovare l'equivalente Mac, a titolo di prova, ho provato

user> textedit somefile.txt

e

user> texteditor somefile.txt

e

user> TextEditor somefile.txt

e altre varianti. Non riesco a trovare il nome corretto dell'app di editor di testo. (No, vi non è di mio gradimento.) Stranamente, il ragazzo di un negozio Apple non lo sapeva.

    
posta DarenW 27.06.2011 - 20:15
fonte

8 risposte

97

Ecco alcune possibili risposte, tutte usando l'utility da riga di comando 'apri'.

L'opzione -a significa "apri l'argomento file con l'applicazione denominata":

open -a TextEdit file.txt

L'opzione -e significa "apri l'argomento del file con l'applicazione TextEdit":

open -e file.txt

L'opzione -t significa "apri il file con l'applicazione predefinita per modificare i file di testo, come determinato tramite LaunchServices". Per impostazione predefinita, questo sarà / Applications/TextEdit.app; tuttavia, è possibile che questa impostazione venga ignorata:

open -t file.txt

Infine, qualsiasi file di tipo "testo" verrà aperto dall'applicazione associata al tipo di testo se si dice open file.txt . È possibile utilizzare il comando "file" per rivelare quale sia il tipo di file che il sistema operativo pensa: file file.txt . Ad esempio, se hai rinominato "file.txt" in "file di testo", open textfile lo aprirà comunque nell'applicazione di modifica dei file di testo predefinita, a condizione che file textfile continui a pensare che "file di testo" sia effettivamente un file di testo.

Un breve file di "aiuto" su open può essere trovato eseguendo

open --help

Oppure puoi leggere l'intero manuale con

man open
    
risposta data 27.06.2011 - 20:57
fonte
11

L'editor di testo predefinito è TextEdit. Puoi aprire un file di testo lì utilizzando aperto -a:

$ open -a TextEdit hi.txt

Se vuoi utilizzare un'altra app, inserisci il suo nome, in questo modo:

$ open -a Coda index.html
    
risposta data 27.06.2011 - 20:25
fonte
8

Ci sono due modi:

Se il tuo editor di testo predefinito è TextEdit, puoi semplicemente usare

open -t file.txt

per aprirlo in TextEditor.

Se il tuo editor di testo predefinito non è TextEdit, e vuoi aprirlo in TextEdit in modo specifico, puoi usare

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

Ovviamente è possibile creare un alias nel file di configurazione della shell.

    
risposta data 27.06.2011 - 20:20
fonte
6

Se cerchi un modo comodo con più "linux feel" aggiungi qualcosa di simile al tuo ~/.profile :

alias textmate='open -a TextMate'

o

alias textedit='open -a TextEdit'

a seconda dei tuoi editor.

    
risposta data 11.01.2014 - 12:55
fonte
3

Se hai già iniziato a scrivere sul terminale e vuoi continuare sul tuo editor preferito, puoi premere ctrl + X , ctrl + E e continua a lavorare in emacs o nell'editor bash predefinito.

Se vuoi modificare l'editor di default, modifica la variabile di ambiente EDITOR sulla tua preferita:

EDITOR=vim;export EDITOR
    
risposta data 11.01.2014 - 14:16
fonte
0

Vedi se hai l'editor di vim, non mi ero nemmeno reso conto che il mio terminale potesse usarlo.

Prova:

user> vimtutor 

per capire i suoi controlli.

È possibile modificare i file abbastanza bene con esso. La sintassi assomiglia a:

user> vim foo.txt
    
risposta data 17.02.2014 - 07:17
fonte
0

TextWrangler (ora defunct e sostituito con BBEdit) se installato con Command Line Utilities , ti permette di fare:

edit README.txt

per avviare TextWrangler, che per me è più bello di open -t README.txt , ma forse sto solo soffrendo di inerzia.

FYI - edit è un file eseguibile binario (dal kit TextWrangler), non solo un alias o un collegamento simbolico.

    
risposta data 06.12.2017 - 00:16
fonte
-3

Usa il comando gedit :

gedit your-file.ext
    
risposta data 27.02.2018 - 06:12
fonte

Leggi altre domande sui tag