zsh+on-my-zsh配置

本文以CentOS 7/Mac 为例,介绍zsh的配置使用教程。

准备

查看当前环境shell

echo $SHELL

查看系统自带哪些shell

cat /etc/shells

安装zsh

yum install zsh # CentOS
brew install zsh # mac安装

将zsh设置为默认shell

chsh -s /bin/zsh # CentOS

## Mac如下
 在 /etc/shells 文件中加入如下一行
/usr/local/bin/zsh
## 接着运行
chsh -s /usr/local/bin/zsh

可以通过echo $SHELL查看当前默认的shell,如果没有改为/bin/zsh,那么需要重启shell。

oh-my-zsh

配置zsh是一件麻烦的事儿,爱折腾的程序猿怎么可能忍受?!于是,oh-my-zsh出现了,有了这个东东,zsh配置起来就方便多了!

安装oh-my-zsh

有若干安装方式,介绍三种:
1.自动安装
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
2.手动安装

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

3.真-手动安装

在oh-my-zsh的github主页,手动将zip包下载下来。
将zip包解压,拷贝至~/.oh-my-zsh目录。此处省略拷贝的操作步骤。
执行cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

三选一即可,适合各种环境下的安装,然后需要source ~./.zshrc将配置生效。以下修改了.zshrc文件之后,都执行一下这个命令。

zsh主题

通过如下命令可以查看可用的Theme:
# ls ~/.oh-my-zsh/themes
如何修改zsh主题呢?
编辑~/.zshrc文件,将ZSH_THEME="candy",即将主题修改为candy。我采用的clean。

zsh扩展

~/.zshrc中找到plugins关键字,就可以自定义启用的插件了,系统默认加载git

git插件

命令内容可以参考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh

常用的:

gapa    git add --patch
gc! git commit -v --amend
gcl git clone --recursive
gclean  git reset --hard && git clean -dfx
gcm git checkout master
gcmsg   git commit -m
gco git checkout
gd  git diff
gdca    git diff --cached
gp  git push
grbc    git rebase --continue
gst git status
gup git pull --rebase

完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git

extract

解压文件用的,所有的压缩文件,都可以直接x filename,不用记忆参数

当然,如果你想要用tar命令,可以使用tar -加tab键,zsh会列出参数的含义。

autojump

按照官方文档介绍,需要使用如下命令安装,而不是一些博客中的介绍:

yum install autojump-zsh # CentOS
brew install autojump # Mac

CentOS安装好之后,需要在~/.zshrc中配置一下,除了在plugins中增加autojump之外,还需要添加一行

