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

时间:2010-08-22 00:30:59

标签: macos terminal text-editor

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

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

作为一个额外的问题,有没有办法专门配置git,以便在应用程序目录的编辑器中运行git commit后自动打开创建的文件?

8 个答案:

答案 0 :(得分:109)

大多数程序都会检查$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

答案 1 :(得分:27)

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

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

答案 2 :(得分:15)

对于OS X和Sublime Text

subl可用。

将其放入~/.bash_profile

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

将其放入~/.bashrc

export EDITOR=subl

答案 3 :(得分:4)

将编辑器设置为指向此程序:

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

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

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

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

答案 4 :(得分:4)

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

  • 转到iTerm->“首选项”->“个人资料”->“高级”->“语义历史”
  • 从下拉菜单中选择“使用编辑器打开”,然后从右侧下拉菜单中选择所需的编辑器

答案 5 :(得分:1)

对于Sublime Text 3:

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

有关详细信息,请参阅 Set TextMate as the default text editor on Mac OS X

答案 6 :(得分: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"

我来这里是为了寻找解决方案in this gist on github

答案 7 :(得分: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"