首先是 oh-my-zsh 自带的 alias 插件,这些东西能让你在终端少打很多字:

1. git

定义了有关 git 的 alias。常用的有

  • gaa = git add --all
  • gcmsg = git commit -m
  • ga = git add
  • gst = git status
  • gp = git push

2. tmux

定义了有关 tmux 的 alias。常用的有

  • tl = tmux list-sessions
  • tkss = tmux kill-session -t
  • ta = tmux attach -t
  • ts = tmux new-session -s

然后是 oh-my-zsh 自带的,一些提供实用命令的插件。

1. extract

提供一个 extract 命令,以及它的别名 x。功能是:一!键!解!压!你知道tar的四种写法吗?我也不知道,所以我装了这个。从今以后 tar, gz, zip, rar 全部使用 extract 命令解压,再也不用天天查 cheatsheet 啦!

2. rand-quote

提供一条 quote 命令,显示随机名言。和fortune的作用差不多,但是我感觉fortune上面大多是冷笑话,还是quote的内容比较有意思。

当然这种东西很少有人会主动去按的。所以你可以在你的zshrc里面的最后一行加上quote,实现每次打开shell显示一条名言的效果~

再进一步,安装一个cowsay,把quote | cowsay放到zshrc的最后一行。于是每次打开终端你就可以看到一头牛对你说:

3. themes

提供一条 theme 命令,用来随时手动切换主题。在想要尝试各种主题的时候很实用,不需要一直改 zshrc 然后重载。

4. gitignore

提供一条 gi 命令,用来查询 gitignore 模板。比如你新建了一个 python 项目,就可以用

 gi python > .gitignore 

来生成一份 gitignore 文件。

5. cp

提供一个 cpv 命令,这个命令使用 rsync 实现带进度条的复制功能。

6. zsh_reload

提供一个 src 命令,重载 zsh。对于经常折腾 zshrc 的我,这条命令非常实用。

7. git-open

提供一个 git-open 命令,在浏览器中打开当前所在 git 项目的远程仓库地址。

8. z

提供一个 z 命令,在常用目录之间跳转。类似 autojump,但是不需要额外安装软件。


接着是 oh-my-zsh 自带的,其他一些功能强大的实用工具。

1. vi-mode

vim输入模式,非常强大,不用多说。

2. per-directory-history

开启之后在一个目录下只能查询到这个目录下的历史命令。按 Ctrl+g 开启/关闭。对我来说很实用,但是不一定所有人都喜欢,可以考虑一下自己是否真的需要。

3. command-not-found

当你输入一条不存在的命令时,会自动查询这条命令可以如何获得。

4. safe-paste

像我这样的懒人,经常会从网上复制各种脚本。但是复制的命令有可能并不就是我要的,可能还需要改一改。但是往往我复制了几行脚本,粘贴到 zsh 里,就发现它直接运行了。这真是非常危险。

这个插件的功能就是:当你往 zsh 粘贴脚本时,它不会被立刻运行。给了我这种懒人修改别人脚本的机会。

5. colored-man-pages

给你带颜色的 man 命令。

6. sudo

apt 忘了加 sudo?开启这个插件,双击 Esc,zsh 会把上一条命令加上 sudo 给你。

7. history-substring-search

一般人会在 zsh 中绑定 history-search-backward 与 histor-search-forward 两个功能。

bindkey '^P' history-search-backward
bindkey '^N' history-search-forward

这样子,就可以在输入一个命令,比如 git 之后,按 Ctrl-P 与 Ctrl-N 在以 git为前缀的历史记录中浏览,非常方便。

但是这个做法有一个问题,就是这个功能只考虑输入的第一个单词。也就是说,如果之前输入了 git status, git commit, git push 等等命令,那么我输入 "git s" 再 Ctrl-P,并不会锁定到 "git status", 而是会在所有以 git 开头的历史命令中循环。

这个插件的功能就是实现了一对更好用的 history-search-backward 与 histor-search-forward ,解决了上面所说的问题。开启之后,需要绑定按键:

bindkey '^P' history-substring-search-up
bindkey '^N' history-substring-search-down

这样子就可以以自己输入的所有内容为前缀,进行历史查找了。


然后下面是需要单独安装的:

1. zplug

zsh 的插件管理器,类似 vim 的 vundle,把你需要的所有插件写到 zshrc 里,然后运行 zplug install 就可以安装这些插件。就像这样:

if [[ -f ~/.zplug/init.zsh ]] {source ~/.zplug/init.zshzplug "zsh-users/zsh-syntax-highlighting"zplug "zsh-users/zsh-autosuggestions"zplug "supercrabtree/k"zplug "denisidoro/navi"zplug "MichaelAquilina/zsh-you-should-use"zplug "changyuheng/zsh-interactive-cd"zplug "SleepyBag/zsh-confer"zplug "Powerlevel9k/powerlevel9k", from:github, as:theme, if:"[[ $ZSH_THEME_STYLE == 9k ]]"zplug "denysdovhan/spaceship-prompt", use:spaceship.zsh-theme, from:github, as:theme, if:"[[ $ZSH_THEME_STYLE == spaceship ]]"zplug "caiogondim/bullet-train.zsh", use:bullet-train.zsh-theme, from:github, as:theme, if:"[[ $ZSH_THEME_STYLE == bullet ]]"zplug "skylerlee/zeta-zsh-theme", from:github, as:theme, if:"[[ $ZSH_THEME_STYLE == zeta ]]"if ! zplug check --verbose; thenecho 'Run "zplug install" to install'fi# Then, source plugins and add commands to $PATHzplug load
}

