oh-my-zsh: 让终端飞
上一次推文写了JupyterLab:程序员的笔记本神器,介绍的是如何在web端打造一个便捷的开发环境,发出后反响还不错
因此我决定再写几篇能提升程序员工作以及学习效率的文章,如果能形成一个系列那是最好~如果你有自己的效率工具以及方案,欢迎留言讨论
什么是oh-my-zsh
诸位大佬都知道, Linux下 shell默认是 bash,但还有一种 shell,叫做 zsh它比 bash更加强大,功能也更加完善, zsh虽说功能强大,但是配置比较复杂导致流行度不是很高
但是好东西终究是好东西,开源界的大佬们是不会让明珠蒙尘,我等伸手党也是可以直接搭顺风车的,感谢 robbyrussell大佬的开源项目 oh-my-zsh 吧,从此使用 zsh也就几行命令的事情
oh-my-zsh项目目前有 80k+star,贡献者超过 1300,并且提供了200多个可选插件(rails,git,OSX,hub,capistrano,brew,ant,php,python等),以及超过140个主题供你选择,安装后你将享受以下特性:
首先兼容bash
自动cd:只需输入目录的名称即可
命令选项补齐,比如输入
git,然后按Tab,即可显示出git都有哪些命令目录一次性补全:比如输入
Doc/doc按Tab键会自动变成Documents/document/插件和主题支持(插件能进一步提升效率)
安装oh-my-zsh
在安装oh-my-zsh之前,首先需要安装好 zsh:
yum install -y zsh
切换shell为zsh:
chsh -s /bin/zsh
重启终端:
# 查看当前shellecho $SHELL
输出 /bin/zsh表示成功
oh-my-zsh的安装非常简单,参考官网,执行如下命令即可:
# curlsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"# wegtsh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
输出如下表示成功:
配置oh-my-zsh
和 bash不同, zsh的配置文件是 ~/.zshrc,实际上 oh-my-zsh的默认配置也够我们使用了,但是这样其真正的强大之处并不能得到很好的体现,因此我们可以继续看看对应的插件和主题功能
关于主题
oh-my-zsh的主题非常丰富,可以用如下命令查看已有主题:
ls .oh-my-zsh/themes
个人比较喜欢简单的,因此用了 wedisagree主题,进入 .zshrc配置文件进行修改
vim ~/.zshrc
将第11行改为 ZSH_THEME="wedisagree",然后 :wq保存退出,主题就自动生效
关于插件
oh-my-zsh的插件生态非常丰富,下面列出来的是我个人比较常用的插件,如果你有兴趣,可以取发掘能提高自身效率的插件~
注意:如果操作过程中出现 _arguments:448:_vim_files:functiondefinition filenotfound错误,请执行: rm-f~/.zcompdump即可
incr
incr是一款自动提示插件,功能非常强大,官网演示demo,感受一下:
安装:
wget http://mimosa-pudica.net/src/incr-0.2.zshmkdir ~/.oh-my-zsh/plugins/incrmv incr-0.2.zsh ~/.oh-my-zsh/plugins/increcho 'source ~/.oh-my-zsh/plugins/incr/incr*.zsh' >> ~/.zshrcsource ~/.zshrc
可以开心的敲命令行了~
autojump
这款插件基本上算是必备插件了,在终端操作里面比较常用的算是文件夹之间的切换,这款插件极大地简化了路径跳转的操作,在一键直达的功能下,自动补全也就一般般了哈
先安装:
yum install autojump-zshchmod 777 /usr/share/autojump/autojump.bashecho "/usr/share/autojump/autojump.bash" >> ~/.zshrcsource ~/.zshrc
效果如下:
以前的 cd code现在可以直接 j c,路径越长,该插件效果就越明显
zsh-autosuggestions
这是一个命令自动补全插件,当你输入命令的几个字母,它会自动根据历史输入进行自动补全,然后按 →,安装也很简单:
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestionsvim ~/.zshrc# 加入插件列表plugins=(gitzsh-autosuggestions)source ~/.zshrc
该插件已经在第一个动图有演示,这里不再重复
autoswitch_virtualenv
这个插件对于Python开发者来说可以算是神器了,在实际开发过程中,基本上一个Python项目就对应了一个新的虚拟环境,如果你使用 pipenv,当你需要进入项目的虚拟环境时候,就需要执行 pipenv shell命令,安装 autoswitch_virtualenv后,该插件可以自动地完成这些事情:
git clone "https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv.git" "$ZSH_CUSTOM/plugins/autoswitch_virtualenv"vim ~/.zshrc# 加入插件列表plugins=(gitzsh-autosuggestionsautoswitch_virtualenv)source ~/.zshrc
该插件已经在第一个动图里面体现的很明显,这里不再重复演示
zsh-syntax-highlighting
这个插件的主要作用就是在提高颜值(高亮你的zsh可用命令),安装如下:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingvim ~/.zshrc# 加入插件列表plugins=(gitzsh-autosuggestionszsh-syntax-highlighting)source ~/.zshrc
效果如下图:
总结
程序员在开发过程中,效率快慢是个不可忽略的因素,提高效率,能一定程度上节省开发时间,从而形成一系列的正向反馈,何乐而不为?
oh-my-zsh: 让终端飞的更多相关文章
- Ubuntu基于zsh自定义设置shell主题
为优化Ubuntu命令行页面效果,Google一番选择github上开源项目zsh,以自定义Shell主题,注:本机系统为Ubuntu 14.04 1.安装zsh sudo apt-get insta ...
- GitHub 终端加速最佳实践
终端加速 GitHub 方法的前置条件, 一是购买了加速服务或者租用 VPS 搭建加速服务, 二是系统是 macOS, 三是终端是 iTerm, 四是 Shell 是 zsh. 终端加速 GitHub ...
- Linux美化终端
终端美化 不管你是Kali 还是 Centos 还是Ubuntu... 请先用你的安装器安装 zsh 这里以Ubuntu 为例: 终端美化使用的on-my-zsh 首先先介绍一下什么是zsh,zsh ...
- mac添加oh my zsh
Mac 终端 oh-my-zsh 配置 Mac 终端默认 shell 为 bash.zsh 可能是目前最好的 shell ,至于好在哪里可自行百度.本文主要介绍使用 zsh 以及 oh-my-zs ...
- iTerm2 + oh my zsh +agnoster
安装iTerm2 iTerm2官方下载地址 http://www.iterm2.com/downloads.html 安装Oh My Bash 1.通过cat /etc/shells命令可以查看当前系 ...
- Mac 终端实现快速定位命令 自动补全目录
基于macOS oh-my-zsh 切换终端主题 incr.zsh 实现快速定位命令 自动补全目录 效果预览 步骤 1.安装 oh-my-zsh sh -c "$(curl -fsSL ht ...
- WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!
继 Tabby.Warp 后,今天再来给大家推荐一款终端神器--WindTerm,完全开源,在 GitHub 上已经收获 6.6k 的 star. https://github.com/kingToo ...
- [转载] 高效 MacBook 工作环境配置
原文: http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=208231200&idx=1&sn=8a76ddc56c1f ...
- [转载] 高效MacBook工作环境配置
原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...
随机推荐
- 熵值法 [异质指标同质化]中-Matlab 数据归一化预处理 mapminmax函数
一.mapminmax Process matrices by mapping row minimum and maximum values to [-1 1] 意思是将矩阵的每一行处理成[-1,1] ...
- (六)QDialog,QMessageBox,QFileDialog,QColorDialog颜色,QFontDialog字体
QDialog 对话框: 1.模态对话框: QDialog dlg(this); // 显示模态对话框 exec ,后面的不可操作 dlg.exec(); // 阻塞 2.非模态对话框: QDialo ...
- mac下安装maven
在mac下 使用 brew安装,brew install maven 查看maven版本 mvn -version 打开Terminal,输入以下命令,设置Maven classpath 添加下列两行 ...
- 第五周java学习总结
学号 20175206<Java程序设计>第五周学习总结 教材学习内容总结 6.1 接口 为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口. 使用关键字interf ...
- 使用vcastr22.swf做flash版网页视频播放器
flash的安装设置参考 Flash设置(各种版本浏览器包括低版本IE) 百度搜索下载vcastr22.swf文件 然后使用方式很简单,浏览器安装flash相关插件就能看了 视频路径主要在这里,视频 ...
- js重点--匿名函数
推荐博客:https://www.cnblogs.com/pssp/p/5216668.html 函数是必须要有函数名的,不然没有办法找到它,使用它. 如果没有名字必须要有一个依附体,如:将这个匿名函 ...
- 003 win7如何配置adb环境变量
1.首先右击计算机——属性——高级系统设置——环境变量: 2.弹出”环境变量“对话框,单击”新建“一个环境变量. 3.在新建系统变量里,配置变量名:Android 变量值:D:\Users\Admin ...
- 利用GitHub Pages和Bootstrap创建个人网站
作为一名想要想找前端实习的即将毕业的学生,我最近意识到拥有个人网页会使自己的简历更容易被注意到.本文主要是我创建过程及个人心得,有些操作我也是第一次,所以难免在解释中会有错误.另外说明一下,我的电脑是 ...
- 如何解压DMK固件
一.DMK固件 从罗克韦尔自动化下载的固件通常是以DMK为后缀名的文件: DMK文件无法直接使用,需要使用DMK Extraction Tool解压: 二.方法步骤 1. 如果从官网下载的固件文件后 ...
- Python中所有的关键字
在python中若想查询python中有哪些关键字可以先导入keyword模块 import keyword #导入关键字模块print(keyword.kwlist) #查询所有关键字 查询结果: ...