這里不講 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