如何从命令行启动TextEditor?


65

我在终端的命令行上做了很多工作,想在某个文件上启动文本编辑器。我来自Linux Land,通常从bash shell使用kwrite或gedit。试图找到与Mac等效的产品,尝试了

user> textedit somefile.txt

user> texteditor somefile.txt

user> TextEditor somefile.txt

和其他变体。我似乎找不到文本编辑器应用程序的正确名称。(不,vi不符合我的喜好。)奇怪的是,苹果商店的那个家伙不知道这一点。


Nathan和mipadi都提供了答案,但我认为它们只是部分答案,因此我添加了一个。我不确定以某种方式组合他们的回答是否会更好,如果可以,那么如何做。
维克多·哈格

@Viktor通常,重新张贴人们已经说过的话并不好,并且删除了重复项。由于您要添加一些内容,因此好的方法是回答“除了Nathan和mipadi的技术...”,或者在附录中对这些答案进行评论。您在这里所做的一切还可以,但不完全是“最佳实践”。感谢您的询问;现在您知道未来了:-)。
内森·格林斯坦

Answers:


105

以下是一些可能的答案,所有答案均使用“打开”命令行实用程序。

-a选项的意思是“指定的应用程序中打开文件参数”:

open -a TextEdit file.txt

-e选项的意思是“打开与文本编辑应用程序的文件的说法”:

open -e file.txt

-t选项的意思是“打开与编辑文本文件的默认应用程序的文件,如通过LaunchServices确定”。默认情况下,它是/Applications/TextEdit.app; 但是,此设置有可能被覆盖:

open -t file.txt

最后,如果您只说了“文本”类型的任何文件,绑定到文本类型的应用程序都将打开该文件open file.txt。您可以使用“文件”命令来显示操作系统认为文件类型为:file file.txt。因此,例如,如果您将“ file.txt”重命名为“ textfile”,那么open textfile只要file textfile仍然认为“ textfile”实际上是一个文本文件,仍将在默认的文本文件编辑应用程序中将其打开。

open可以通过运行找到一个简短的“帮助”文件

open --help

或者您也可以阅读整本手册

man open

2
我把它放到我的.bash_profile中:“ alias o ='open -a Sublime \ Text \ 2'”,然后我可以简单地在命令提示符下键入:“ o text.txt”。这在手指上非常容易;)
cmroanirgo 2014年

open是做到这一点的唯一“正确”方法。
CousinCocaine 2014年

13

默认的文本编辑器是TextEdit。您可以使用open -a 在其中打开文本文件:

$ open -a TextEdit hi.txt

如果要使用其他应用程序,只需输入其名称,如下所示:

$ open -a Coda index.html

这对我(OSX Mojave)都适用于TextEdit和Visual Studio Code。谢谢!
RJ Dunnill

8

有两种方法:

如果您的默认文本编辑器是TextEdit,则只需使用

open -t file.txt

在TextEditor中打开它。

如果您的默认文本编辑器不是TextEdit,而您想专门在TextEdit中打开它,则可以使用

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

当然,可以在您的shell配置文件中将其中任何一个作为别名。


请注意,我不确定在命令行上将文件名参数直接传递给应用程序名称的约定可能不适用于所有应用程序。只有构建为接受命令行上的文件名作为打开有效参数的应用程序才能以这种方式工作。我认为,更通用的open命令使用更彻底的方法来使应用程序“打开”传递给open命令的文件参数(即,它取决于Finder的“双击打开”操作所使用的相同功能)。
维克多·哈格

@Viktor Haag:两者都可以与TextEdit一起使用。
mipadi

6

如果您希望通过一种舒适的方式来获得更多的“ Linux感觉”,请向您的计算机中添加以下内容~/.profile

alias textmate='open -a TextMate'

要么

alias textedit='open -a TextEdit'

取决于您的编辑器。


2
虽然.profile作品,.bash_profile是比较常见的在OS X
CousinCocaine

3

如果您已经开始在终端中编写内容,并且想要继续使用自己喜欢的编辑器,则可以按ctrl+ Xctrl+ E并继续使用emacs或默认的bash编辑器。

如果要更改默认编辑器,请将环境变量EDITOR更改为您喜欢的编辑器:

EDITOR=vim;export EDITOR

0

看看您是否有vim编辑器,我什至没有意识到我的终端可以使用它。

尝试:

user> vimtutor 

找出它的控件。

您可以用它很好地编辑文件。语法类似于:

user> vim foo.txt

0

与一起安装时Command Line Utilities,TextWrangler(现已停用,并已由BBEdit取代)允许您执行以下操作:

edit README.txt

推出TextWrangler,对我来说,它比更好open -t README.txt,但是也许我只是在惯性中受苦。

仅供参考- edit是二进制可执行文件(来自TextWrangler套件),而不仅仅是别名或符号链接。


-3

使用gedit命令:

gedit your-file.ext

2
gedit在MacOS上默认未安装,尽管可以通过自制程序安装brew install gedit
Scot

它适用于Linux:D
Alex Chaliy

OP正在寻找MacOS解决方案,而不是Linux。并提到要在Linux上寻找替代gedit的方法。另外,这是一个MacOS网站,因此将没有Linux解决方案。
苏格兰,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.