有没有办法让在终端打开编辑文件的时候,文件会在 Textedit 中打开呢?
例如,某个命令可能会打开一个要编辑的文件(如 git commit
),而不是在 vim 或 emacs 中打开它,它会在 Textedit 中打开(或者您选择的其他文本编辑应用程序,例如 Coda 或 Sublime)。
还有一个额外的问题,是否有任何方法可以特别配置 git,以便在从应用程序目录运行 git commit
后自动使用编辑器打开创建的文件?
有没有办法让在终端打开编辑文件的时候,文件会在 Textedit 中打开呢?
例如,某个命令可能会打开一个要编辑的文件(如 git commit
),而不是在 vim 或 emacs 中打开它,它会在 Textedit 中打开(或者您选择的其他文本编辑应用程序,例如 Coda 或 Sublime)。
还有一个额外的问题,是否有任何方法可以特别配置 git,以便在从应用程序目录运行 git commit
后自动使用编辑器打开创建的文件?
大多数程序都会检查 $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 config --global --unset-all core.editor
然后git config --global --add core.editor "open -W -n"
。 - Diogeneszsh
,所以显然需要更新.zshrc
配置文件。 - Malloc"echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc"
并且你可能需要重新加载 .bashrc
文件:source ~/.bashrc
- Mars Redwyne对于任何在2018年使用iTerm的人:
对于任何在2022年使用iTerm2的人:
iTerm2将某些内容移动到以下位置:
根据评论中@dmckee的建议,可以使用以下命令之一:git config --global core.editor mate -w
或 git config --global core.editor open
。
open
使用 Launch Services 来确定文件类型,主要基于文件扩展名。如果文件拓展名未知,则无法打开该文件。通常情况下,CLI 编辑器应该是假定文本文件的工具... - Gordon Davissongit config --global core.editor "open -W"
(否则会出现“因为空提交消息而终止提交”错误)。 - rsenna使subl
可用。
将以下内容放入~/.bash_profile
中
[[ -s ~/.bashrc ]] && source ~/.bashrc
~/.bashrc
。export EDITOR=subl
chsh
正常工作。文件可以打开,但是任何更改都会丢失。我必须手动使用 chsh -s /bin/zsh
来切换 shell。 - Cryptc请将您的编辑器设置为指向此程序:
/Applications/TextEdit.app/Contents/MacOS/TextEdit
使用SVN时,您需要将SVN_EDITOR
环境变量设置为:
$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit
然后,当你尝试提交某些东西时,TextEdit会启动。
/usr/bin/open
,因为它会使用Finder默认设置无论你将其设置为什么。 - dmckee --- ex-moderator kitten
defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'
如果你想让编辑器与git操作一起工作,仅仅设置$EDITOR
环境变量可能是不够的,至少在Sublime的情况下是这样 - 例如,如果你想要进行rebase操作,它只会显示rebase成功,但你没有机会以任何方式编辑文件,git会立即关闭它:
git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.
git config --global core.editor "sublime -n -w"
我来到这里寻找并在GitHub上的此代码片段中找到了解决方案。
将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"
duti
-> http://apple.stackexchange.com/a/123954/58507 - Gomino