Змінити редактор за замовчуванням для файлів, відкритих у терміналі? (наприклад, встановіть його на 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/…
Rishikesh

Відповіді:


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".
Діоген

Ви використовуєте іншу оболонку?
альтернатива

5
у моєму випадку я використовую zshтак очевидно, що мені потрібно оновити .zshrcфайл конфігурації.
Маллок

3
використовуйте лапки, якщо шлях у вашому редакторі має пробіли, наприклад, "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" і вам, можливо, доведеться перезавантажити .bashrc за допомогою:source ~/.bashrc
Mars Redwyne

Дякую, я встановив нано редактор за замовчуванням цим. Ось як додати його до OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer

28

Використовуйте 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використовує програми запуску для визначення типу файлу, здебільшого на основі його розширення. Якщо файл має невідоме розширення, файл не вдасться відкрити. Як правило, у вашому редакторі CLI має бути щось, що передбачає текстові файли ...
Gordon Davisson,

Деякі (дуже) явні інструкції були б дуже корисними ... посилання надзвичайно коротке.
Діоген

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

Для ОС X і піднесеного тексту

Зробити 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?
Діоген

Перший подібний - це просто встановити 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 .


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"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.