I want to create the link about sublime text2 which is placed in applications.
If I paste the /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl
in bash, the sublime text 2 will open.
And I use the
sudo ln -s "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
and I check that my path has add the /usr/local/bin
by echo $PATH
which results in /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
and I cd to the /usr/local/bin
and found there is a subl script but I use vim to open it, the file is all blank.
And I restart the terminal and type subl
but results -bash: subl: command not found
.
How do I fixed it?
Best Answer
If you don't want to use Sublime Text 3 yet, which has a lot of differences from Sublime Text 2, and is still in beta, here's how to fix your problem. Just run each of these commands (in order) from Terminal and you should be all set:
This will remove whatever
subl
links are in/usr/local/bin
. Then:This recreates the link to the proper location. Make sure you run the command exactly as I typed it, or it won't work. I'll explain why in a moment. Finally, restart Terminal and enter:
to make sure the process worked.
The reason your
command didn't work was because you included the
Applications/...
path in quotes"
and also escaped the spaces using a backslash\
. You should do one or the other, but not both. My command above just uses\
to escape the spaces. When you use quotes, each character in the string is included literally, including the\
characters. This is why the file was blank when you opened it invim
- it was pointing to a path that didn't exist.By the way, while you can open
/usr/local/bin/subl
invim
, I wouldn't recommend it because it's a binary executable file, so you'll just get garbage on your screen.Good luck!