这个工具不仅可以用来装 zsh 插件,事实上它可以用来自动安装任何你认为有必要的插件、主题、脚本甚至二进制程序。但是对于非 zsh 插件的程序,在安装之前要先看看 zplug 的文档,搞清楚如何安装。

2. zsh-syntax-highlighting

shell 命令的代码高亮。你没有理由拒绝高亮。

3. zsh-autosuggestions

在输入命令的过程中根据你的历史记录显示你可能想要输入的命令,按 tab 补全。

不过 tab 键似乎与 zsh 的补全有冲突,所以我改成了 ctrl-y 直接运行命令,关于如何修改快捷键,项目主页上也有写。

mac上使用oh my zsh有哪些必备的插件推荐?相关推荐

  1. 【求回答】如何在mac上使用pip?zsh: command not found: pip

    转载:https://blog.csdn.net/weixin_44123540/article/details/119567418 dizai@B-T29RML7H-0231 ~ % sudo py ...

  2. mac上安装旧版火狐与firebug和firepath插件

    我安装了火狐45版本,从下方网盘下载后直接安装,然后记得把自动更新关闭掉. 然后把firebug.xpi文件直接拖到浏览器就行,这时会提示"附加组件似乎损坏,无法安装". 你需要打 ...

  3. 市面上降噪最好的蓝牙耳机,618必备降噪蓝牙耳机推荐

    蓝牙耳机的受欢迎程度丝毫不输给手机,甚至是已经到人手必备一个的状态了,除了外出便携,让聆听变得更加简单轻松,工作中也能够很好去提升工作效率:为了对嘈杂的环境进行有效的抵消,降噪耳机的出现很好的解决了这 ...

  4. 在Mac上设置环境变量并永久生效的方法

    原由 我使用Go来开发程序,安装govendor之后发现命令行中执行govendor无效,需要将govendor所在的路径添加到PATH环境变量中.我的软件环境是iTerm2+zsh. Mac中的环境 ...

  5. mac上chrome插件安装

    mac上chrome浏览器默认隐藏了拖拽安装插件功能 chrome://flags/#extensions-on-chrome-urls只需打开该设置将Disabled改为Enabled,即可拖入.c ...

  6. mac 字体微软雅黑字体_如何在Mac上验证和删除字体

    mac 字体微软雅黑字体 The humble font isn't as humble as you might think, especially on a Mac. Fonts are more ...

  7. 推荐三款 Mac 上的理财神器 iCompta、Rublik、UctoX

    推荐三款 Mac 上的理财神器 iCompta.Rublik.UctoX 今天推荐三款理财神器,像个人的话可以使用 iCompta(个人财务管理)一款软件就好了,但有些朋友可能有关注汇率的需求,可以使 ...

  8. mac上使用zsh配置环境变量

    Mac配置环境变量的地方 一./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. 二./etc/bashrc (一般在这个文件中添加系统级环境 ...

  9. MAC上安装iTerm2+oh my zsh+设置Dracula主题

    MAC上安装iTerm2+oh my zsh+设置dracula主题 iTerm2 + oh my zsh 安装教程 Dracula主题安装教程 问题解决教程

最新文章

  1. TCP/IP总结(1)分层
  2. pragma名字的来源
  3. swagger传递日期类型 json形式
  4. html页面调用存储过程,用WebBrowser实现HTML界面的应用
  5. [ML]熵、KL散度、信息增益、互信息-学习笔记
  6. 抽象类的成员特点 学习笔记
  7. 34.在排序数组中查找元素的第一个和最后一个位置(力扣leetcode) 博主可答疑该问题
  8. 数据库mysql局部变量_MySQL内核技术之“pthead局部变量”
  9. 苹果笔记本计算机内存不足怎么办,macbook内存不够用怎么加_苹果电脑增加内存的具体方法...
  10. 【蓝桥杯嵌入式】【HAL库】九、DAC实验
  11. 深入理解Android之Xposed详解
  12. 【中秋系列】这款秘制Python月饼游戏,拿走不谢~
  13. 编辑距离——莱文斯坦距离(Levenshtein distance)
  14. python可以爬取wind数据库吗_如何利用Python来爬取近百万条数据?数据库会炸吧?...
  15. paper 77:[转载]ENDNOTE使用方法,常用!
  16. 1.8w 字 | 初中级前端 JavaScript 自测清单 - 2
  17. oracle--dump 块与块分析 (dump 深入实践二)
  18. Linux Hook技术实践
  19. 【Python网络爬虫】前程无忧网爬虫+可视化
  20. 华为鸿蒙5g售价,荣耀5G最新确认,120Hz+双6400万像素+鸿蒙系统,售价感人

热门文章

  1. Are Lights Still On?
  2. 盘点个人喜欢的游戏 持续更新
  3. ArcEngine实现MDB转GDB
  4. ArcGis-学习笔记2-地理投影及图层编辑
  5. 去了美国回来才知道美国比中国差多了
  6. WCF接口的COM调用
  7. pythonnumpyrand函数_Numpy之random函数使用学习
  8. 一个C#函数学完C#图形图像编程基础
  9. Qt正确的拼接跨平台文件路径
  10. 中木:网店仓储管理经验谈