Відкрийте піднесений текст із терміналу в macOS


417

У терміналі, коли я користуюся .subl

Це повертається -bash: .subl: command not found

Хтось знає, як відкрити Sublime Text 3 з командного рядка в macOS?


3
Як ти з цим пішов? У мене також проблеми з sublST3. Я створив символічне посилання, на /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може бути краще підходить.
мареофт

Команда ні .subl, це subl.
Олов'яний чоловік

Відповіді:


627

Нарешті я отримав це для роботи над моєю коробкою OSX. Я використовував ці кроки, щоб змусити його працювати:

  1. Тест sublз інсталяції ST:

    Спочатку перейдіть до невеликої папки в Терміналі, яку потрібно відкрити, і введіть таку команду:

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

    ПРИМІТКА. Можливо, вам доведеться замінити Sublime\ Text.appкоманду вище Sublime\ Text\ 3.appта Sublime\ Text\ 2.appзалежно від того, де програма зберігається у вашому Applicationsкаталозі. В .кінці вищевказаної команди відкривається поточна робоча директорія, в якій ви знаходитесь (знову переконайтеся, що ви знаходитесь в каталозі, який містить лише кілька файлів!).

    Якщо ви НЕ отримуєте Sublime Text, відкриваючи поточний робочий каталог, наступний набір кроків НЕ буде працювати. Якщо нічого не трапиться або ви отримаєте помилку від Terminal, це буде тому, що він не зміг знайти програму Sublime Text. Це означатиме, що вам доведеться перевірити, що ви ввели (написання тощо) АБО, чи не встановлений піднесений текст!

  2. Позначте ".bash_profile":

    Тепер настав час створити своє символічне посилання у своїй PATHпапці, АЛЕ, перш ніж ми це зробимо, давайте перевіримо ваш файл профілю за допомогою nano ~/.bash_profile. Це наступні рядки, які стосуються sublроботи над командним рядком для піднесеного тексту:

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

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

    Другий рядок OPTIONAL і просто встановлює Sublime Text як редактор за замовчуванням. Прапор -wдодано, і ви можете дізнатися більше про прапори, перейшовши до Документів піднесеного тексту: ST3 subl або ST2 subl

    Якщо ви зробите будь-які зміни цього файлу, як тільки ви його закрили, вам потрібно виконати команду:

    source ~/.bash_profile 
    

    щоб скласти ваші нещодавно застосовані зміни. Якщо після пошуку файлу з’являються помилки, виправте їх, перш ніж перейти до останнього кроку.

  3. Створіть символічне посилання на піднесений текст:

    Тепер у вибраному вами шляху (я використовував /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Бути ТОЧНО те ж саме місце, що було введено і перевірити , як працює в STEP 1 вище. Місце /usr/local/bin/subl, де ви хочете, щоб символічне посилання розташоване - повинно бути одним із ваших PATHмісцеположень від КРОК 2 вище.

    Тепер, коли ви переходите до папки або файлу, який ви хочете відкрити в піднесеному тексті, тепер просто введіть, sublпісля чого слід назвати файл або .відкрити поточний робочий каталог.


3
У мене була проблема з ST3 , де , коли я перший набраний subl .я хотів би отримати Вищу редактор під назвою untitledі не посилатися на якісь - або файли в каталозі , я був. Doing export EDITOR='subl -w'моєму .bash_profileце виправив.
Річард Ортега

4
Це працювало для мене, але мені довелося спочатку видалити симпосилання на старий файл subl.
Giles Butler

3
це прекрасно працювало до останнього кроку. Я отримую ln: /usr/subl: Permission deniedдумки?
stevenspiel

2
Я думаю , що я знайшов відповідь тут stackoverflow.com/questions/10196449 / ...
stevenspiel

1
Як встановив @ mr.musicman, вам може знадобитися використовувати sudoкоманду перед командою на кроці 3.
Сара Льюїс

311

Для MAC 10.8+:

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

працювали.


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
Монтаро

Працював над ОС X 10.10.4
Кучі

59
@Tinple Це працює в 10.11. sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl Дивіться відповідь тут, чому - apple.stackexchange.com/questions/196224/…
Росс

152

Припустимо:

  • Ви вже встановили Homebrew.
  • / usr / local / bin знаходиться у вашому $ PATH.
  • Ви перебуваєте на Йосеміті чи Ель-Капітаїні.

MacOS Sierra 10.12.5 працює, а також підтверджено Девідом Роусоном та MacOS Sierra 10.12.6, підтвердженим Олександром К.

Запустіть наступний скрипт у Terminal, щоб створити конкретне символьне посилання.

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).
Subhajit

Робота над macOS Sierra 10.12.5. Спасибі
Девід Раусон

3
Можна підтвердити, що працює і на macOS Sierra 10.12.6. Дякую!
Олександр К.

мій шлях до піднесеного тексту був іншим, я думаю, це тому, що я використовую піднесені 2 ln -s / Applications / Sublime \ Text \ 2.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
talsibony

1
Працює на High Sierra OSX 10.13.3
чичілат

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 / Програми / 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 2 з цим рядком: "Піднесений \ Текст \ 2.app/"
Джошуа Соало

Це для ST 2 я здогадуюсь. ST 3 поставляється з CLI, але я ще не можу його запустити.
atilkan

@emrah Я використовую ST3
Thomas Bindzus

@ThomasBindzus я з'ясував пізніше. Дякую.
atilkan

43

Я використовую дуже простий.

open -a "sublime text" [file]

це відкриває піднесений текст одразу. Ви можете вказати файл для відкриття як необов'язковий параметр, наприклад, для відкриття "myfile.txt" у поточному каталозі.