[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh

安装好之后,记得source ~/.zshrc,然后你就可以通过j+目录名快速进行目录跳转。支持目录名的模糊匹配和自动补全。
j -stat:可以查看历史路径库

常用快捷键

命令历史记录

一旦在 shell 敲入正确命令并能执行后,shell 就会存储你所敲入命令的历史记录(存放在~/.zsh_history 文件中),方便再次运行之前的命令。可以按方向键↑和↓来查看之前执行过的命令
可以用 r来执行上一条命令
使用ctrl-r来搜索命令历史记录

命令别名

可以简化命令输入,在.zshrc中添加 alias shortcut=‘this is the origin command‘一行就相当于添加了别名
在命令行中输入 alias可以查看所有的命令别名

使用技巧

连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换

智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-1.0.0 目录,输入j hado 即可正确跳转。j –stat 可以看你的历史路径库。

命令选项补全。在zsh中只需要键入 tar - 就会列出所有的选项和帮助说明

在当前目录下输入 .. 或 … ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入cd /u/l/b 然后按进行补全快速输入
目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。

命令参数补全。键入kill 就会列出所有的进程名和对应的进程号

更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
多个终端会话共享历史记录

通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索

扩展环境变量,输入环境变量然后按 就可以转换成表达的值

在 .zshrc 中添加 setopt HIST_IGNORE_DUPS 可以消除重复记录,也可以利用sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history手动清除



转自Michael翔

原文地址:https://www.cnblogs.com/-oreo/p/10182631.html

时间: 2024-08-30 11:32:14

zsh+on-my-zsh配置的相关文章

Z shell(zsh)安装-更新-配置-使用

有人演示了一把zsh,看着是挺爽的.这个shell一定有独到之处,于是就捣鼓一把. zsh是同bash一样,也是一中shell,只不过它有自己的不同之处,或优或劣.开始写这篇记录的时候,只是安装配置好它了,还没有来得及尝试体验其“优劣”. 1.安装.zsh在一般的linux发行版本中都默认包含了.看一下你的机器上都有什么shell呢?下面是我的机器上的shell $cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/

Iterm2安装Zsh + Oh My Zsh+Solarized

安装Oh My Zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 安装Zsh: 1.安装zsh brew install zsh 2.配置iterm2 sudo vim /etc/shells 输入: /usr/local/bin/zsh chsh -s /usr/local/bin/zsh 3.然后重新启动iTerm2,zsh就已经被配置成默认的shell了. 安装Sol

保证ZSH和bash相同配置

添加"source /etc/profile" 到 ~./zshrc,输入zsh启动zsh就OK了,简单粗暴,my style ~ # User configuration export PATH="/usr/local/php/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin" # export MANPATH="/usr/local/man:$MANPA

Mac OS 终端美化:iterm2 + zsh + oh~my~zsh 设置教程

前言 mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便,看起来更加舒服. 下面直接说配置方法吧.关于这三个名词的介绍可以看文末. 配置方法 1. 下载安装iterm2 官网:https://www.iterm2.com 打开官网下载安装包,打开安装就好. 2. 切换shell为zsh chsh -s /bin/zsh 查看是否切换成功 echo $SHELL 3. 安装oh~my~zsh sh -c "$(curl -f

ubuntu下安装zsh + oh my zsh

1.需要zsh支持,所以安装zsh: sudo apt-get install zsh 2.安装oh my zsh 根据官方: $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 3.设置zsh为默认终端 chsh -s $(which zsh) 或者 chsh -s /bin/zsh 4.注销用户,重新登录 未完成此步骤,则zsh不是默认终端.不是很

Ubuntu下安装配置zsh和oh my zsh

zsh优势:自动补全功能强大和很高的可配置性 1.查看当前系统装了哪些shell cat /etc/shells 2.当前正在运行的是哪个版本的shell echo $SHELL 3.安装zsh sudo apt-get zsh 4.切换zsh chsh -s /bin/bash(非实时,需重启) 5.安装oh my zsh wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools

zsh安装和配置

zsh安装和配置 Zsh是一个Linux用户很少使用的power-shell,这是由于大多数Linux产品安装,以及默认使用bash shell.几乎每一款Linux产品都包含有zsh,通常可以用apt-get.urpmi或yum进行安装.zsh是兼容bash的,但是又比bash好用,有什么理由不用zsh呢? zsh的安装 在终端中输入下面命令进行安装 sudo apt-get install zsh 安装完毕以后,你需要将zsh替换为你的默认shell,之前默认的shell为Bourne Ag

Linux上超酷的命令行扩展工具Oh My Zsh

Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式.它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作.给我们一种全新的方式使用命令行. 什么是 Oh My ZshOh My Zsh 这个名字听起来就很有意思~, 它是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能. Oh My Zsh 的主页上,对它的定义有了明确的解释:http://ohmyz.sh 关于 zsh,它是一种命令行程序.我们 MAC 系统上默认使用

终极 Shell——ZSH

Shell是Linux/Unix的一个外壳,你理解成衣服也行.它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序. Linux/Unix提供了很多种Shell,为毛要这么多Shell?难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样.写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂.牛程序员看到不爽的Shell,就会自己重新写