作者:AndrewHR 地址:http://mrw.so/4D1n7B


最终的效果图如下所示:使用iterm2配合oh-my-zsh的命令行,拥有语法高亮、命令自动补全、自动提示符、显示git仓库状态等功能

整个配置流程

1、安装iterm2

首先我们下载的 iterm2 这个软件,比Mac自带的终端软件更加强大。直接官网 http://iterm2.com/ 下载,然后把它拖到应用软件里面就行。

2、配置iterm2

将iterm2设置成默认使用的终端软件:打开iterm2,在左上角的菜单栏依次点击:iTerm2->Make ITerm2 Default Term打开iterm2的偏好设置,勾选Hotkey下的Show/hide iTerm2 with a system-wide hotkey,将热键设置为你喜欢的(比如command + .) ,这样你就可以通过设置的全局热键来打开或关闭iTerm2窗口,非常方便。

3、iterm2配色方案

我选用的是 solarized,效果还不错。直接点击嵌入的超链接跳转到官网,下载,然后打开 iTerm2 下的偏好设置 preference ,点开 profiles 下的colors 选项,点击右下角的 Color Presets 选项,选择import ,导入解压的 solarized 文件下有个带iterm2的文件夹下的Solarized Dark.itermcolors,然后就如下图选项中会出现solarized配色方案。


4、安装oh-my-zsh

github连接:https://github.com/robbyrussell/oh-my-zsh使用crul安装:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

或者使用wget安装:

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
5、配置oh-my-zsh的主题

安装成功后,在命令行用vim打开用户根目录下.zshrc,修改主题为你喜欢的,我修改为agnoster:

ZSH_THEME="agnoster"

要成功使用该主题还需要特定的字体支持,否则命令行有乱码,这时我们来配置字体:

  • 使用 Meslo 字体,点开连接点击 view raw 下载字体。
  • 安装字体到系统字体册,直接点击下载的字体,安装就好
  • 应用字体到iterm2,iTerm -> Preferences -> Profiles -> Text -> Change Font
  • 重新打开iterm2就可以看到效果了

我自己用的ys主题,所以如果你也想用我这个主题是可以不用下载特殊字体的,直接改ZSH_THEME="ys"就可以了,效果如下:到这一步貌似我们终端命令行已经很好看了,但是还没有之前说的自动提示命令、语法高亮的功能,接下来我们通过安装插件来获取

6、添加oh-my-zsh的自动命令提示功能

如上图,我只输入了gi的时候,终端会自动出现接下来你可能会输入的命令的提示,如果是你需要的,按下 →键就可以补全命令了。

设置如下:

克隆仓库到本地 ~/.oh-my-zsh/custom/plugins 路径下

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

用 vim 打开 .zshrc 文件,找到插件设置命令,默认是 plugins=(git) ,我们把它修改为

plugins=(zsh-autosuggestions git)

重启iterm2:

  • 如果这个时候你看不到效果,可能是字体颜色太淡了,可以调亮:
  • cd ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
  • vim zsh-autosuggestions.zsh
  • 修改 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=‘fg=10’(也可以把10改成自己需要的值)
7、添加语法高亮

1、使用homebrew安装 zsh-syntax-highlighting 插件:

brew install zsh-syntax-highlighting

2、配置.zshrc文件

vim ~/.zshrc

3、在最后插入下面这一行代码:

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

4、输入命令重新加载配置文件:

source ~/.zshrc

如果你没有homebrew包管理工具,自行百度安装

注意

这是时候许多人都以为大功告成,但是你会发现之前你配置了环境变量的东西都不起作用了,比如:python,java_home等 这是因为之前配置的环境变量,都是存放在~/.bash_profile文件内,但是他只对之前的bash起作用,而我们现在换成了zsh shell

解决办法

非常简单,只要把~/.bash_profile里面我们配置的环境变量全部copy到~/.zshrc文件的最后面就好

---END---

推荐阅读:
自定义View - 仿华为LoadingView
你好, View Binding! 再次再见, findViewById!
Android Studio 3.6 稳定版发布啦,快来围观!
实现一个可定制化的FlowLayout
重磅!开工首日,新潮传媒宣布裁员500人,所有高管降薪20%

每一个“在看”,我都当成真的喜欢

