zoukankan      html  css  js  c++  java
  • Linux终极shell-zsh的完美配置方案!——oh-my-zsh

    Zsh 介绍
    Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的
    Zsh 官网:http://www.zsh.org/
    先看下你的 Linux支持哪些 shell:cat /etc/shells,正常结果应该是这样的:
    /bin/sh
    /bin/bash
    /sbin/nologin
    /bin/dash
    /bin/tcsh
    /bin/csh
    默认 CentOS / Ubuntu / Mac 系统用的是 Bash,倒也不是说 Bash 不好,而是说我们有更好的选择。
    Zsh 安装
    CentOS 安装:sudo yum install -y zsh
    Ubuntu 安装:sudo apt-get install -y zsh
    在检查下系统的 shell:cat /etc/shells,你会发现多了一个:/bin/zsh
    使用 Zsh 扩展集合:oh-my-zsh
    oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题:https://github.com/robbyrussell/oh-my-zsh
    我们无需自己去捣搞 Zsh,直接用 oh-my-zsh 就足够了,如果你想继续深造的话那再去弄。
    先安装 git:sudo yum install -y git
    安装 oh-my-zsh(这个过程可能会有点慢,或者需要重试几次):wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
    整个过程效果如下图:
    在以 root 用户为前提下,oh-my-zsh 的安装目录:/root/.oh-my-zsh
    在以 root 用户为前提下,Zsh 的配置文件位置:/root/.zshrc
    为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
    如果你要重新恢复到 bash:chsh -s /bin/bash root
    现在你关掉终端或是重新连上 shell,现在开头是一个箭头了,如下图:
    现在zsh和oh-my-zsh都安装好了,现在重点讲下zsh的配置!
    创建~/.zshrc配置文件,先给看下我的配置,可以凭自己喜好更改:
    # If you come from bash you might have to change your $PATH.
    # export PATH=$HOME/bin:/usr/local/bin:$PATH
     
    # Path to your oh-my-zsh installation.
      export ZSH=/home/amoscykl/.oh-my-zsh
     
    # Set name of the theme to load. Optionally, if you set this to "random"
    # it'll load a random theme each time that oh-my-zsh is loaded.
    # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
    # zhs的主题
    ZSH_THEME="ys"
    # Set list of themes to load
    # Setting this variable when ZSH_THEME=random
    # cause zsh load theme from this variable instead of
    # looking in ~/.oh-my-zsh/themes/
    # An empty array have no effect
    # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
     
    # Uncomment the following line to use case-sensitive completion.
    # CASE_SENSITIVE="true"
     
    # Uncomment the following line to use hyphen-insensitive completion. Case
    # sensitive completion must be off. _ and - will be interchangeable.
    # HYPHEN_INSENSITIVE="true"
     
    # Uncomment the following line to disable bi-weekly auto-update checks.
    # DISABLE_AUTO_UPDATE="true"
     
    # Uncomment the following line to change how often to auto-update (in days).
    # export UPDATE_ZSH_DAYS=13
     
    # Uncomment the following line to disable colors in ls.
    # DISABLE_LS_COLORS="true"
     
    # Uncomment the following line to disable auto-setting terminal title.
    # DISABLE_AUTO_TITLE="true"
     
    # Uncomment the following line to enable command auto-correction.
    # ENABLE_CORRECTION="true"
     
    # Uncomment the following line to display red dots whilst waiting for completion.
    # COMPLETION_WAITING_DOTS="true"
     
    # Uncomment the following line if you want to disable marking untracked files
    # under VCS as dirty. This makes repository status check for large repositories
    # much, much faster.
    # DISABLE_UNTRACKED_FILES_DIRTY="true"
     
    # Uncomment the following line if you want to change the command execution time
    # stamp shown in the history command output.
    # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
    # HIST_STAMPS="mm/dd/yyyy"
     
    # Would you like to use another custom folder than $ZSH/custom?
    # ZSH_CUSTOM=/path/to/new-custom-folder
     
    # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
    # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
    # Example format: plugins=(rails git textmate ruby lighthouse)
    # Add wisely, as too many plugins slow down shell startup.
     
    # z命令快速跳转目录     x命令解压一切文件         命令行可以直接google  
    plugins=(
      git z zsh-autosuggestions extract web-search zsh-syntax-highlighting 
    )
     
    source $ZSH/oh-my-zsh.sh
     
    # User configuration
     
    # export MANPATH="/usr/local/man:$MANPATH"
     
    # You may need to manually set your language environment
    # export LANG=en_US.UTF-8
     
    # Preferred editor for local and remote sessions
    # if [[ -n $SSH_CONNECTION ]]; then
    #   export EDITOR='vim'
    # else
    #   export EDITOR='mvim'
    # fi
     
    # Compilation flags
    # export ARCHFLAGS="-arch x86_64"
     
    # ssh
    # export SSH_KEY_PATH="~/.ssh/rsa_id"
     
    # Set personal aliases, overriding those provided by oh-my-zsh libs,
    # plugins, and themes. Aliases can be placed here, though oh-my-zsh
    # users are encouraged to define aliases within the ZSH_CUSTOM folder.
    # For a full list of active aliases, run `alias`.
    #
    # Example aliases
    # alias zshconfig="mate ~/.zshrc"
    # alias ohmyzsh="mate ~/.oh-my-zsh"
    #
    #自动补全插件
    source ~/.oh-my-zsh/plugins/incr/incr.zsh
     
    # 自动更新的时间间隔,单位是天,这里设置 30 天更新一次
    export UPDATE_ZSH_DAYS=1
    最终效果:
    主题:
    自动补全:
    一键google:
    z命令快速跳转目录(根据记录):
    x命令自动解压各种压缩文件,不用再牢记繁杂的解压命令!
  • 相关阅读:
    java工程中如何连接redis数据库?
    linux启动达梦数据库
    Maven项目无法编译resources文件夹下资源
    java 后端定义的大写字段传到前端后变成小写
    springboot同时接收表单数据和文件
    java:Fastjson将object转为json时"$ref"的相关问题
    consul注册中心搭建
    maven-compiler-plugin 插件详解
    org.activiti.api.runtime.shared.UnprocessableEntityException
    https配置
  • 原文地址:https://www.cnblogs.com/heqiuyu/p/10851027.html
Copyright © 2011-2022 走看看