ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

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

是的,我使用的是 OSX (10.6.4)。
我发现的最佳解决方案是使用 duti -> apple.stackexchange.com/a/123954/58507
对于 mac os 10.10+ 以上的解决方案将不起作用。试试这个apple.stackexchange.com/questions/123833/…

C
Community

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


完美,这个可以。我还运行了这个命令以确保 git 按我期望的方式工作。这个 git config --global --unset-all core.editor 然后是 git config --global --add core.editor "open -W -n"
你在使用不同的外壳吗?
就我而言,我使用的是 zsh,所以显然我需要更新 .zshrc 配置文件。
如果您的编辑器的路径有空格,请使用引号,例如 "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" 您可能需要重新加载您的 .bashrc:source ~/.bashrc
谢谢,我已经将 nano 编辑器设置为默认值。将其添加到 OSX 的方法如下:http://hints.macworld.com/article.php?story=20021017065800302
I
Ionuț G. Stan

正如@dmckee 在评论中建议的那样,使用 git config --global core.editor mate -wgit config --global core.editor open

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


...并将其设置为使用 open 意味着您自动获取查找器默认值。因此,finder 中的变化会自然传播。
open 使用启动服务来确定文件类型,主要基于其扩展名。如果文件的扩展名未知,则将无法打开该文件。通常,您的 CLI 编辑器应该是假定文本文件的东西......
一些(非常)明确的说明会非常有帮助......参考非常简洁。
@Diogenes:如果您仍需要更明确的帮助,请参阅我在另一篇文章中的回答:stackoverflow.com/questions/6435246/…
最好是 git config --global core.editor "open -W"(否则您会收到 Aborting commit due to empty commit message. 错误)。
A
Alexander Popov

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

转到 iTerm -> 首选项 -> 配置文件 -> 高级 -> 语义历史

从下拉列表中选择使用编辑器打开,然后从右侧下拉列表中选择您选择的编辑器


C
Community

对于 OS X 和 Sublime Text

使 subl 可用。

将其放入 ~/.bash_profile

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

将其放入 ~/.bashrc

export EDITOR=subl

我发现这不适用于 chsh。文件打开,但所有更改都将丢失。我不得不使用 chsh -s /bin/zsh 手动切换 shell。
P
Pablo Santa Cruz

设置你的编辑器指向这个程序:

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

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

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

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


我更喜欢使用 /usr/bin/open,因为它将使用您设置的 finder 默认 whatever
你会如何为 git 做同样的事情?
第一个喜欢只是将 EDITOR= 设置为那个,但是我在第二行输入什么?
P
Peter Mortensen

对于崇高文本 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


m
mrapacz

如果您希望编辑器使用 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


A
Ashutosh Mittal

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

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

使 sublime 然后成为您的默认 git 文本编辑器 git config --global core.editor "subl -W"