Изменить редактор по умолчанию для файлов, открытых в терминале? (например, установите TextEdit / Coda / Textmate)

110

Есть ли способ вместо этого открыть файлы, открытые для редактирования в терминале, в Textedit?

Например, если команда может открыть файл для редактирования (например git commit), вместо открытия этого файла в vim или emacs, он откроется в Textedit (или, возможно, в другом приложении для редактирования текста по вашему выбору, например, Coda или Sublime).

И как бонусный вопрос: есть ли способ специально настроить git для автоматического открытия файла, созданного после запуска git commitв редакторе, из каталога приложений?

Диоген
источник
1
Да, я использую OSX (10.6.4).
Диоген
Лучшее решение, которое я нашел, - это использовать duti-> apple.stackexchange.com/a/123954/58507
Гомино,
для mac os 10.10+ вышеуказанные решения не будут работать. Попробуйте это apple.stackexchange.com/questions/123833/…
Ришикеш Шукла

Ответы:

137

Большинство программ проверяют $EDITORпеременную среды, поэтому вы можете указать путь к TextEdit в вашем bashrc. Git также будет использовать это.

Как это сделать:

  • Добавьте в свой ~/.bashrcфайл следующее:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • или просто введите следующую команду в свой Терминал:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Если вы используете zsh, используйте ~/.zshrcвместо ~/.bashrc.

альтернатива
источник
20
Отлично, вот и все. Я также выполнил эту команду, чтобы убедиться, что git работает так, как я ожидал. Это git config --global --unset-all core.editorпотом git config --global --add core.editor "open -W -n".
Diogenes
Вы используете другую оболочку?
альтернатива
5
В моем случае я использую, zshпоэтому, очевидно, мне нужно обновить .zshrcфайл конфигурации.
Malloc
3
используйте кавычки, если в пути к вашему редактору есть пробелы, например, "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" и вам, возможно, придется перезагрузить ваш .bashrc с помощью:source ~/.bashrc
Mars Redwyne
Спасибо, по умолчанию я установил редактор nano. Вот как добавить его в OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer 05
29

Используйте git config --global core.editor mate -wили, git config --global core.editor openкак предлагает @dmckee в комментариях.

Ссылка: http://git-scm.com/docs/git-config

Ионуй Г. Стан
источник
3
... и установка его на использование openозначает, что вы автоматически получите поисковик по умолчанию. Таким образом, изменения в искателе распространяются естественным образом.
dmckee --- котенок экс-модератора
4
openиспользует Launch Services для определения типа файла, в основном на основе его расширения. Если файл имеет неизвестное расширение, он не сможет открыть файл. В общем, ваш редактор CLI должен быть чем-то, что предполагает текстовые файлы ...
Гордон Дэвиссон,
Некоторые (очень) подробные инструкции были бы очень полезны ... ссылка очень краткая.
Diogenes
2
@Diogenes: См. Мой ответ в другом сообщении, если вам все еще нужна более подробная помощь: stackoverflow.com/questions/6435246/…
X-Istence
4
Лучше будет git config --global core.editor "open -W"(иначе получите Aborting commit due to empty commit message.ошибку).
rsenna
18

Для OS X и Sublime Text

Сделать sublдоступным.

Поместите это в ~/.bash_profile

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

Поместите это в ~/.bashrc

export EDITOR=subl
Кирк Строубек
источник
Я обнаружил, что это не работает правильно с chsh. Файл открывается, но все изменения теряются. Пришлось chsh -s /bin/zshпереключать оболочки вручную.
Cryptc
9

Для всех, кто приедет сюда в 2018 году:

  • перейдите в iTerm -> Настройки -> Профили -> Дополнительно -> Семантическая история
  • в раскрывающемся списке выберите «Открыть с помощью редактора» и в правом раскрывающемся списке выберите нужный редактор.
Александр
источник
5

Настройте свой редактор так, чтобы он указывал на эту программу:

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

В SVN вы должны установить SVN_EDITORпеременную окружения:

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

А затем, когда вы попытаетесь что-то зафиксировать, запустится TextEdit.

Пабло Санта Крус
источник
1
Я бы предпочел использовать /usr/bin/open, потому что он будет использовать поисковик по умолчанию независимо от того, что вы его установили.
dmckee --- котенок экс-модератора
Как бы вы поступили так же с git?
Diogenes
Во-первых, это просто установка EDITOR = для этого, но что мне вводить для второй строки?
Пользователь
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"

Я пришел сюда в поисках этого и нашел решение в этой сути на github .

Mrapacz
источник
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"

Ашутош Миттал
источник