玩oh my zsh

终端界面的奇技淫巧

Posted by Shaun on April 14, 2018

为什么要一个炫酷的终端

因为炫酷的终端,可以用来装逼。

oh my zsh是好久之前就装过了,也用过一些歪门邪道的用法,比如终端下看图片,上网,看天气什么,现在全都忘记了。重玩。

oh-my-zsh在github上的repo

ohmyzsh主页

更新:upgrade_oh_my_zsh

卸载:uninstall_oh_my_zsh

在.zshrc文件中设置别名,如:

#设置ty为使用Typora打开文件
alias ty='open -a /Applications/Typora.app'

#设置md文件都使用Typora打卡。此时直接输入hello.md即可打开文件(tab可自动补全)
#mac可直接使用open打开文件,如open hello.md来打开md文件,不需要ty hello.md
#根据文件类型设置对应的打开程序是zsh的特性
#安装iTerm后,按住cammand再选择文件即可打开
alias -s md=ty

zsh主题,在 .zshrc 里找到ZSH_THEME,修改相应字段

在~/.oh-my-zsh/themes目录下选择主题(自带的,第三方的)

改造主题,如绝对路径和相对路径的显示顺序,用户名,之类

插件

oh my zsh 项目提供了完善的插件体系,相关的文件在~/.oh-my-zsh/plugins目录下,默认提供了100多种

插件也是在.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容,如下:

plugins=(git textmate ruby autojump osx mvn gradle)

MacTalk-池建强的随想录插件一节提到的git的效果我这里没有。

textmate:mr可以创建 ruby 的框架项目,tm finename 可以用 textmate 打开指定文件 osx增强:tab 增强;quick-look filename 可以直接预览文件;man-preview grep 可以生成 grep手册 的pdf 版本等

autojump(已安装)

兼容 bash 强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令 智能拼写纠正 各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 ctrl+n/p/f/b上下左右切换 智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转? 输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。 …显示前三级目录,几个点上回几级

通配符搜索ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find,文件太多就歇菜了。

更强的别名:请参考配置一节

插件支持:请参考插件一节

incr.zsh 补全插件

自己下载插件后,还需要source插件部分

source ~/.oh-my-zsh/plugins/incr/incr*.zsh
source ~/.zshrc   

与vim的提示冲突(虽然我很少用vim):

使用自动补全插件可能会与vim的提示功能相冲突,如会报以下错误:

$ vim t
_arguments:451: _vim_files: function definition file not found

解决方法:将~/.zcompdump*删除即可

$ rm -rf ~/.zcompdump*
$ exec zsh

创建配置文件 cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

设置zsh为默认的shell chsh -s /bin/zsh

Oh My Zsh的主题,字体,配色,高亮

iTerm的主题,字体,配色,高亮,背景图,透明度,各种配置,皮肤?更新

配置iTerm,配色方案,窗口之类,字体,插件,高亮,homebrew,包管理

slack的玩法,插件之类

vim,emacs的玩法

各种ide和语言?游戏,插件,传感器,好看的网页,炫酷的界面

oh-my-zsh的git高级用法

zsh 的默认配置及其复杂繁琐,让人望而却步,直到有了oh-my-zsh这个开源项目,让zsh配置降到0门槛.而且它完全兼容 bash .

oh-my-zsh 安装后,它的配置在用户目录下的 .oh-my-zsh 目录下

如何活用git的分支和pull,issue,diff,fetch等指令

zsh对git的别名设置:非常好用

.oh-my-zsh/plugins/git/git.plugin.zsh