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. tomcat参数调优

    在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等.这是个让开发人员很痛苦.也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生.所 ...

  2. windows下配置mysql数据库监视工具Mysqlreport

    该工具除了可以监控本机Mysql数据库外,也可以监控远程服务器mysql数据库 需要的工具: 1:perl脚本解析工具安装: http://www.activestate.com/activeperl ...

  3. WallPaper

    LiveWallPaper 动态壁纸是从Android2.1就开始带有的一个新的特性.它让我们能够将本来毫无生气的静态的手机屏幕背景替换成 从 随着音乐的活力和脉动而跳跃的声线 到 手指抚过能激起阵阵 ...

  4. Spring整合strus2简单应用总结

    本身strus2没接触过,所以这块学的一知半解,正常不整合的还没学(接着学) step: 1.创建web工程 2.在/WEB-INF/lib引入jar包 asm-3.3.jarasm-commons- ...

  5. Go语言规格说明书 之 接口类型(Interface types)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的  ...

  6. transfer pdf to png

    #! /bin/bash # # transfer pdf to png if [ $# != 1 ] ; then echo "USAGE: $0 PDF FILE ABSOLUTELY ...

  7. webpack 4.0.0-beta.0 新特性介绍

    webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...

  8. linux 安装软件

    apt-get install softname /安装软件apt-get update 是更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出 ...

  9. Java8 容器类详解

      ArrayList Vector CopyOnWriteArrayList LinkedList HashMap ConcurrentHashMap LinkedHashMap 使用场景 随机访问 ...

  10. 性能测试十九:jmeter参数优化+排错

    一:参数优化 1,控制台取样间隔的设置,在jmeter/bin/jmeter.properties文件中修改 summariser.interval=10,默认为30s,最低可修改为6s 2,Jvm参 ...