有没有办法让在终端中打开以进行编辑的文件在 Textedit 中打开?
例如,一个命令可能会打开一个文件进行编辑(如 git commit
),而不是在 vim 或 emacs 中打开该文件,而是在 Textedit(或您选择的另一个文本编辑应用程序,如 Coda 或 Sublime )。
作为一个额外的问题,有没有办法专门配置 git 以自动打开在应用程序目录的编辑器中运行 git commit
后创建的文件?
duti
-> apple.stackexchange.com/a/123954/58507
大多数程序会检查 $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
。
正如@dmckee 在评论中建议的那样,使用 git config --global core.editor mate -w
或 git config --global core.editor open
。
参考:http://git-scm.com/docs/git-config
open
意味着您自动获取查找器默认值。因此,finder 中的变化会自然传播。
open
使用启动服务来确定文件类型,主要基于其扩展名。如果文件的扩展名未知,则将无法打开该文件。通常,您的 CLI 编辑器应该是假定文本文件的东西......
git config --global core.editor "open -W"
(否则您会收到 Aborting commit due to empty commit message.
错误)。
对于 2018 年来到这里的任何人:
转到 iTerm -> 首选项 -> 配置文件 -> 高级 -> 语义历史
从下拉列表中选择使用编辑器打开,然后从右侧下拉列表中选择您选择的编辑器
对于 OS X 和 Sublime Text
使 subl
可用。
将其放入 ~/.bash_profile
[[ -s ~/.bashrc ]] && source ~/.bashrc
将其放入 ~/.bashrc
export EDITOR=subl
chsh
。文件打开,但所有更改都将丢失。我不得不使用 chsh -s /bin/zsh
手动切换 shell。
设置你的编辑器指向这个程序:
/Applications/TextEdit.app/Contents/MacOS/TextEdit
使用 SVN,您应该将 SVN_EDITOR
环境变量设置为:
$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit
然后,当您尝试提交某些内容时,TextEdit 将启动。
/usr/bin/open
,因为它将使用您设置的 finder 默认 whatever。
对于崇高文本 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。
如果您希望编辑器使用 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。
使 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"
不定期副业成功案例分享
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