美文网首页方法与效率
Mac终端中使用Sublime打开文件

Mac终端中使用Sublime打开文件

作者: 青城悠然 | 来源:发表于2019-06-08 11:00 被阅读22次

    使用mac系统自带的open命令或者软件自带命令行工具subl,都可以通过mac终端打开sublime

    1、系统自带的open命令

    open命令可以从shell打开文件,-a选项指定特定的应用

    $ open -a /Applications/Sublime\ Text.app test.txt
    

    这样操作比较繁琐,可以通过alias命令设置别名为sublime

    $ sublime='open -a /Applications/Sublime\ Text.app'
    $ sublime test.txt
    

    alias 命令的作用时间只能维持到 shell 会话结束,为了保证下次打开shell的时候上述别名依然有效,可以将alias语句写入~/.bash_profile,再通过source ~/.bash_profile 激活即可。

    参考:profile、bash_profile、bashrc文件的作用与区别 - IT笔录

    2、Sublime提供的命令行工具subl

    Sublime自带命令行工具路径为/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl

    通过ln命令为上述subl工具创建一个快捷方式,并将此快捷方式放到/usr/local/bin路径下,此路径是包含在$PATH中

    $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    
    $ ls -l /usr/local/bin/subl  //查看软链接状态
    $ lrwxr-xr-x  1 root  admin  68  5 16 21:20 subl -> /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl
    
    $ subl test.txt
    

    PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux/Mac在这些目录下进行搜寻编译链接。通过echo可以看出/usr/local/bin是$PATH的默认路径。

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/Applications/Wireshark.app/Contents/MacOS
    

    参考:sublime_osx_command_line

    建立软链接为什么使用/usr/local/bin,不使用/usr/bin?

    1. /usr/bin是一个“神圣的”的地方,通常用来存放由包管理系统「package management systems」维护的静态二进制文件,subl显然不在此列。

    2. 相较于其它基础的BSD binaries,例如 find, man, make,subl显然还不够稳定。如果后续升级修改了Sublime的名字或路径,或者删除了此应用,你必须手动修改/删除它的快捷方式。

    参考:osx lion - Installing Sublime Text’s command line tool ‘subl’ in terminal, permission denied? - Stack Overflow

    -bash: subl: command not found

    在使用过程中曾出现了上述问题,经过排查确认是建立软连接的时候,对subl的绝对路径加了如下双引号导致的

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

    解决办法:去掉绝对路径外的双引号(“”)

    相关文章

      网友评论

        本文标题:Mac终端中使用Sublime打开文件

        本文链接:https://www.haomeiwen.com/subject/zkxixctx.html