表現(xiàn)形式:
終端 輸入命令,超過5個字符就會有明顯輸入卡頓,粘貼一行長點的 install 命令需要等幾分鐘才能粘完,數(shù)秒才會蹦出一個字符,切換目錄也很明顯,導(dǎo)致命令行提交 git 特別慢,這也是我著重推薦工具的部分原因 ,之前從未想到過是主題的問題,故未能百度對方向,就這樣用了半年。
先說原因:
mac 一般會裝 iterm2 + oh-my-zsh 主題,增強功能的同時美化自帶的黑白終端,該主題會和git耦合,也就是說,在某含有g(shù)it配置文件的文件夾下打開終端,會顯示分支名稱,以及是否有修改,需要merge等等,顯示這些信息需要實時遍歷文件夾,在一些電腦上會引起明顯卡頓,比如我的 2018款mac。
卡頓情況與項目大小和內(nèi)嵌多少子庫有關(guān)。
粘貼卡頓和該主題代碼有關(guān)系,簡單來說 模擬的輸入粘貼如果被去掉,可能影響命令高亮插件,具體查看底部github鏈接。
進入目錄卡頓解決方案:
第一種:保留顯示git分支功能,僅禁用檢測文件change功能
git config --add oh-my-zsh.hide-dirty 1 想改回來的話把 1 -> 0
第二種:禁用 oh-my-zsh 讀取 git 信息 (強烈推薦)
git config --add oh-my-zsh.hide-status 1 想改回來的話把 1 -> 0
想用git工具可以使用 sourceTree 免費方便易用,還自帶中文,再不濟 vscode的 自帶的 git 配合 gitLens 也很香。
粘貼命令卡頓解決方案:
問題表現(xiàn)為由粘貼的內(nèi)容像是一個字符一個字符的手動快速敲入的,但是依然不如內(nèi)容一下子上屏的速度快。其次還會出現(xiàn)粘貼的內(nèi)容會覆蓋原有命令行里的內(nèi)容,在動畫完成后才會調(diào)整為同時顯示。
這里也包括將 Finder 中的目錄拖動到 Zsh 中,目錄路徑出現(xiàn)的效果與粘貼內(nèi)容一致。
將以下內(nèi)容粘貼到 ~/.zshrc 配置文件中重啟 Zsh 即可:
# This speeds up pasting w/ autosuggest
# https://github.com/zsh-users/zsh-autosuggestions/issues/238
pasteinit() {
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}
pastefinish() {
zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish
參考github issue : https://github.com/zsh-users/zsh-autosuggestions/issues/238#issuecomment-389324292