iterm2自动补全_【超级实用】Iterm2 + ohmyzsh 打造强大的终端编辑器相关推荐

  1. iterm2 主题_【超级实用】Iterm2 + ohmyzsh 打造强大的终端编辑器

    作者:AndrewHR 地址:http://mrw.so/4D1n7B 最终的效果图如下所示:使用iterm2配合oh-my-zsh的命令行,拥有语法高亮.命令自动补全.自动提示符.显示git仓库状态 ...

  2. dev c++代码自动补全_让代码自动补全的全套流程

    作者: 熊唯,黄飞 ,腾讯 PCG/QQ研发中心/CV应用研究组 AI 如果真的可以写代码了,程序员将何去何从?近几年,NLP 领域的生成式任务有明显的提升,那通过 AI 我们可以让代码自动完成后续补 ...

  3. jupyter 代码自动补全_在 Pycharm 中安装及使用 Jupyter (图文详解)

    Pycharm 更新了对 Jupyter  的功能支持,结合 IntelliJ 的自动补全代码,自动格式化代码,执行调试,版本控制,以及大量的插件支持. 让你在高颜值环境下,高效编写代码,效果如下: ...

  4. python3 idle自动补全_给Python IDLE加上自动补全和历史功能

    许多时候,我们使用Python,并不用写一个程序,一些不复杂的任务,我更喜欢在 IDLE(也就是交互式提示模式)下输入几行代码完成.然而,在这个模式下编辑代码,也有不够便利的地方,最主要的就是,不能用 ...

  5. lucene自动补全_使用自动机的Lucene新的邻近查询

    lucene自动补全 最简单的Apache Lucene查询TermQuery匹配包含指定术语的任何文档,无论该术语出现在每个文档中的何处 . 使用BooleanQuery可以将多个TermQuery ...

  6. python tab键自动补全_设置python中TAB键自动补全方法

    设置python中TAB键自动补全方法 一.创建自动补全脚本如下: vi /tmp/python/tab.py #!/usr/bin/python # python tab file import s ...

  7. vscode python 自动补全_利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串...

    机器之心报道 编辑:魔王 该扩展利用可处理编程语言和自然语言的预训练模型 CodeBERT,实现快速生成 Python 文档字符串的功能. Visual Studio Code(简称 VS Code) ...

  8. c语言 vscode代码自动补全_借助C/C++ Extension实现VSCode C++代码补全

    在VSCode C/C++ IntelliSense领域,目前有两位实力相当的选手,它们分别是基于微软闭源技术的C/C++ Extension和开源方案clangd.根据我目前体验,它俩的特性可以总结 ...

  9. java swing 自动补全_扩展easyui的combobox组件的自动完成(autocomplete)

    update:现有有easyui插件直接提供了该功能. 可以请参考:http://www.easyui-extlib.com/ 里面combobox的根据拼音自动显示.里面各种插件造福大家. ---- ...

最新文章

  1. Netty4服务端和客户端实现
  2. oracle之创建和管理表之练习题
  3. 用线性插值算法实现图像缩放
  4. java控制台高级_K9s Kubernetes的高级控制台
  5. 【Vue】—数组对象变更检测
  6. webpack——一站到底一
  7. EasyPR源码剖析(4):车牌定位之Sobel算子定位
  8. 重装 Windows 7 系统后电脑出现乱码怎么办
  9. ES6 class关键字 ~ 非常详细
  10. oracle叶子节点函数,oracle tree计算叶子节点到根节点的乘积
  11. ArcMap图例横放教程
  12. Python实现:超分子化学的建模------如何操控客体分子穿过主体分子和计算该过程能量变化(高斯(Gauss)输入文件为例,一键批量处理)
  13. BP神经网络算法原理
  14. 七升七降调号_巧识五线谱08:如何记住七个“降号调”的调号与调的对应关系?...
  15. 杭州学车 富阳场口考场考试 经验分享
  16. Google IO 2022——CSS 状态
  17. 计算机专门存储数据的单元,认识算法的数据存储单元——变量
  18. 抠图应用程序设计(二)——磁性套索工具Livewire算法的实现
  19. python控制鼠标移动
  20. android img 解包打包工具,Android系统system.img解包和重新打包

热门文章

  1. boot spring 解析csv_spring-boot-starter-thymeleaf 避坑指南
  2. Flume案例Ganglia监控
  3. 基于Matlab的跨孔电磁波\跨孔雷达的直射线追踪(一)
  4. 练习一下爬虫,使用Selenium包
  5. 如何读取tensorboard文件 展现可视化
  6. python生成词云图个人技术报告_【Python成长之路】词云图制作
  7. kettle 调用存储过程_Mysql存储过程
  8. Scala开发教程(16): 没有“break”和“continue”的日子
  9. day26 java的集合(4)泛型 foreach Set和Map
  10. 利用CSS使元素在水平方向或水平,竖直同时居中