Откройте Sublime Text из терминала в macOS

417

В Терминале, когда я использую .subl

Возвращается -bash: .subl: command not found

Кто-нибудь знает, как открыть Sublime Text 3 из командной строки в macOS?

user1405049
источник
3
Как ты прошел с этим? У меня sublтоже проблемы с ST3. Я создал символическую ссылку, в /usr/local/bin/sublкоторой указывает на /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl. Я даже добавил, export PATH=/usr/local/bin:$PATHи export EDITOR="subl -w"в моем ~/.bash_profile- но это все еще не работает, и я получаю ту же ошибку.
RS77
У меня странная проблема, когда мне нужно открыть папку subl, чтобы выполнить команду. Выполняется следующее: Angelfirenze$ /Applications/Sublime\ Text\ 3.app/Contents/SharedSupport/bin/subl ; exit; logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. [Process completed] И Sublime Text 3 наконец открывается в новом сеансе. Я установил Homebrew и следовал инструкциям для этого.
Angelfirenze
4
Если вы хотите открыть файл file.txtс Sublime Text из командной строки, команда open -a "Sublime Text" file.txtможет быть лучше.
mareoraft
Команда нет .subl, это так subl.
Оловянный Человек

Ответы:

627

Я наконец получил это, чтобы работать на моей коробке OSX. Я использовал эти шаги, чтобы заставить это работать:

  1. Тест sublиз вашей установки ST:

    Сначала перейдите к небольшой папке в Терминале, которую вы хотите открыть ST, и введите следующую команду:

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    Примечание: Вы , возможно , потребуется заменить Sublime\ Text.appв команде выше Sublime\ Text\ 3.appили в Sublime\ Text\ 2.appзависимости от того, где приложение хранится в вашем Applicationsкаталоге. В .конце приведенной выше команды открывается текущий рабочий каталог, в котором вы находитесь (снова убедитесь, что вы находитесь в каталоге, который содержит только несколько файлов!).

    Если вы НЕ получаете Sublime Text, открывающий ваш текущий рабочий каталог, то следующий набор шагов НЕ будет работать. Если ничего не происходит или вы получаете сообщение об ошибке из-за терминала, он не может найти приложение Sublime Text. Это будет означать, что вам придется проверить, что вы ввели (орфография и т. Д.) ИЛИ что Sublime Text не установлен!

  2. Проверьте ".bash_profile":

    Теперь пришло время создать символическую ссылку в вашей PATHпапке, НО, прежде чем мы это сделаем, давайте проверим файл вашего профиля с помощью nano ~/.bash_profile. Это следующие строки, которые относятся к sublработе в командной строке для Sublime Text:

    export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
    export EDITOR='subl -w'
    

    В первой строке указывается место, где вы хотите, чтобы Terminal искал двоичные файлы на вашем компьютере. Я собираюсь сохранить мою символическую ссылку в /usr/local/binкаталоге - я думаю, вы можете хранить ее где угодно, если вы уведомили Terminal, где искать двоичные файлы.

    Вторая строка является необязательной и просто устанавливает Sublime Text в качестве редактора по умолчанию. Флаг -wбыл добавлен, и вы можете узнать больше о флагах, перейдя в документы Sublime Text: ST3 subl или ST2 subl

    Если вы внесете какие-либо изменения в этот файл после его закрытия, вам нужно выполнить команду:

    source ~/.bash_profile 
    

    компилировать ваши недавно примененные изменения. Если после поиска файла вы обнаружите какие-либо ошибки, исправьте их, прежде чем переходить к последнему шагу.

  3. Создайте символическую ссылку на Sublime Text:

    Теперь в выбранном вами пути (я использовал /usr/local/bin) вы теперь введите следующую команду:

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    

    Существо /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/sublточно такое же, как и то, что вы ввели и подтвердили как работающее в ШАГЕ 1 выше. То /usr/local/bin/sublместо, где вы хотите разместить символическую ссылку, должно быть одним из ваших PATHмест из ШАГА 2 выше.

    Теперь, когда вы переходите к папке или файлу, который вы хотите открыть в Sublime Text, вы просто вводите sublимя файла или .открываете текущий рабочий каталог.

