關於 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM