这里不讲 oh-my-zsh 是什么。也不讲 oh-my-zsh 插件的工作原理(太深奥,不懂 )。
讲一讲作为一个初学者,在使用过程中遇到的问题以及解决方法。
1 缘起
Ubuntu下,编辑/预览 Markdown 比较好用的工具就是 Sublime Text了。(ReText 支持的不全。有其他好的工具欢迎留言)
查看 oh-my-zsh 的相关介绍时,里面提到可以直接在命令行窗口输入文件名,就可以用指定好的工具打开它。
这就是插件了。
2 配置插件
2.1 插件开关
默认情况下,只打开了 git 的插件。
打开zsh配置文件(以 vi 打开为例,使用命令 vi ~/.zshrc )。
找到这样一行代码 plugins=(git) (如果还没有改动原有的 zshrc 文件,或者改动不大,代码应该在 48 行左右)。
修改这一行代码,在 git 后加上 sublime(前面有个空格) 。
修改后,结果如下:
plugins=(git sublime)
2.2 配置插件
同样是修改 .zshrc 文件。在文件末尾新增一行代码。
以使用 Sublime Text 打开md(Markdown)文件为例,内容如下:
alias -s md=st
说明:
alias -s 文件类型=工具/编辑器
注意:
在指定编辑器时(即 = 后面的内容)不能想当然地就写了 sublime 。
笔者就犯了这样的错误,折腾了好一阵子。
切记,切记!!
至于为什么要用 st ,去查看下插件文件就明白了(.oh-my-zsh/plugins/sublime/sublime.plugin.zsh)。
修改后,保存。
执行如下命令,使修改立即生效:
source ~/.zshrc
现在测试一下。
在命令行下直接输入 xx.md (任意的当前目录下存在的以md结尾的文件,其他类型的文件也行,注意和配置文件里的一致就行)。
如果能够在Sublime Text中打开这个文件,恭喜你,配置成功了。
如果出现类似这样的提示 zsh: command not found: st ,请继续下一步。
2.3 检查 Sublime Text的安装路径
如果在终端出现了这样的提示信息: zsh: command not found: st ,说明zsh无法识别(没有找到)本地安装的 Sublime Text。
请检查一下Sublime的插件文件,目录:.oh-my-zsh/plugins/sublime/sublime.plugin.zsh 。
打开 sublime.plugin.zsh 文件,请确保你本机的 Sublime Text 安装路径,已经在这个文件里了。
如果没有,加上你自己的路径。保存。
重启一个终端,或者运行 source ~/.zshrc ,再试试。
笔者Sublime的安装路径也不在它预设的路径里,添加后就可以了。
贴上笔者的 sublime.plugin.zsh 文件,供参考(主要新增了 第 7 行和第 15 行):
1 # Sublime Text 2 Aliases 2 3 if [[ $(‘uname‘) == ‘Linux‘ ]]; then 4 local _sublime_linux_paths > /dev/null 2>&1 5 _sublime_linux_paths=( 6 # 我的 sublime 安装路径 7 "/opt/Sublime/sublime_text" 8 "$HOME/bin/sublime_text" 9 "/opt/sublime_text/sublime_text" 10 "/usr/bin/sublime_text" 11 "/usr/local/bin/sublime_text" 12 "/usr/bin/subl" 13 ) 14 # 为了能在 sublime 中输入中文 15 export LD_PRELOAD=/opt/Sublime/lib/libsublime-imfix.so 16 for _sublime_path in $_sublime_linux_paths; do 17 if [[ -a $_sublime_path ]]; then 18 st_run() { $_sublime_path [email protected] >/dev/null 2>&1 &| } 19 alias st=st_run 20 break 21 fi 22 done 23 24 elif [[ "$OSTYPE" = darwin* ]]; then 25 local _sublime_darwin_paths > /dev/null 2>&1 26 _sublime_darwin_paths=( 27 "/usr/local/bin/subl" 28 "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" 29 "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" 30 "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" 31 "$HOME/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" 32 "$HOME/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" 33 "$HOME/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" 34 ) 35 36 for _sublime_path in $_sublime_darwin_paths; do 37 if [[ -a $_sublime_path ]]; then 38 alias subl="‘$_sublime_path‘" 39 alias st=subl 40 break 41 fi 42 done 43 fi 44 45 alias stt=‘st .‘
想进一步了解的,可以去 GitHub 网站查看:https://github.com/YoungZHU/oh-my-zsh