使用zsh+oh-my-zsh+autojump

《MacTalk·人生元编程》介绍说zsh是终极Shell。反正Mac自带,不妨chsh -s zsh切换来看看。

  • alias -s c=vim,关联.c文件到vim,在terminal直接输入test.c,相当于vim test.c. 节省了一个“vim”。
  • d,显示曾经访问的目录。3直接切换到3对应的目录。
  • 配合autojump($ brew install autojump),使路径跳转异常方便。

看起来确实不错。

image

  • zsh官网: zsh.org
  • Web Pages: zsh.sourceforge.net
  • 获取源码git clone git://git.code.sf.net/p/zsh/code zsh

zsh是Mac自带的shell之一,执行$ cat /etc/shells, 输出:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

Mac默认使用bash,通过命令 $ chsh -s /bin/zsh 可以切换到zsh.

zsh的配置(包含插件、主题等)可以使用oh-my-zsh

使用zsh+oh-my-zsh+autojump_第1张图片

oh-my-zsh安装和卸载

都非常简单,一行命令搞定

install

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

uninstalluninstall_oh_my_zsh

配置文件在: ~/.zshrc

主题可自由更换,都在~/.oh-my-zsh/themes. 看着默认的主题也还可以,就不折腾了。ZSH_THEME="robbyrussell"

概念

参数(变量)

普通参数

foo='This is a parameter'

  • 注意
    • ”=前后没有空格
    • ’ ‘内的所有字符都在foo变量内,包括换行符
  • 单引号:
    • print $foo
      • This is a parameter
    • print '$foo'
      • $foo
    • print ''$foo''
      • This is a parameter
  • 双引号:
    • print "$foo"
      • This is a parameter
    • print ""$foo""
      • This is a parameter

Array

foo=(This is a parameter)

  • print -- ${foo[4]}
    • parameter
  • 取变量时,可以加上{}使条理清晰。

表达式

if… else…

  • -o: test an option
    • -o interactive
    • -o login
if [[ -o login ]]; then
        print yes
else
        print no
fi

函数

fn() {
    print Hello world!
}

使用:fn

如果函数定义在.sh文件中,可以用source file.sh使其生效。

命令

  • shell会将所有命令缓存在hash table中,这样每次取命令就非常快。
  • 如果新加一个path到PATH, zsh会自动执行rehash
  • 查看历史命令.zsh_history
command meaning
env 环境变量
type 查看是否为shell内建命令
alias ls=’ls -G’ 别名
d [number] 显示(跳转到)历史目录(默认10个)

你可能感兴趣的:(Mac使用)