码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 不使用oh-my-zsh配置轻量级zsh环境



    tags: Shell Tips

    写在前面

    之前一直在用一款名为oh-my-zsh的插件, 在我的MacOS上, 配置起来主题以及各种插件都比较方便, 但是, 最近在archlinux上面, 我用了omz之后, 速度下降了很多(archlinux虚拟机,还是采用架构虚拟化的方式,在arm上模拟出x86_64), 于是我就想着卸载omz然后直接安装代码补全和高亮插件, 这里参考了一篇国外开发者的博客1, 主要用到的插件是:

    • zdharma-zmirror/fast-syntax-highlighting: zdharma mirror of fast-syntax-highlighting (github.com);
    • zsh-users/zsh-autosuggestions: Fish-like autosuggestions for zsh (github.com);
    • zsh-users/zsh-completions: Additional completion definitions for Zsh. (github.com);

    这里原文中还用到了一款主题插件, 但是我这里就不用了, 一切为了速度~(不过mac主机可以用, 看不出影响)

    备份

    首先就是卸载omz(如果有)

     uninstall_oh_my_zsh
    
    • 1

    然后查看一下你的.zshrc和.zsh_history, 这两个文件需要备份一下,稍后会用到. 注意, 如果卸载omz, 那么omz会帮你备份, 文件名类似这样.zshrc.omz-uninstalled-2022-09-15_00-50-08. 然后.zshrc会被替换为在安装omz之前的配置, 可能会有不同, 大家注意区分.

    cp .zshrc .zshrc_bak
    
    • 1

    创建配置文件夹

    mkdir -p .zsh/plugins
    cp .zshrc .zsh/
    mv .zsh_history .zsh/
    
    • 1
    • 2
    • 3

    然后编辑.zshrc, 加上:

    ### ZSH HOME
    export ZSH=$HOME/.zsh
    
    ### ---- history config ----------
    export HISTFILE=$ZSH/.zsh_history
    
    # How many commands zsh will load to memory.
    export HISTSIZE=10000
    
    # How maney commands history will save on file.
    export SAVEHIST=10000
    
    # History won't save duplicates.
    setopt HIST_IGNORE_ALL_DUPS
    
    # History won't show duplicates on search.
    setopt HIST_FIND_NO_DUPS
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    安装插件

    cd .zsh/plugins
    git clone git@github.com:zdharma-zmirror/fast-syntax-highlighting.git
    
    git clone git@github.com:zsh-users/zsh-autosuggestions.git
    
    git clone git@github.com:zsh-users/zsh-completions.git
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在.zshrc中添加:

    source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
    fpath=($ZSH/plugins/zsh-completions/src $fpath)
    
    # zsh-autosuggestions:config
    source $ZSH/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
    ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline"
    ZSH_AUTOSUGGEST_STRATEGY=(history completion)
    ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
    
    # end config
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    链接

    最后就是创建符号链接, 这样我们就可以通过更改~/.zshrc来同步更改.zsh/.zshrc配置文件了.

    首先需要确认家目录下没有.zshrc文件, 如果有, 将所有内容复制到.zsh/.zshrc中, 然后rm .zshrc.

    此时可以开始创建符号链接了.

    ln -s ~/.zsh/.zshrc ~/.zshrc
    
    
    • 1
    • 2

    可以查看一下:

    ls -la
    .zshrc -> .zsh/.zshrc
    
    • 1
    • 2

    然后:

    source ~/.zshrc
    
    • 1

    即可完成~

    PROMPT配置

    由于我没安装主题插件, 这里就通过一行命令配置提示符进行配置, 参考了2.

    vim .zshrc
    PROMPT=%(?.%F{green}√.%F{red}?%?)%f %B%F{140}%3~%f%b
    source ~/.zshrc
    
    • 1
    • 2
    • 3

    最后的结果

    √ ~/.zsh tree -L 2 -a
    .
    ├── .zsh_history
    ├── .zshrc
    └── plugins
        ├── fast-syntax-highlighting
        ├── zsh-autosuggestions
        └── zsh-completions
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    ref


    1. Using ZSH without OMZ - DEV Community 👩‍💻👨‍💻; ↩︎

    2. How Do I Change My ZSH Prompt Name (linuxhint.com); ↩︎

  • 相关阅读:
    流畅的Python读书笔记-第九章-符合Python风格的对象
    7.Flink实时项目之独立访客开发
    传智健康产品需求说明书
    【Python百日刷题计划】Day10~一些编程题练习
    标准输入流
    AUC的两种计算方式
    【linux外设挂载】linux系统找到U盘解决方案
    [开源福利] FreeRedis 历时两年正式发布 v1.0 [C#.NET Redis Client]
    【 背包九讲——完全背包问题】
    Java网页版即时通讯聊天系统(附源码)
  • 原文地址:https://blog.csdn.net/qq_41437512/article/details/126867247
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号