zoukankan      html  css  js  c++  java
  • 开始使用zsh

    切换到zsh

    • 查看系统shell:Mac OS下,命令行输入cat /etc/shells
    • 切换zsh:命令行输入chsh -s /bin/zsh,根据提示输入用户密码

    安装oh-my-zsh

    • 前提是已经安装好git
    • 自动安装:wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
    • 手动安装:
      git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
      cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
    • 安装完成重开shell即可

    安装插件

    • 提供的插件在~/.oh-my-zsh/plugins目录下
    • 添加插件
      .zshrc文件中plugins=(git)(默认加载git)
    • 几个插件
    1. git:当处于一个git受控的目录下时,Shell 会明确显示git和branch
      对 git 很多命令进行了简化,例如gco=’git checkout’gd=’git diff’gst=’git status’g=’git’
      命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh
    2. osx:tab增强,quick-look filename可以直接预览文件,man-preview grep可以生成grep手册的pdf版本等
    3. autojump
      • 默认安装好了brew
      • brew install autojump
      • 把以下代码加入文件.zshrc
        [[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh

    简单配置

    • 打开和修改.zshrc
    1. cd并回车,打开用户当前目录,使用ls -A显示所有文件(包括隐藏文件),应该会有一个.zshrc文件
    2. vi .zshrc使用vim打开文件,i进入insert模式编辑文件。
    3. 编辑完按esc进入末行模式,输入:wq并回车,会保存修改并退出vim,回到之前的shell窗口。
    • 使用sublime Text打开文件
    alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
    alias -s txt=subl#输入txt后缀的文件,自动用sublime打开
    alias -s c=subl
    alias -s zsh=subl
    alias -s py=subl
    alias -s js=subl
    alias -s java=subl
    alias -s html=subl
    
    • 其他配置
    alias clr='clear'
    alias ll='ls -l'
    alias la='ls -a'
    alias vi='vim'
    alias grep="grep --color=auto"
    alias -s gz='tar -xzvf'#自动解压后缀为 gz 的压缩包。
    alias -s tgz='tar -xzvf'
    alias -s zip='unzip'
    alias -s bz2='tar -xjvf'
    

    主题设置

    • 系统默认的主题可以在.zshrc文件中看到ZSH_THEME="robbyrussell"
    • oh-my-zsh提供了很多主题,存在~/.oh-my-zsh/themes目录下
    • 更换主题
      直接修改.zshrc文件中ZSH_THEME="robbyrussell"一行,把robbyrussell改成themes目录下存在的文件名即可(不包括后缀)
    • 编辑主题的部分内容
      用文本编辑器(如sublime)打开theme文件(如robbyrussell.zsh-theme),直接编辑保存即可
      比如把原来的prompt修改为:
      PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%d %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}'
      现在shell显示的就是绝对路径了。

    使用zsh

    1. 历史纪录:输入j然后用上下箭头可以翻阅执行过的所有j命令
    2. 智能拼写纠正,输入gtep mactalk * -R,系统会提示:zsh: correct ‘gtep’ to ‘grep’ [nyae]?
    3. 各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。
      触发补全:按一下或两下tab键,补全项可以使用 ctrl+n/p/f/b上下左右切换。
      比如你想杀掉 java 的进程,只需要输入kill java + tab,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。
      ssh+空格+两个tab,zsh会列出所有访问过的主机和用户名进行补全。
    4. 智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过j + 目录名可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全。j –stat可以看历史路径库。
    5. 目录浏览和跳转:输入d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
    6. 在当前目录下输入.....,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。
    7. 通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的shell文件,文件少时可以代替find

    参考:终极Shell

  • 相关阅读:
    2019 ICPC Malaysia National H题
    欧拉定理证明
    P3384 【模板】树链剖分
    HDU 6070 Dirt Ratio(线段树、二分)
    51Nod 1571 最近等对(线段树、离线查询)
    51Nod 1781 Pinball(线段树、dp、离散化)
    51Nod 1494 选举拉票(权值线段树)
    51Nod 1766 树上的最远点对(欧拉序、lca、线段树区间合并)
    lintcode-179-更新二进制位
    lintcode-178-图是否是树
  • 原文地址:https://www.cnblogs.com/05410n/p/7778478.html
Copyright © 2011-2022 走看看