使用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
),使路径跳转异常方便。看起来确实不错。
- 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
oh-my-zsh安装和卸载
都非常简单,一行命令搞定
install:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
uninstall:uninstall_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 ]]; thenprint yes
elseprint 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个) |
使用zsh+oh-my-zsh+autojump相关推荐
- mac下 iterm+Zsh+Oh My Zsh+tmux 配置方案
iterm2: iterm的一些优点: 兼容性好,远程服务器 vi 什么的低版本能很好兼容,Terminal 则会出问题 (我是长时间在服务器上混的人,但其实并没有这种感觉--) 支持 xterm-2 ...
- Linux中在zsh下如何安装autojump
文章目录 介绍 安装 介绍 autojump is a faster way to navigate your filesystem. It works by maintaining a databa ...
- Linux中zsh插件,ubuntu / zsh shell / oh-my-zsh / 常用插件
记录一下 zsh 的下载与配置,省得每次重装系统都要上网到处查. 安装 zsh shell sudo apt install zsh 切换 shell chsh -s /bin/zsh 安装 oh-m ...
- [zsh] restart a zsh process
我在 ubuntu 上使用 zsh,和 tmux 一块在用.tmux 分屏后,某一个 zsh 进程的命令历史信息或者环境变量不会同步到其他 zsh 进程,如何重启 zsh 进程解决这个问题呢,直接使用 ...
- Mac iTerm zsh autojump tldr
为了工作更有效率,可以考虑shell终极神器zsh,搭配iterm.oh-my-zsh及autojump.tldr等一系列插件 1.iterm安装 $ brew cask install iterm2 ...
- zsh与oh-my-zsh
在开始今天的 MacTalk 之前,先问两个问题吧: 1.相对于其他系统,Mac 的主要优势是什么? 2.你们平时用哪种 Shell? -- 第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令 ...
- ZSH and oh-my-zsh 强强联合
oh my zsh 关于 zsh 的传说数不胜数,这个家伙生来过于傲慢,对于没耐心的人从来就置(不)之(屑)不(一)顾.但是好东西就是牛,当你从入门 Linux 的 shell 之路走出后,来到更广阔 ...
- Ubuntu工具zsh和Byobu
使用 Zsh 的九个理由 像大部分 *nix 用户,我之前用 bash 很多年,期间也有过小的不爽,但一直都忍过来,或者是说没想过这些不爽的地方能解决,比如 cd 到一个深目录时得哐哐猛敲 <T ...
- 安装zsh并修改配置
Zsh 入门 本文前提 CentOS 6.7 64 bit root 用户 Zsh 介绍 Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的 Zsh 官网:Zsh 先看下 ...
- 终极 Shell——ZSH
Shell是Linux/Unix的一个外壳,你理解成衣服也行.它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后 ...
最新文章
- 基于Python和OpenCV的目标跟踪学习教程 Object Tracking using Python and OpenCV
- 【经典概念】一文详解Batch Normalization!!!
- Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常
- man、info、help
- 【Matlab】山地建模?立体热度?怎么绘制三维曲面图?
- 【计算机算法设计与分析】——5.4最优二分检索树
- mysql 函数用还是不用_Mysql中日期和时间函数应用不用求人
- MyBatis+Oracle实现主键自增长
- 如何使用python进行批处理
- 强制MySQL查询走索引和强制查询不缓存
- 逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式
- PHP Socket 深度探索 (一)
- Anaconda中安装pygame
- [diy-windows系统] Windows下dism 集成系统补丁、驱动
- python如何切换windows窗口_python3 selenium 切换窗口的几种方法小结
- 透过CES看国产手机市场变动 “中华酷联”要调位
- 关于打印机共享和连接问题
- U盘文件都变成exe文件怎么办(已解决)
- nginx proxy_pass转发规则解析
- [无线玩家]玩转无线路由之DD-WRT基础扫盲
热门文章
- 高三女生因高中数学知识的数列解题技巧没掌握与梦想大学失之交臂
- React - 路由 lazyLoad 的使用(路由懒加载)
- 登录Microsoft账户特别慢解决办法
- Unity常用模块设计 : Unity游戏排行榜的制作与优化
- 洛谷1116 车厢重组
- 【Stream—7】NetworkStream相关知识分享
- asp.net 从服务器上下载文件
- LoadLibrary深入分析
- “饿了么”创始人张旭豪:打造专注外卖的短物流平台,解决好“最后一公里”的配送,让餐厅的地点不再是关键
- outlook邮箱发送邮件时出错,报告错误(0x800ccc78)“无法发送此邮件。请在账户属性中验证电子邮件地址”,解决方法...