首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Shell 功能、配置和插件(3)

Shell 功能、配置和插件(3)

iTerm 2(for mac) && Oh My Zsh如果你是mac的用户,推荐一个终端应用iTerm 2, iTerm 2 相比mac自带的 Terminal 应用,有太多优点了。例如,支持画面分割,可以设置主题,各种使用的快捷键,以及快速唤出。配合 Oh My Zsh 使用,简直优雅到爆!
Oh My Zsh安装
  • curl方式curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
  • wget方式wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh安装完之后,关闭当前终端,并重新打开一个,oh my zsh的默认主题是robbyrussell,效果如下:

robbyrussell theme.jpg

配置如果你想定制和扩展zsh,oh my zsh提供配置文件~/.zshrc来配置,可以设置环境变量和别名;
# Support autojump[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh# setup moco alias namealias moco_service="moco start -p 12306 -g settings.json"#setup macvim alias namealias vim="/Applications/MacVim.app/Contents/MacOS/Vim"#setup pod update alias namealias pod_update='pod update --verbose --no-repo-update'在Themes列出所有可用主题,每个主题都有截屏效果并教你如何设置,选择你喜欢的主题,在配置文件~/.zshrc查找字符串ZSH_THEME="robbyrussell",通过改变ZSH_THEME环境变量来改变主题。例如,
ZSH_THEME="agnoster"oh my zsh提供数十种主题,相关文件在~/.oh-my-zsh/themes 目录,可以编辑主题来满足自身需求,我是使用默认的robbyrussell,不过做了一点小小改动:
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%d %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}> '#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}> '与原来不同的是,将c(表示当前目录)改为d(表示绝对路径),另外在尾部添加一个>作为隔离符号,效果如下:

modified robbyrussell.png

插件oh my zsh提供丰富的插件,存放在~/.oh-my-zsh/plugins目录下:

oh my zsh plugins.png

想了解每个插件的功能以及如何使用,只要打开相关插件的目录下zsh文件即可,以git插件为例:

git plugin.png


打开git.plugin.zsh文件,里面有很多命名别来来简化命令的输入。你可以根据自己的需要来启用哪些插件,只需在~/.zshrc配置文件追加内容即可:
plugins=(git autojump osx)我来介绍一下一些常用插件的使用吧:
git当你处在一个git受控的目录下时,Shell明确显示git和branch信息,另外简化git很多命令,具体使用请参考:Plugin:git
autojumpautojump插件使你能够快速切换路径,再也不需要逐个敲入目录,只需敲入目标目录,就可以迅速切换目录。
  • 安装
    如果你是mac用户,可以使用brew安装: brew install autojump如果是linux用户,首先下载autojump最近版本,比如: git clone git://github.com/joelthelion/autojump.git然后进入目录,执行 ./install.py最近将以下代码加入~/.zshrc配置文件: [[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
  • 使用
    如果你之前打开过~/.oh-my-zsh/themes目录,现在只需敲入j themes就可以快速切换到~/.oh-my-zsh/themes目录。

    autojump.png

osx
  • tab - 在一个新标签打开当前目录
  • cdf - cd到当前Finder目录
  • quick-look - 快速浏览特殊的文件
  • man-preview - 在Preview应用打开特定的man page
  • trash - 将特定的文件移到垃圾桶
使用
  • 因为zsh兼容bash,所以之前使用bash的人切换到zsh毫无压力
  • 智能拼写纠正,比如你输入cls,会提示

    auto correct.png

  • 各种补全:除了支持命令补全和文件补全之外,还支持命令参数补全,插件内容补全,只需要按tab键
  • 使用autojump智能跳转
  • 目录浏览和跳转:输入d,就显示在会话里访问的目录列表,输入列表前的序号,即可以跳转

    list dir and jump.png

  • 输入..可以返回到上级目录

    parent dir.png

    YouTube有个演示视频 zsh shell详细介绍如果使用Oh My Zsh
总结作为的一个程序员,我觉得shell是一个必不可少的工具,使用它能够毫不费劲地操作计算机。在shell提示下,通过调用各种各样的工具,并结合管道,将这些工具根据自己需要组合起来,创建和制定宏工具,甚至编写shell script来将简单而重复的工作自动化,做到Don't repeat your self
继承事业,薪火相传
返回列表