3
Якщо ви швидше отримаєте доступ, ви можете створити псевдонім. Введіть nano .bash_profile і вставте: alias subl = "open -a 'sublime text" "
mbokil

1
Дякую! Це єдине рішення, яке працювало на мене. Для того, щоб зробити його відкрити в новій вкладці в існуючому вікні (не в новому), см stackoverflow.com/questions/9961350 / ...
Dennis Голомазов

Я думаю, що це найчистіший варіант з усіх. Дякую!
grooveplex

Як ви модифікуєте це, щоб воно створило файл, який насправді не існує? Я знаю, як використовувати відкритий підмірний текст для відкриття наявного файлу, але якщо я створюю новий текстовий файл, на що я можу змінити відкритий скрипт?
esaruoho

28

Існує простий спосіб зробити це. Це займе лише кілька кроків, і вам не потрібно занадто сильно використовувати командний рядок. Якщо ви новачок у командному рядку, це зробити так.

Крок 1: Пошук файлу bin, щоб помістити виконуваний файл subl

  1. Відкрийте термінал
  2. введіть cd ..--------------------- для цього слід повернути каталог
  3. введіть ls------------------------, щоб побачити список файлів у каталозі
  4. введіть cd ..---------------------, поки не отримаєте папку, яка містить usr
  5. введіть open usr--------------- для цього слід відкрити пошук, і вам слід побачити деякі папки
  6. відкрийте папку bin ------- саме тут ви скопіюєте свій піднесений виконуваний файл.

Крок 2: Пошук виконуваного файлу

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

Переконайтеся, що воно скопійовано, і це не ярлик. Якщо у вас є проблеми, перегляньте папку usr / bin як піктограми та вставте підпункт у порожню область в папці. На зображенні значка не повинно бути ярликової стрілки.


Спробувавши інші відповіді, цей був єдиним, хто працював на мене. 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


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


9

Закрити Піднесене. Виконайте цю команду. Це видалить. Ви не втратите своїх преф. Потім запустіть його ще раз. Він автоматично зв’яжеться subl.

brew install Caskroom/cask/sublime-text

2
Нарешті це зробили, велике дякую за публікацію! Месяці я намагався змусити ST3 запускатись з командного рядка після того, як початкова символьна посилання чомусь зламалася. Все одно, дякую!
Angelfirenze

Дякую, це спрацювало, але просто запустити його двічі було недостатньо, довелося спочатку видалити існуючий піднебіння з sudo rm -rfкаталогу піднесеного в папці додатків.
кардамон


6

Ви не повинні забруднювати каталог / usr / bin, якщо вам це не потрібно. Я завжди використовую / usr / local / bin для тих бінарних файлів, якими не керує менеджер пакунків розповсюдження. Чому? Тому що якщо менеджер пакунків оновлюється, він завжди замінить файли в / usr / bin.

Так що я б робив

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


5

якщо ви встановили subl для виклику з командного рядка, правильною командою для відкриття поточного каталогу є:

subl .

" Командний рядок OS X " - це посилання про те, як переконатися, що все налаштовано.


Він повертається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
NicolásKittsteiner

5

Можна просто додати псевдонім

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

Тоді ви маєте змогу відкрити папку чи що завгодно

subl <path>

3

Для всіх, хто шукає відкриття файлу з Sublime на mac з терміналу

open 'path/file.txt' -a '/Applications/Sublime Text.app'

3

Це потрібно, щоб він працював як АЛІАС, а не символічне посилання!

Це дозволить запускати додаткові команди в терміналі, не перериваючи сеанс subl. Використовуючи багато відповідей символічного посилання тут ( ln -s), змушуйте термінальний процес тривати під час використання піднесеного тексту. Якщо ви хочете розділити, створіть псевдонім у профілі Bash так:

  1. Тест sublз інсталяції ST:

    Спочатку перейдіть до папки в терміналі, яку потрібно відкрити, і введіть таку команду:

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

    ПРИМІТКА. Можливо, вам доведеться замінити Sublime\ Text.appкоманду вище Sublime\ Text\ 3.appта Sublime\ Text\ 2.appзалежно від того, де програма зберігається у вашому Applicationsкаталозі. В .кінці вищевказаної команди відкривається поточна робоча директорія, в якій ви знаходитесь (знову переконайтеся, що ви знаходитесь в каталозі, який містить лише кілька файлів!).

    Якщо ви НЕ отримуєте Sublime Text, відкриваючи поточний робочий каталог, наступний набір кроків НЕ буде працювати. Якщо нічого не трапиться або ви отримаєте помилку від Terminal, це буде тому, що він не зміг знайти програму Sublime Text. Це означатиме, що вам доведеться перевірити, що ви ввели (написання тощо) АБО, чи не встановлений піднесений текст!

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

    Тепер додайте псевдонім у свій профіль Bash. Відкрийте його через vim ~/.bash_profile. Це наступні рядки, які стосуються sublроботи над командним рядком для піднесеного тексту:

    ## 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'
    

    Я пропоную завжди коментувати свій код тут ##. Другий рядок OPTIONAL і просто встановлює Sublime Text як редактор за замовчуванням. Прапор -wдодано, і ви можете дізнатися більше про прапори, перейшовши до Документів Sublime Text: ST3 subl або ST2 subl

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


2

Я хотів би додати, що якщо ви оновлюєтеся з Sublime Text 2, перейдіть у / usr / bin та спочатку видаліть свій старий subl, перш ніж виконувати ті самі вказівки вище. Варто оновити.



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. Зробіть свою команду короткою, ввівши новий псевдонім під назвою "піднесений" і використовуйте його

    а. відкрити bash_profile:

    nano ~/.bash_profile

    б. скопіюйте цей рядок, щоб створити псевдонім та зберегти та перезапустити термінал

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

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

    sublime apple.txt


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