How do I invoke a text editor from the terminal?

open -e <filename>

The option -e is used to open the file <filename> with TextEdit.


There are plenty of ways. Try:

  1. vi <filename you want to save or open.cpp>,
  2. pico,
  3. Open /Applications/TextEdit.app <filename>.

Simply use open <filename> command as described in this article. It will open an app associated with the file type.

Use open -e to open /Applications/TextEdit


About some of the previous suggestions here - you can use open command combined with a flag to open a file with specific application:

open -a [appname] [filename]

but if [filename] doesn't exist it displays an error the file doesn't exists or something like that, and doesn't create the required file, as you have requested.

Write the following to your ~/.bashrc file (if that file doesn't exists, you can create it by writing touch ~/.bashrc inside the terminal):

open2()
{
  touch $2
  open -a $1 $2
}

And use it like this:

open2 [appname] [filename]

Note that appname is an application in your installed application folder (/Applications).

The command touch creates you the required file (don't worry, if the file exists it won't remove / reset the current file, only redefine the modification time to the current time).


The problem with:

open -e

or

open -a TextEdit

is that you have no control on the TextEdit.app modes: Plain Text or RichText.

E.g. if you try to open an HTML file, TextEdit will open it in the Rich Text mode, not in the Plain Text mode, as expected. Then switching to the Plain Text mode will not show the HTML tags.
I could not find a Terminal command to activate the Open option:

Ignore rich text commands

or the Preference setting:

Display HTML files as HTML code instead of formatted text

As far as I can see, even an osascript won't solve the case.

This is unfortunate since TextEdit.app is the only text editor that is present for sure. Not all Mac users have installed BBedit, TextMate, or any other third party editor and even less users have defined a "default editor".