关于 oh-my-zsh 插件的使用(以 Sublime Text 为例)

这里不讲 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 $@ >/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

 


 

如果你也遇到Sublime Text 中不能输入中文的问题,可查看另一篇博文:http://www.cnblogs.com/memory4young/p/could-not-input-chinese-in-sublime-on-ubuntu.html

 

posted on 2014-11-18 22:38  Memory4Young  阅读(9721)  评论(0编辑  收藏  举报

导航