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

Posted

技术标签:

【中文标题】更改终端中打开的文件的默认编辑器? (例如,将其设置为 TextEdit/Coda/Textmate)【英文标题】:Change the default editor for files opened in the terminal? (e.g. set it to TextEdit/Coda/Textmate) 【发布时间】:2011-04-02 03:52:17 【问题描述】:

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

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

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

【问题讨论】:

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

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

/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= 设置为那个,但是我在第二行输入什么?【参考方案2】:

大多数程序会检查$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【参考方案3】:

按照 @dmckee 在 cmets 中的建议,使用 git config --global core.editor mate -wgit config --global core.editor open

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

【讨论】:

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

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

【讨论】:

【参考方案5】:

对于 OS X 和 Sublime Text

使subl 可用。

把这个放到~/.bash_profile

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

把这个放在~/.bashrc

export EDITOR=subl

【讨论】:

我发现这不适用于chsh。文件打开,但所有更改都将丢失。我不得不使用chsh -s /bin/zsh 手动切换shell。【参考方案6】:

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

转到 iTerm -> 首选项 -> 配置文件 -> 高级 -> 语义历史 从下拉列表中选择使用编辑器打开,然后从右侧下拉列表中选择您选择的编辑器

【讨论】:

【参考方案7】:

如果您希望编辑器使用 git 操作,设置 $EDITOR 环境变量可能还不够,至少在 Sublime 的情况下不是 - 例如如果你想rebase,它只会说rebase成功,但是你没有机会以任何方式编辑文件,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。

【讨论】:

【参考方案8】:

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

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

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

【讨论】:

以上是关于更改终端中打开的文件的默认编辑器? (例如,将其设置为 TextEdit/Coda/Textmate)的主要内容,如果未能解决你的问题,请参考以下文章

怎样在ubuntu的终端中,将其设置为,选中就复制,右键就粘贴

如何更改 Git 的默认编辑器 [重复]

MonogoDB 练习一

如何更改电脑储存路径

Mac 上将zsh用做默认Shell

更改宏的默认图标