当前位置: 首页 > 编程日记 > 正文

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

33370d0a020587dcc0b6e146d4144c93.png

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


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

整个配置流程

1、安装iterm2

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

2、配置iterm2

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

3、iterm2配色方案

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

597a022eaf5ad961ce6e5ec8ed0a1b78.png
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"就可以了,效果如下:c964651154a4a7b29e5e8c60091fa39c.png到这一步貌似我们终端命令行已经很好看了,但是还没有之前说的自动提示命令、语法高亮的功能,接下来我们通过安装插件来获取

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%
15a8928b28f42929d168bfaa10b1482a.png
每一个“在看”,我都当成真的喜欢f02b7220f32c8bddaef0f297c829c9c0.gif

相关文章:

main方法为什么是静态的

main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 test tnew test(); 然后才能调用 test.main();…

java类为什么要建两个class_ClassLoader的几个概念、类和对象的解释

首先,转载一篇文章,个人认为是看到过了讲得最清楚的 XD当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:bootstrap classloader|extension classloader|system classloaderbootstrap classloader &#…

第四章 python的turtle库的运用

我们可以尝试用python的自带turtle库绘制一条蟒蛇 首先我们设计一下蟒蛇的基本形状 我们先把这段蟒蛇绘制的实例代码贴出来,各位可以在自己的本地运行一下看看效果,然后我们再继续分析代码: 1 #PythonDraw.py2 import turtle3 turtle.setup(6…

oracle导入索引b报错,impdp导入索引很慢

impdp用NETWORK_LINK从远程库导入到本地库,导入表的速度还正常,导入索引的速度特别慢。2个小时才导1300个索引。使用imp的格式:impdp vebackup/abc DIRECTORYDATABAK_DIR NETWORK_LINKprimarydb_link SCHEMASveasms TABLE_EXISTS_ACTIONREPLA…

新的mysql如何使用_如何使用新的MySQL更新日志

使用新的MySQL更新日志的方法未必人人都会,下面就教您如何使用新的MySQL更新日志的方法,希望对您能够有所帮助。如果你只使用一使用新的MySQL更新日志的方法未必人人都会,下面就教您如何使用新的MySQL更新日志的方法,希望对您能够…

find_in_set

在查询表中数据用 ‘,’隔开的记录时 如图所示 用like 查询auth 字段中含A5是查不出来的 如图所示 用find_in_set 可以查询出 auth字段含 ‘A5’的记录 如图所示 用法介绍: find_in_set 可以查询出字段内容以英文逗号隔开的记录 find_in_set(匹配值,字段名)转载于:h…

一堆棋子java代码编程_网易2018校招内推编程题-堆棋子-C++实现

0 1 3 10解法暴力枚举所有可能的点。如图所示,黑点为输入点。所需遍历的点为红线的交点,红圈表示。当时自己写的是遍历了外围红线所构成的封闭矩形里面所有的点了,只有60%的AC率,原因超时。看了康学长的代码,才知道有些…

linux free命令详解和使用实例(查看内存使用率)

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一1.命令格式: free [参数] 2.命令功能: free 命令显示系统使用和空闲的…

awk linux 获取端口号_Linux提权后获取敏感信息命令

