在 mac 中使用原生的命令行工具,竟然没有 git 命令的自动补全,在 git 仓库下也看不到当前的分支名,不能忍。于是,开始一波改造。

目标:命名 Tab 自动补全;可以显示分支名;

一番 Google 之后,看到这两个关键词:

  • zsh (oh my zsh)
  • iTerm2

oh my zsh

mac 自带 zsh shell , oh my zsh 是让 zsh 更好用的一个增强工具。

使用 wget 自动安装 oh-my-zsh :

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

wget 是一个从网络上自动下载文件的自由工具,如果没有,则先安装之:brew install wget

mac 原生默认使用 bash shell,需要切换为 zsh。

切换命令:

chsh -s /bin/zsh

重新启动终端程序,就可以从终端的标题栏发现当前使用的是 zsh shell 了。

使用 echo $0 命令也可以查看当前使用的 shell 。

使用 oh my zsh 前后对比:

VS Code

在 VS Code 中,在用户配置中,将终端改为 zsh 即可(默认为 bash)。

"terminal.integrated.shell.osx": "/bin/zsh",

至此,已经完成了最初的目标。

VS Code 原生:

VS Code 使用 zsh:

iTerm2

oh my zsh 是用来替换 bash 的,但终端程序还是原来那个,如果想要进一步改造终端,则可以使用 iTerm2 。

安装

brew cask install iterm2

配置主题

打开 iterm2 之后,在软件的偏好设置(Command + ,)中可以设置(有 UI 界面就是好用。)

自带 Solarized Dark theme 主题,无需重新下载

这个主题是指终端窗口的主题,包括背景颜色(也可以用背景图片)等;

配置 zsh 的主题

zsh 的主题针对于命令行文本相关的样式。

修改配置文件 ~/.zshrc 中相关的字段,就可以啦。

使用 Shift + Command + . 显示隐藏文件。



agnoster 主题长这样:

当然,使用这个主题,需要安装相应的字体(Meslo),不然会有乱码。

下载地址:

fonts/Meslo LG M Regular for Powerline.ttf at master · powerline/fonts · GitHub

重启终端,即可看到效果,不过,事情还没有结束,这时的 VS Code 已经不能正常显示了,也需要为其配置字体。

但直接配置 Meslo LG M Regular for Powerline VS Code 是不认的。

下载另一个字体就 OK 啦: Source Code Pro for Powerline

fonts/Source Code Pro for Powerline.otf at master · powerline/fonts · GitHub

然后增加一条 VS Code 的配置:

"terminal.integrated.fontFamily": "Source Code Pro for Powerline"

最终,VS Code 的效果如下:

看起来很酷炫吧,然鹅,个人并是不特别喜欢这个主题(agnoster),命令行的前缀太长。

不过,确实挺好看。

另一个主题是 ys ,虽然前缀也很长,但自动另起了一行,看起来也跟简洁。

avit 主题也可以试试。

更多主题,可以看这里:

Themes · robbyrussell/oh-my-zsh Wiki · GitHub


找资料的时候发现有些安装字体的做法是把整个 git 仓库 clone 下来,使用命令安装字体的,这,没必要吧。

如果还缺了什么,下方的参考资料中可能有:

参考资料:

PS:

最后发现,或许一开始 git 就是用自动补全功能的,只是没在意,现在已经没法验证 git 的自动补全是因为安装了 oh my zsh ,还是一开始就有的了。至少现在可以看到分支名了,而之前是没有的。


原文: https://www.cnblogs.com/jasongrass/p/10433265.html

END

Mac 命令行美化的更多相关文章

  1. mac命令行配置网络

    mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...

  2. mac命令行对复杂ipa包重新签名

    最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...

  3. Appium Mac 命令行安装

    试过很多方法都失败,打算用命令行方式安装. 准备工作: 从 https://github.com/appium/appium下载appium版本的源码(.tar) 详见github_Appium1.6 ...

  4. Mac命令行

    参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...

  5. mac 命令行安装软件

    第一步需要在mac上安装brew工具 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...

  6. mac 命令行上传文件,mac tar.gz命令压缩

    在mac上可以直接打开命令行给服务器上传文件,注意是本地的命令行,不是服务器的命令行,我就走了绕路 命令可以看这里https://www.cnblogs.com/hitwtx/archive/2011 ...

  7. 【Mac命令行学习】(持续更新)

    常用命令: 一.修改环境变量文件: 1.进入文件:vi .bash_profile 2.键盘点击[a]键,进入文件编辑 3.修改完成后,如果是vi,点击[esc]键退出编辑模式 4.输入以下命令进行具 ...

  8. mac启动springboot失败,8080端口被占用,mac命令行关闭端口

    如下图,idea启动springboot失败,8080端口被占用 Error starting ApplicationContext. To display the conditions report ...

  9. MAC - 命令行中用sublime打开指定文件,使用ln命令建立软链接

    眼下sublime是mac下最好的文本编辑软件.常常要使用它打开一些文件,比如html,js,txt,json等文件,可是sublime2默认不支持在命令行下调用.经过研究发现能够用建立软连接的方式调 ...

随机推荐

  1. 网络流入门--最大流算法Dicnic 算法

    感谢WHD的大力支持 最早知道网络流的内容便是最大流问题,最大流问题很好理解: 解释一定要通俗! 如右图所示,有一个管道系统,节点{1,2,3,4},有向管道{A,B,C,D,E},即有向图一张.  ...

  2. 读书笔记 ~ Nmap渗透测试指南

    记录Nmap选项及脚本使用,仅供参考... 除了端口扫描,好像其它脚本都比较鸡肋,用途感觉应该没有专用的小工具好用,不过还是可以看看,选项和脚本还是相当的丰富的. Nmap 使用帮助 starnigh ...

  3. windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)

    之前在mac上安装调试过phonegap,现在公司用的是windows7,所以不得不再进行一次windows下的配置工作,顺便也写下来了 主要麻烦的地方是要在win7下添加好几个环境变量,这一块地方特 ...

  4. 73.Vivado使用误区与进阶——在Vivado中实现ECO功能

    关于Tcl在Vivado中的应用文章从Tcl的基本语法和在Vivado中的应用展开,继上篇<用Tcl定制Vivado设计实现流程>介绍了如何扩展甚至是定制FPGA设计实现流程后,引出了一个 ...

  5. 69.Spartan-6的SelectIO资源

    2.1.6 SelectIO资源 Spartan-6有丰富的I/O资源,包括SelectIO和RocketIO. Spartan-6每个I/O片(Tile)包含两个IOB.两个ILOGIC2.两个OL ...

  6. 使用linux下的C操作SQLLITE

    from: http://baike.so.com/doc/1529694.html 由于Linux下侧重使用命令,没有win的操作容易上手,所以在测试C操作SQLITE时会比较容易出现错误,给大家做 ...

  7. spring boot注解学习记

    @Component Compent等效于xml文件中的Bean标注,Autowired自动初始化Bean是通过查找Component注解实现的,在增加Component后还是Autowired找不到 ...

  8. 大数据系列之kafka监控kafkaoffsetmonitor安装

    1.下载kafkaoffsetmonitor的jar包,可以到github搜索kafkaoffsetmonitor,第一个就是,里面可以下载编译好了的包. KafkaOffsetMonitor-ass ...

  9. linux命令:crontab命令(转)

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  10. BootStrap的table表格,栅格系统,form表单的样式

    BootStrap BootStrap的简介 1.    什么是Bootstrap 由两个前端设计师开发的一个前端的框架(Html,css,js) 简化了程序员写css的代码 2.    为什么使用B ...