via : http://leochin.com/linux-macosx-shell-zsh/

Linux及MacOSX中使用zsh

zsh是另一种Shell,类似bash,tcsh等等,只是多了一些人性化的功能, ex: Tab 按两下, 会将档案、目录等变成可以选取的模式,选完后会自动补齐命令.还有错误的命令或者资料夹等等, 会询问是否打错, 自动纠正.

zsh详细说明: Zsh Workshop: Table of Contents

上述的都不重要, 最重要的是有 oh-my-zsh 的插件可以使用. (简单说, 若沒有 oh-my-zsh, 那 zsh 一点吸引力都没有)

oh-my-zsh 将之前配置文件, 用外挂的方式挂进去, 可以轻松的站在巨人的肩膀上. (而且 theme 有很多可以挑选)


将 MacOSX / Linux 用的 Shell 改用 zsh

1. 安装zsh

Debian / Ubuntu Linux 需要安裝: apt-get install zsh

Mac 预设就有 zsh 了~

安装完 zsh 后, chsh -s /bin/zsh 即可.

NOTES:

chsh -s /bin/zsh # 设定为 default shell

相关设定: .zshenv, .zprofile, .zshrc, .zlogin

2. 安裝使用 oh-my-zsh

cd ~/

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

cp ~/.zshrc ~/.zshrc.orig

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

配置zsh时需要修改.zshrc文件。

//修改theme

#export ZSH_THEME="steeef"

export ZSH_THEME="afowler"

更多的themes在.oh-my-zsh/themes中

//修改插件

plugins=(git osx) # 啟用 git, osx 的 plugin

更多plugins可以參考~/.oh-my-zsh/plugins

3. 中文乱码问题

在终端下输入

vim ~/.zshrc

或者使用其他你喜欢的编辑器编辑~/.zshrc

在文件内容末端添加:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

接着重启一下终端,或者输入 source ~/.zshrc


其他


  1. oh-my-zsh中不同的theme可能需要不同的font,可以在powerline-fonts中下载
  2. 通过远程登录zsh的服务器时,zsh中的特殊符号不能正常显示,这个问题还没有解决

引用:


  1. MacOSX shell 改用 zsh
  2. oh-my-zsh中文乱码问题
  3. 终极 Shell
  4. zsh
  5. oh-my-zsh
  6. Zsh Workshop: Table of Contents
  7. powerline-fonts

Written with LeoChin.

Linux及MacOSX中使用zsh的更多相关文章

  1. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(3)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  2. linux top命令中各cpu占用率含义

    linux top命令中各cpu占用率含义 [尊重原创文章摘自:http://www.iteye.com/topic/1137848]0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间 ...

  3. dos2unix,去掉Linux下文件中的^M

    Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...

  4. Linux在Hyper-V中实现与Windows的宽带共享上网

    相信不少读者都会做(或者曾经做过)这么一项活动——把一个Linux系统安装到Windows系统下的虚拟机软件中,然后在Windows这个大环境中对Linux进行学习或者一些实验操作.在进行这么一项活动 ...

  5. linux c程序中获取shell脚本输出的实现方法

    linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...

  6. Linux 多线程应用中如何编写安全的信号处理函数

    http://blog.163.com/he_junwei/blog/static/1979376462014021105242552/ http://www.ibm.com/developerwor ...

  7. linux free命令中buffer与cache的区别

    linux free命令中buffer与cache的区别 2012-05-15      个评论       收藏    我要投稿 linux free命令中buffer与cache的区别   ~$ ...

  8. 【转】linux设备驱动程序中的阻塞机制

    原文网址:http://www.cnblogs.com/geneil/archive/2011/12/04/2275272.html 阻塞与非阻塞是设备访问的两种方式.在写阻塞与非阻塞的驱动程序时,经 ...

  9. Linux內核中常用的一些延時方法

    Linux內核中常用的一些延時方法 這些方法在以下路徑下定義:kernel/include/linux/delay.h #ifndef _LINUX_DELAY_H #define _LINUX_DE ...

随机推荐

  1. Oracle:SQL语句--对表的操作——修改表名

    – 修改表名(未验证在有数据,并且互有主外键时,是否可用) 语法: rename 现表名 to 新表名; 例: rename T_Student2 to T_Stu;

  2. 【mongo】登陆报错

    今天登陆mongo时出现了错误 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt fa ...

  3. CF 449D 题解(状压+容斥)

    状压妙啊... 本题的主体思路:状压+容斥原理(或状压+数位dp) 记g[i]表示按位与后结果所有位上至少有i个1的方案数 那么根据容斥原理,ans=g[0]-g[1]+g[2]-g[3]+g[4]. ...

  4. javafx的scene大小不能在控制器中设置

    做个记录,备忘 遇到一个问题,点击提交,红色标识的VBox大小不能改变.问题如图,代码如下 点击后 fxml结构简化代码: 红色框体对应vboxMax <VBox fx:id="vbo ...

  5. Asp.NetWebForm的控件属性

    一:GridView: 1.绑定ID 的值:DataKeyNames="Id", 2.自动产生列的意思:AutoGenerateColumns 3.如何注册脚本:ClientScr ...

  6. 《SQL基础教程》

    Product表 CREATE TABLE Product (product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, prod ...

  7. python yield,到这个层次,才能叫深入哈

    http://python.jobbole.com/88677/?utm_source=blog.jobbole.com&utm_medium=relatedPosts ~~~~~~~~~~~ ...

  8. c++ primer 笔记 (四)

    现代C++程序应尽量使用vector和迭代器类型,而避免使用低级的数组和指针. 设计良好的程序只有在强调速度时才在类实现的内部实现数组和指针.   更多地使用vector来取代数组,数组被严格限制于程 ...

  9. BZOJ2243 洛谷2486 [SDOI2011]染色 树链剖分

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2243 题目传送门 - 洛谷2486 题意概括 一棵树,共n个节点. 让你支持以下两种操作,共m次操 ...

  10. zyb的面试

    今天zyb参加一场面试,面试官听说zyb是ACMer之后立马抛出了一道算法题给zyb:有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?例如n=15,k=7, 排列顺序 ...