更改在终端中打开的文件的默认编辑器?(例如,将其设置为TextEdit / Coda / Textmate)


110

有没有办法使在Textedit中打开的终端中打开要编辑的文件?

例如,某条命令可能会打开文件进行编辑(例如git commit),而不是在vim或emacs中打开该文件,而是在Textedit(或您选择的其他文本编辑应用程序,例如Coda或Sublime)中打开该文件。

还有一个额外的问题,是否有任何方法可以将git专门配置git commit为在应用程序目录中的编辑器中运行后自动打开创建的文件?


1
是的,我正在使用OSX(10.6.4)。
Diogenes

我发现的最佳解决方案是使用duti-> apple.stackexchange.com/a/123954/58507
Gomino

对于Mac OS 10.10+以上版本的解决方案将不起作用。试试这个apple.stackexchange.com/questions/123833/...
瑞诗凯诗舒克拉

Answers:


137

大多数程序都会检查$EDITOR环境变量,因此您可以在bashrc中将其设置为TextEdit的路径。Git也将使用它。

这该怎么做:

  • 将以下内容添加到您的~/.bashrc文件中:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • 或仅在终端中键入以下命令:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

如果您使用的是zsh,请使用~/.zshrc代替~/.bashrc


20
完美,做到了。我还运行了此命令,以确保git以我期望的方式工作。这git config --global --unset-all core.editorgit config --global --add core.editor "open -W -n"
Diogenes

您是否使用其他外壳?
2013年

5
就我而言,我使用的zsh显然是需要更新.zshrc配置文件。
Malloc 2013年

3
如果编辑器的路径中有空格,请使用引号,例如, "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" 并且您可能需要用以下命令重新加载.bashrc:source ~/.bashrc
Mars Redwyne 2013年

谢谢,我已经将Nano Editor设置为默认设置。以下是将其添加到OSX的方法:http
//hints.macworld.com/article.php?story=20021017065800302

28

使用git config --global core.editor mate -wgit config --global core.editor open在评论中作为@dmckee的建议。

参考:http : //git-scm.com/docs/git-config


3
...并将其设置为使用open意味着您将自动获得finder默认值。因此,取景器中的更改会自然传播。
dmckee ---前主持人小猫,2010年

4
open使用启动服务来确定文件类型,主要是基于其扩展名。如果文件具有未知扩展名,它将无法打开文件。通常,您的CLI编辑器应采用假定的文本文件...
Gordon Davisson 2010年

一些(非常)明确的指示将非常有帮助...参考非常简洁。
Diogenes

2
@Diogenes:查看不同的职位我的回答如果你还需要更明确的帮助:stackoverflow.com/questions/6435246/...
X-Istence

4
最好是git config --global core.editor "open -W"(否则您会得到一个Aborting commit due to empty commit message.错误)。
rsenna

18

对于OS X和Sublime Text

使subl可用。

放进去 ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

放进去 ~/.bashrc

export EDITOR=subl

我发现这不适用于chsh。该文件将打开,但是所有更改都将丢失。我不得不chsh -s /bin/zsh手动切换外壳。
Cryptc

9

对于2018年来这里的任何人:

  • 转到iTerm->首选项->配置文件->高级->语义历史记录
  • 从下拉菜单中选择“使用编辑器打开”,然后从右侧下拉菜单中选择所需的编辑器

5

设置您的编辑器指向该程序:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

使用SVN,您应该将SVN_EDITOR环境变量设置为:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

然后,当您尝试提交内容时,将启动TextEdit。


1
我更喜欢使用/usr/bin/open,因为无论您将其设置为什么,都会使用finder默认值。
dmckee ---前主持人小猫,2010年

您将如何对git做同样的事情?
Diogenes

第一个类似的只是将EDITOR =设置为该值,但是第二行应该输入什么呢?
用户


0

如果您希望编辑器使用git操作,则设置$EDITOR环境变量可能不够,至少对于Sublime而言,这还不够-例如,如果您想重新设置基准,它只会说重新设置成功,但是您不会没有机会以任何方式编辑文件,git会立即将其关闭:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

如果您希望Sublime与git一起正常使用,则应使用以下命令对其进行配置:

git config --global core.editor "sublime -n -w"

我来到这里寻找这个问题,并在github的要点中找到了解决方案。


0

将Sublime Text 3设为默认的文本编辑器:(需要重新启动)

defaults write com.apple.LaunchServices LSHandlers -array-add "{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}"

升华然后默认的git文本编辑器 git config --global core.editor "subl -W"

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.