首先是 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. 二十三、死锁的处理策略---避免死锁(银行家算法)
  2. PYTHON 数据分析常用类库
  3. spring-Bean依赖注入-》普通数据类型
  4. js match函数注意
  5. VMware中linux硬盘空间不足的解决方法
  6. 三菱5uplc伺服电机指令_长沙汇川伺服电机型号-川其实业
  7. Re-ranking Person Re-identification with k-reciprocal Encoding笔记
  8. 微信开发者工具通过二维码编译步骤
  9. 我母亲在一家计算机公司工作,我的母亲作文
  10. Maven:解决IDEA无法下载源码
  11. 【iOS】AFNetworking
  12. Ant Design中Form组件重置验证条件resetFields()方法
  13. PHPWord Beta 0.6.2 开发者指南
  14. 动态规划 leetcode-714 最佳买卖股票时机含手续费
  15. ebpf 研究之 XDP 技术
  16. elastic job (一) elastic-job-lite----SimpleJob
  17. tkinter-Text详解
  18. linux文件的文件类型(d,-,s,b,c,....)和文件权限(r,w,x, s,t,S,T)与文件特殊权限(s,t,S,T)
  19. Perforce介绍
  20. Python3 多线程为什么有的线程不会运行。

热门文章

  1. 软件工程师是做什么的呢
  2. FoveaBox:Beyond Anchor-based Object Detector
  3. Umdhtools.exe: 如何使用 umdh.exe 来查找内存泄漏
  4. 如果让我再读一次研究生
  5. CSS 3学习笔记之理顺哪个样式应用于哪个类?
  6. 哪个内网穿透比较好?
  7. PHP session锁:如何避免session阻塞PHP请求
  8. 百度地图 点maker在区域判断(圆Circle,多边形polygon,矩形rectangle,线line上)
  9. RealServer快速安装教程
  10. 计算机专业考研100+不是梦!