如何从命令行编辑文件 Mac OS X?

How to edit a file from the command line Mac OS X?

如何在命令行中打开和编辑文件?我尝试使用命令 open:

sudo open -e /etc/apache2/extra/httpd-vhosts.conf

但文件是 Locked,我无法更改任何内容。

我需要编辑很多文字,使用nanovim不是很方便。

sudo open -a TextEdit /etc/apache2/extra/httpd-vhosts.conf

编辑这些锁定文件的最简单方法是复制它们,编辑副本,然后替换文件:

cp /etc/apache2/extra/httpd-vhosts.conf ~/httpd-vhosts.conf
open ~/httpd-vhosts.conf

sudo mv /etc/apache2/extra/httpd-vhosts.conf /etc/apache2/extra/httpd-vhosts.conf.bkup
sudo mv ~/httpd-vhosts.conf /etc/apache2/extra/httpd-vhosts.conf

我怀疑这是因为权限提升是针对 open 命令的,而不是 TextEdit 本身。

您应该使用不同的编辑器,它可以像 SublimeText (sudo subl /path/to/file) or TextMate (sudo mate /path/to/file) 这样从命令行正确地获得其二进制文件 运行。或者只是接受并使用 vinano :-)

如果您要进行大量此类操作,无论如何,TextEdit 可能是最不理想的编辑器。