使用antigen管理 Zsh配置


最新做法參考評論區.zshrc文件配置在正文

首先antigen腳本下載到本地。
直接下載release
可以把這個腳本存入"~"這一文件夾。我用vscode在界面中移動的,命令行有命令行下移動文件的辦法。

這里已經存好了
假如你之前使用了oh-my-zsh,在這里可以先把原來的oh-my-zsh和zshrc文件刪掉,然后創建一個新的.zshrc文件,內容如下。
也可以直接打開.zshrc文件,刪去全部內容,然后把以下內容復制進去。

source /path-to-antigen/antigen.zsh
# 這里antigen.zsh的保存路徑就是 ~/zsh 所以第一行應該是source ~/antigen.zsh
# 加載oh-my-zsh庫
antigen use oh-my-zsh

# 加載原版oh-my-zsh中的功能(robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle heroku
antigen bundle pip
antigen bundle lein
antigen bundle command-not-found
antigen bundle z
antigen bundle paulirish/git-open 

# 語法高亮功能
antigen bundle zsh-users/zsh-syntax-highlighting

# 代碼提示功能
antigen bundle zsh-users/zsh-autosuggestions

# 自動補全功能
antigen bundle zsh-users/zsh-completions

# 加載主題
antigen theme robbyrussell

# 保存更改
antigen apply


# for ls colors
#LS_COLORS="di=34:ln=35:so=32:pi=33:ex=31:bd=34:cd=34:su=36:sg=36:tw=34:ow=34"
export LS_COLORS
#啟用starship
eval "$(starship init zsh)"

補充說明:
1.主題可以從Themes · ohmyzsh/ohmyzsh Wiki中找到主題的名字,然后在上面修改名字,主題文件會在配置后重啟時自動下載。
2.末尾的顏色設置,參考vscode wsl入門 - 知乎
解決問題:zsh終端原始情況下ls命令顯示的配色會讓人看不清楚文件夾名字
看不清楚文件夾名字
3.啟用z-jump around插件,rupa/z: z - jump around這是韋易笑提到的跳轉功能的來源插件
啟用方法是上面的一行antigen bundle z
4.在終端里打開當前項目的遠程倉庫地址,paulirish/git-open: Type git open to open the GitHub page or website for a repository in your browser.,啟用方法是一行antigen bundle paulirish/git-open

快速跳轉

作者:韋易笑
鏈接:https://www.zhihu.com/question/21418449/answer/300879747
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

快速跳轉

前面也說過命令行工作中,不同的路徑間切來切去是個頭疼的問題,除了上面提到的縮寫補全外,有無更快的辦法讓我馬上切換到我最近跳轉過的某個路徑?當然有“cd -”命令:

imgimg

輸入 cd 后面加一個減號后,按一次 tab 馬上就列出本次登陸后去過的最近幾次路徑,接着根據下面的提示輸入數字按回車就過去了,比如輸入:

$ cd -5 <回車>

就跳轉到 ~/software/libclang-python3 路徑下了。當然你還可以不輸入數字,而是再按一次 tab 進入選擇模式,上下鍵或者 ctrl+n/p 來選擇,回車確認,ctrl+g 返回。

自動跳轉

有了前面的路徑縮寫展開,和這里的最近訪問路徑切換,你已經沒法再回到過去那種按部就班輸入路徑外加點弱智補全的方式了,但是可能你還會問,能否更進一步,不限於本次登陸或者最近去過的幾級路徑,有沒有辦法讓我快速進入自我開始用 zsh 之后進入過的某個路徑呢?當然可以,我們用 z 命令,查看歷史上進入過的目錄:

imgimg

敲入 z 命令,列出了自從我開始用zsh進入過的目錄和他們的權重,進入次數越多,權重越大,便於演示,我刪除了我的歷史,隨便 cd 了一下,保持列表的簡潔。z 后面加一個關鍵詞就能跳轉到所有匹配的歷史路徑中權重最高的那個了:

imgimg

比如所有歷史路徑都包含 o ,那么 z o 就會跳轉到權重最高的 ~/software 目錄中。使用:“z -l foo" 可以列出包含 foo 的所有歷史路徑:

imgimg

比如我們查詢包含關鍵字為 c 的所有歷史路徑和他們的權重,有時你搞不清楚權重,可能會跳轉錯了,比如有兩個路徑:

project1/src
project2/src

那么你 z src 的時候可能並不能如你願跳轉到你想要去的路徑,那怎么辦呢?第一個辦法是實際 cd project1/src 過去,增加它的權重,權重超過 project2/src 那么下次 z src 的時候就會跳轉過去,你可以實時用 z -l src 查看包含 src 的所有路徑權重。

更加可靠的方法是,增加一個關鍵字,比如 z 1 src ,空格分隔多個關鍵字,z會先匹配出第一個來,比如1 ,然后再匹配第二個 src ,馬上鎖定 project1/src 了。大家實際使用起來,一般是 z + 最后一級目錄名,比如:

$ z vim     # -> /home/skywind/software/vim
$ z tmp     # -> /home/skywind/tmp
$ z local   # -> /home/skywind/.local

99%的時候這樣做就足夠了,當沒有按照你要求跳轉的時候,你可以再補充一下再上一級目錄的一些信息,比如 z vim/src 或者 z v src 都可以,弄不明白會跳轉到哪里,可以隨時用:

$ z -l key1 [key2 ... ]

查看權重。不過常使用你根本必擔心這個問題,基本上常去的地方,z 都是指哪打哪。如果說前面的路徑縮寫展開和最近訪問快速切換是火箭的話,z 就是加速燃料了。

git-open

在終端里打開當前項目的遠程倉庫地址
支持打開的遠程倉庫

  • github.com
  • gist.github.com
  • gitlab.com
  • 自定義域名的 GitLab
  • bitbucket.org
  • Atlassian Bitbucket Server (formerly Atlassian Stash)
  • Visual Studio Team Services
  • Team Foundation Server (on-premises)

起因:為什么說 zsh 是 shell 中的極品? - 韋易笑的回答 - 知乎
參考:


免責聲明!

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



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