rs77
источник
3
У меня была проблема с ST3, когда при первом вводе subl .я вызывал редактор Sublime, untitledи он не ссылался ни на какие файлы в каталоге, в котором я находился. Это export EDITOR='subl -w'было .bash_profileисправлено.
Ричард Ортега
4
Это сработало для меня, но мне пришлось сначала удалить символическую ссылку на старый файл subl.
Джайлз Батлер
3
это работало прекрасно до последнего шага. Я получаю ln: /usr/subl: Permission deniedмысли?
Stevenspiel
2
Я думаю, что нашел ответ здесь stackoverflow.com/questions/10196449/…
stevenspiel
1
Как обнаружил @ mr.musicman, вам может потребоваться использовать sudoперед командой в шаге 3.
Сара Льюис
312

Для MAC 10.8+:

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

работал.

Ganatra
источник
1
Мне пришлось использовать домашний каталог, ~, вместо / usr / bin, чтобы сделать эту работу для меня ... "sudo ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl ~ / bin / subl "
Бен Хейли
Это работает, но не открывается в том же фолде, где я запускал Subl
Jitendra Vyas
1
Для возвышенного2sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl
Монтаро
Работал на OS X 10.10.4
Kuchi
59
@Tinple Это работает в 10.11. sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl Смотрите ответ здесь, чтобы узнать
Росс
152

Предполагая, что:

  • Вы уже установили Homebrew.
  • / usr / local / bin находится в вашем $ PATH.
  • Вы находитесь на Йосемити или Эль-Капитан.

MacOS Sierra 10.12.5 работает также подтверждено Дэвидом Роусоном и MacOS Sierra 10.12.6 подтверждено Александром К.

Запустите следующий скрипт в Терминале, чтобы создать конкретную символическую ссылку.

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Затем:

subl .

Хит, Returnи он должен немедленно открыть Sublime Text.

Чутипонг Роубклом
источник
3
@ChutipongRoobklom Спасибо. Это сработало для меня macOS Sierra Version: 10.12 (16A323).
Субхаджит
Работа на macOS Sierra 10.12.5. Спасибо
Дэвид Роусон
3
Могу подтвердить, что работает на macOS Sierra 10.12.6. Спасибо!
Александр К.
мой путь к возвышенному тексту был другим, я полагаю, потому что я использую sublime 2 ln -s / Applications / Sublime \ Text \ 2.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
talsibony
1
Работает на High Sierra OSX 10.13.3
chichilatte
66

Это сработало для меня (я использую OS X Mavericks)

Сначала создайте символическую ссылку:

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Теперь вы можете открыть возвышенное с

subl "/a/path/to/the/directory/you/want/to/open"
Роджер Собрадо
источник
1
Я должен был sudo rm / usr / bin / subl, чтобы он работал на OSX 10.9, спасибо!
dnlcrl
1
ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
organillero
зачем нам цитаты? у меня работает с кавычками, но без них не работает?
vgrinko
11
ln: / usr / bin / subl: Операция не разрешена
Кен Ратаначай С.
16
@KenRatanachaiS. Используйте /usr/local/bin/sublвместо /usr/bin/subl.
Джош Фоскетт
65

Я использую oh-my-zsh на Mac OSX Mavericks, и ссылка на символ не работала для меня, поэтому вместо этого я добавил псевдоним в свой файл .zshrc:

alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

Откройте новый терминал, и вам должно быть хорошо идти, и введите subl.

Томас Биндзус
источник
То же самое здесь, но для Баш.
Merqlove
2
То же самое здесь, это работало для меня, но мне нужно было изменить его на Sublime text 2 с помощью этой строки: «Sublime \ Text \ 2.app/»
Джошуа Сойо,
Это для ST 2, я думаю. ST 3 поставляется с CLI, но я пока не могу его запустить.
Атилкан
@emrah Я использую ST3
Томас Биндзус
@ThomasBindzus Я выяснил позже. Спасибо.
Атилкан
43

Тот, который я буду использовать, очень прост.

open -a "sublime text" [file]

это сразу открывает возвышенный текст. Вы можете указать файл для открытия в качестве необязательного параметра, например, открыть «myfile.txt» в текущем каталоге.

Фуад
источник
3
Если у вас более быстрый доступ, вы можете создать псевдоним. Введите nano .bash_profile и вставьте: alias subl = "open -a 'sublime text'"
mbokil
1
Спасибо! Это единственное решение, которое сработало для меня. Чтобы открыть его в новой вкладке в существующем окне (а не в новом), см. Stackoverflow.com/questions/9961350/…
Деннис Голомазов
Я думаю, что это самый чистый вариант из всех. Спасибо!
grooveplex
Как вы измените это так, что он создаст файл, который на самом деле не существует? Я знаю, как использовать open -a sublimetext, чтобы открыть файл, который существует, но если я создаю новый текстовый файл, на что мне следует изменить скрипт open?
esaruoho
28

Есть простой способ сделать это. Это займет всего пару шагов, и вам не нужно слишком много использовать командную строку. Если вы новичок в командной строке, это способ сделать это.

Шаг 1: Поиск файла bin для размещения исполняемого файла subl

  1. Откройте терминал
  2. введите cd ..--------------------- это должно вернуться в каталог
  3. введите ls------------------------, чтобы увидеть список файлов в каталоге
  4. введите cd ..---------------------, пока не получите папку, содержащую usr
  5. введите open usr--------------- это должно открыть Finder, и вы должны увидеть некоторые папки
  6. откройте папку bin ------- здесь вы скопируете свой превосходный исполняемый файл.

Шаг 2: Поиск исполняемого файла

  1. открыть поиск
  2. Под файлом откройте новое окно поиска (CMD + N)
  3. Перейдите к папку приложений
  4. найдите Sublime Text и щелкните правой кнопкой мыши, чтобы получить выпадающее меню
  5. Нажмите на Показать содержимое пакета
  6. Откройте Content / SharedSupport / bin
  7. Скопируйте субл файл
  8. Вставьте его в папку bin в usr мы нашли ранее
  9. В терминале введите subl-------------- это должно открыть Sublime Text

Убедитесь, что он скопирован и не является ярлыком. Если у вас возникли проблемы, просмотрите папку usr / bin в виде значков и вставьте subl в пустую область в папке. На изображении значка не должно быть стрелок быстрого доступа.

bjtran1234
источник
После того, как попробовал другие ответы, этот был единственным, чтобы работать для меня. Mac OS X Yosemite 10.10.1.
tmthyjames
Это не сработало для меня в Mac OS X El Capitan - мне не удалось скопировать в файл поверх. Однако ответ Чутипонга Роубклома сработал.
CodeBiker
Начиная с El Capitan, вам нужно вставить файл subl в папку / usr / local / bin. Так что следуйте шагам 2 и 6, откройте его в терминале и выполните команду sudo cp subl / usr / local / bin. Это связано с новой функцией защиты целостности системы.
PeeJee
18

Попробуй это.

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Такао Шибамото
источник
^ Используйте это. Soft-ссылки в / usr / * local * / bin.
Guice
16

Команда Symlink из документации Sublime Text 3 не будет работать, поскольку ~/bin/в Mac OS X El Capitan или более поздней версии в домашней папке нет каталога.

Итак, нам нужно поместить символическую ссылку в то место, /usr/local/binгде этот путь будет в нашей $PATHпеременной в большинстве случаев .

Итак, следующая команда должна сделать свое дело:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Как только вы создадите символическую ссылку правильно, вы сможете запустить Sublime Text 3 следующим образом: subl . (. Означает текущий каталог)

М-р Мазедул Ислам Хан
источник
12

Вы можете создать новый псевдоним в Терминале:

nano ~/.bash_profile

Скопируйте эту строку и вставьте ее в редактор:

alias subl='open -a "Sublime Text"'

Нажмите control+ x, затем y, enterчтобы сохранить и закрыть его.

Закройте все окна терминала и снова откройте его.

Вот и все, теперь вы можете использовать subl filenameилиsubl .

Наклейки
источник
11

Пожалуйста, обратите внимание, чтобы не писать, /usr/binа вместо этого /usr/local/bin. Первый предназначен для приложений, которые сами записывают двоичные файлы в систему, а последний - для конкретного использования наших собственных общесистемных двоичных файлов (как в нашем случае при символических ссылках).

Также /usr/local/binчитается после /usr/binи, следовательно, также является хорошим местом для переопределения любого приложения по умолчанию.

Учитывая это, правильная символическая ссылка будет:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

vinyll
источник
10

В OS X Mavericks с Sublime Text 2 у меня сработало следующее.

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Удобно найти файл в поисковике и перетащить его в окно терминала, чтобы вы могли быть уверены, что путь правильный, я не большой пользователь терминала, так что мне было удобнее. затем вы можете перейти к началу пути и начать добавлять другие части, такие как сокращенные команды UNIX. Надеюсь это поможет

Джонатан Бич
источник
9

Оно работает !!!! для меня на MacOS Sierra 10.12.2

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

и найти его в терминале subl

tarikul05
источник
9

Закрыть Sublime. Запустите эту команду. Это удалит его. Вы не потеряете свои префы. Затем запустите его снова. Это будет автоматически связывать subl.

brew install Caskroom/cask/sublime-text
Говинд Рай
источник
2
Это наконец сделало это, большое спасибо за публикацию этого! Я пытался заставить ST3 запускаться из командной строки в течение нескольких месяцев после того, как оригинальная символическая ссылка сломалась по какой-то причине. В любом случае, благодарю Вас!
Angelfirenze
Спасибо, это сработало, но просто запустить его дважды было недостаточно, пришлось sudo rm -rfсначала удалить существующее возвышенное в верхнем каталоге в папке приложений.
кардамон
7

Добавление этого к ur .bashrc или .zshrc - простое решение.

alias sublime="open -a /Applications/Sublime\ Text.app"
Выиграл Jun Bae
источник
6

Вы не должны загрязнять каталог / usr / bin, если вам это не нужно. Я всегда использую / usr / local / bin для тех двоичных файлов, которые не управляются менеджером пакетов распространения. Почему? Потому что, если менеджер пакетов обновляется, он всегда заменяет файлы в / usr / bin.

Так что я бы сделал, это

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

tonirilix
источник
5

если у вас есть subl, настроенный для вызова из командной строки, правильная команда для открытия текущего каталога:

subl .

« OS X Command Line » - это ссылка на то, как убедиться, что все настроено.

danmanstx
источник
Он возвращаетсяln: /Users/###/bin/subl: No such file or directory
user1405049
ты посмотрел ссылку внизу моего ответа? попробуйте следующую командуln -s "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" ~/bin/subl
danmanstx
@danmanstx Я создал символическую ссылку в своем /usr/local/binкаталоге, но она все равно выдает ошибку. Я отмечаю, что мой пакет ST3 был установлен на /Applications/Sublime Text.app/...и сделал различие при создании моей символической ссылки. И все же ошибка остается - я думаю, что это как-то связано с моим .bash_profileфайлом.
RS77
В моем случае ссылка указывает наln -s /Volumes/Macintosh\ HD/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
Николас Киттштайнер
5

Вы можете просто добавить псевдоним

alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

Тогда вы сможете открыть папку или что-то еще с

subl <path>
zakfisher
источник
3

Для тех, кто ищет открыть файл с Sublime на Mac из терминала

open 'path/file.txt' -a '/Applications/Sublime Text.app'
zeeawan
источник
3

Это сделано для того, чтобы он работал как ALIAS, а не как символическая ссылка!