如果不能执行的可能是不同类型的linux。系统版本?cat /etc/issuecat /etc/*-releasecat /etc/lsb-releasecat /etc/redhat-release内核版本?cat /proc/versionuname -auname -mrsrpm -q kerneldmesg | grep Linuxls /boot | grep vmlinuz环境变量?cat /…

lemp-------3多站点访问,,访问控制,,虚拟目录

基于ip vi /etc/nginx/nginx.conf server { listen 192.168.1.142:80; server_name localhost; access_log logs/host.access.log main; location / { root /web2; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location /50x.html { root…

oracle统计id出现次数,oracle 统计sql

oracle 统计月平均交易次数 :select n_tsc_src_usr_id , floor(count(c_tsc_no)/trunc(months_between(max(d_tsc_req_time),min(d_tsc_req_time))))from tbl_tsc_basegroup by n_tsc_src_usr_idhaving months_between(max(d_tsc_req_time),min(d_tsc_req_time)) &g…

java避免使用orderby_java – Spring安全配置@Order不是唯一的例外

我试图在我的Spring Security配置中注册多个过滤器,但是我总是得到相同的异常:04-Nov-2015 14:35:23.792 WARNING [RMI TCP Connection(3)-127.0.0.1]org.springframework.web.context.support.AnnotationConfigWebApplicationContext.refreshException encountered…

es 启动问题

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] vim /etc/security/limits.conf 文件末尾添加: mst hard nofile 65536 mst soft nofile 65536 mst是es启动用户 max virtual memory areas vm.max_map_count [65…

imrot matlab,Matlabtuxiangpipei

文件名大小更新时间Matlab图像匹配的都可以用的到做三维重建\matlabcode\examples-code\11.jpg.......................................\..........\.............\addons\rectifData.mat.......................................\..........\.............\......\shelves.jp…

mysql 5.7 full_MySQL5.7默认打开ONLY_FULL_GROUP_BY 解决方案

MySQL5.7后将sql_mode的ONLY_FULL_GROUP_BY模式默认设置为打开状态,这样一来,很多之前的sql语句可能会出现错误,错误信息如下:Error Code: 1055. Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggreg…

通过web sql实现增删查改

<!DOCTYPE html><html><head lang"en"> <meta charset"UTF-8"> <title></title></head><body><h3>***添加学生***</h3>学号&#xff1a;<input type"text" id"id&qu…

java发送苹果消息慢_Spring-boot JMS 发送消息慢的解决方法

Spring-boot JMS 发送消息慢的问题解决Servicepublic class Producer {Autowiredprivate JmsMessagingTemplate jmsTemplate;public void sendMessage(Destination destination, final String message){jmsTemplate.convertAndSend(destination, message);}}经使用JMeter进行压…

快速幂 + 矩阵快速幂

快速幂 1 #include<iostream>2 #include<algorithm>3 #include<cstring>4 #define LL long long5 using namespace std;6 7 LL Pow(LL a, LL b)8 {9 LL ans 1; 10 while(b ! 0){ 11 if(b&1) 12 ans * a; 13 a …

【Ctsc2011】幸福路径

题目链接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id2306 给定一张有向图&#xff0c;每个点有权值&#xff0c;蚂蚁从某个节点出发&#xff0c;初始体力值为$1$&#xff0c;每走一条边$体力值*p$&#xff0c;每经过一个点会获得幸福值为$点权*体力值$&…

mysql 去重con_python 爬虫 实现增量去重和定时爬取实例

前言&#xff1a; 在爬虫过程中&#xff0c;我们可能需要重复的爬取同一个网站&#xff0c;为了避免重复的数据存入我们的数据库中 通过实现增量去重 去解决这一问题 本文还针对了那些需要实时更新的网站 增加了一个定时爬取的功能&#xff1b;本文作者同开源中国(殊途同归_)&a…

oracle数据导出方法,oracle多种导入导出数据方法

dmp格式:1.dmp格式的导出可以通过客户端工具(PL/SQL)操作来完成,通过菜单栏---->Tools---->Export Tables&#xff0c;然后设置勾选相应参数即可,rows代表是否连同数据一起导出2.导出还可以用cmd工具,速度也更快:exp [email protected] filed:\***.dmp fullyfully表示全导…

java 枚举转byte_如何在java中将一个枚举转换为另一个枚举?

一种方法是在您的详细枚举中定义一个方法asSimple()&#xff1a;public enum Detailed {PASSED {OverrideSimple asSimple() {return PASSED;}},INPROCESS {OverrideSimple asSimple() {return RUNNING;}},ERROR1,ERROR2,ERROR3;public Simple asSimple() {return Simple.ERROR…

BZOJ4566: [Haoi2016]找相同字符

BZOJ4566: [Haoi2016]找相同字符 Description 给定两个字符串&#xff0c;求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。Input 两行&#xff0c;两个字符串s1&#xff0c;s2&#xff0c;长度分别为n1&#x…

mysql索引空间太大_MySQL优化索引

1. MySQL如何使用索引索引用于快速查找具有特定列值的行。如果没有索引&#xff0c;MySQL必须从第一行开始&#xff0c;然后遍历整个表以找到相关的行。表越大&#xff0c;花费越多。如果表中有相关列的索引&#xff0c;MySQL可以快速确定要在数据文件中间查找的位置&#xff…

Mac-sublime text 3破解版

在史蒂芬周下载破解版安装package controlimport urllib.request,os,hashlib; h df21e130d211cfc94d9b0905775a7c0f 1e3d39e33b79698005270310898eea76; pf Package Control.sublime-package; ipp sublime.installed_packages_path(); urllib.request.install_opener( urll…

oracle library cache lock,【案例】Oracle等待事件library cache lock产生原因和解决办法...

【案例】Oracle等待事件library cache lock产生原因和解决办法时间:2016-12-07 18:56 来源:Oracle研究中心 作者:网络 点击:次天萃荷净Oracle研究中心案例分析&#xff1a;运维DBA发现Oracle数据库出现library cache lock等待事件导致cpu使用非常高&#xff0c;结合案例来…

python uiautomation选择list内容_使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,...

首先安装pip install uiautomation, 再运行本文代码。或者下载https://github.com/yinkaisheng/Python-UIAutomation-for-Windows代码(包含了uiautomation module)&#xff0c;直接运行demos目录里的脚本get_qq_group_members.pyuiautomation.py是我写的一个python封装微软UIAu…

【BZOJ】2734: [HNOI2012]集合选数

题目链接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id2734 考虑$N4$的情况&#xff1a; \begin{bmatrix} 1&3 &X \\ 2&X &X \\ 4&X &X \end{bmatrix} 其实就是吧最小值丢在了矩阵中${(0,0)}$的位置上&#xff0c;对于矩阵中的任意…

Linux命令:tar命令批量解压方法总结

tar命令批量解压方法总结 (2010-05-24 17:48:46) 转载▼标签&#xff1a; tar 批量解压 杂谈 分类&#xff1a; linux学习 由于linux的tar命令不支持批量解压&#xff0c;所以很多网友编写了好多支持批量解压的shell命令&#xff0c;收集了一下&#xff0c;供大家分享&#xff…

php column not found,java.sql.SQLException: Column 'cloumn name' not found.

Hi,My system configuration:Mandrake 9.0 Tomcat 4.1.24 MySQL 4.0.12. Apache[問題]我有一隻Servlet app. 如果 Tomcat MySQL APache IBM JDK 1.3 or SUN JDK 1.4.1_02在一開機時就起動. 我在http://localhost:8080/servlet/myApp 是可以看到Servlet run 起來. 可是如…