Это позволит вам запускать дополнительные команды в терминале, не прерывая сеанс subl. Используя многие ответы из символической ссылки здесь ( ln -s), вынудите терминальный процесс работать, используя Sublime text. Если вы хотите разделить, создайте псевдоним в профиле Bash следующим образом:

  1. Тест sublиз вашей установки ST:

    Сначала перейдите к папке в Терминале, которую вы хотите открыть ST, и введите следующую команду:

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    Примечание: Вы , возможно , потребуется заменить Sublime\ Text.appв команде выше Sublime\ Text\ 3.appили в Sublime\ Text\ 2.appзависимости от того, где приложение хранится в вашем Applicationsкаталоге. В .конце приведенной выше команды открывается текущий рабочий каталог, в котором вы находитесь (снова убедитесь, что вы находитесь в каталоге, который содержит только несколько файлов!).

    Если вы НЕ получаете Sublime Text, открывающий ваш текущий рабочий каталог, то следующий набор шагов НЕ будет работать. Если ничего не происходит или вы получаете сообщение об ошибке из-за терминала, он не может найти приложение Sublime Text. Это будет означать, что вам придется проверить, что вы ввели (орфография и т. Д.) ИЛИ что Sublime Text не установлен!

  2. Проверьте и обновите ".bash_profile":

    Теперь добавьте псевдоним в свой профиль Bash. Откройте его через vim ~/.bash_profile. Это следующие строки, которые относятся к sublработе в командной строке для Sublime Text:

    ## For Sublime Text 3 alias
    alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
    ## For Sublime Text global editor preference **Optional
    export EDITOR='subl -w'
    

    Я предлагаю всегда комментировать ваш код здесь ##. Вторая строка является необязательной и просто устанавливает Sublime Text в качестве редактора по умолчанию. Флаг -wбыл добавлен, и вы можете узнать больше о флагах, перейдя в документы Sublime Text: ST3 subl или ST2 subl

    Если вы внесете какие-либо изменения в этот файл после того, как sourceзакроете его, вам потребуется этот файл в текущем сеансе или закрыть терминал (вкладку) и открыть новый. Вы можете sourceэтот файл, выполнив команду source ~/.bash_profileУстранить все ошибки, прежде чем перейти к последнему шагу.

Крис Фрисина
источник
2

Я бы добавил, что если вы обновляетесь с Sublime Text 2, перейдите в / usr / bin и удалите свой старый subl, прежде чем следовать тем же инструкциям, приведенным выше. Это обновление стоит.

Винсент
источник
2

Я достигаю этого только с одной линией в терминале (с Sublime 3):

alias subl='/usr/local/bin/sublime'
Дамжан Павлица
источник
2

Я использую Mac Airbook, откройте свой терминал и введите

 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Затем введите простой subl и имя файла

 subl index.py
Сиддхарт Шукла
источник
Смотрите ниже, используйте тот с / usr / * local * / bin. Старайтесь не добавлять пользовательские программные ссылки в системные каталоги.
Guice
0

Я использую Oh-My-Zshell, и предыдущие псевдонимы не работали для меня, поэтому я написал простую функцию bash, которая позволит вам открывать Sublime из командной строки, используя sublimeдля открытия текущей папки в редакторе. С дополнительным функционалом, чтобы указать файл для открытия редактора.

# Open Sublime from current folder or specified folder
sublime(){
  /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ./$1
}

Использование для открытия текущей папки в терминале:

$ sublime

Использование, чтобы открыть определенную папку:

$ sublime path/to/the/file/to/open
Эндрю Штайнмец
источник
0

Подводя итог различным способам достижения этой цели:

  1. Чтобы открыть возвышенный текст из терминала
open /Applications/Sublime\ Text.app/
  1. Чтобы открыть конкретный файл по текущему пути (или указать путь к файлу, который нужно открыть) с помощью возвышенного текста
open -a /Applications/Sublime\ Text.app/ myFileToOpen.txt
  1. Сократите вашу команду, введя новый псевдоним с именем 'sublime' и используйте его

    а. открыть bash_profile:

    nano ~/.bash_profile

    б. скопируйте эту строку, чтобы создать псевдоним и сохранить и перезапустить терминал

    alias sublime="open -a /Applications/Sublime\ Text.app"

    с. использование: apple.txt откроется с возвышенным текстом (укажите путь к файлу при необходимости)

    sublime apple.txt

user0904
источник
-1

Я на Mac, и это сработало для меня:

open /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
user9199553
источник