当前位置: 首页 > news >正文

Mac 命令行美化

在 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 前后对比:

662394-20190225203756720-1266984165.png

VS Code

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

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

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

VS Code 原生:

662394-20190225203831041-134081130.png

VS Code 使用 zsh:

662394-20190225203911147-1842617800.png

iTerm2

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

安装

brew cask install iterm2 

配置主题

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

662394-20190225203938303-695371300.png

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

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

配置 zsh 的主题

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

修改配置文件 ~/.zshrc 中相关的字段,就可以啦。
使用 Shift + Command + . 显示隐藏文件。

662394-20190225204006951-655254121.png
662394-20190225204025124-1920798298.png

agnoster 主题长这样:

662394-20190225204056086-1122283522.png

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

下载地址:
fonts/Meslo LG M Regular for Powerline.ttf at master · powerline/fonts · GitHub

重启终端,即可看到效果,不过,事情还没有结束,这时的 VS Code 已经不能正常显示了,也需要为其配置字体。
但直接配置 Meslo LG M Regular for Powerline VS Code 是不认的。

662394-20190225204126756-304573769.png

下载另一个字体就 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 的效果如下:

662394-20190225204159163-753180305.png

看起来很酷炫吧,然鹅,个人并是不特别喜欢这个主题(agnoster),命令行的前缀太长。
不过,确实挺好看。
另一个主题是 ys ,虽然前缀也很长,但自动另起了一行,看起来也跟简洁。
avit 主题也可以试试。

662394-20190225204227140-2070758028.png

更多主题,可以看这里:
Themes · robbyrussell/oh-my-zsh Wiki · GitHub


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

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

参考资料:

  • 终极 Shell——ZSH
  • oh-my-zsh配置你的zsh提高shell逼格终极选择 一介布衣
  • 查看当前终端运行的是哪种shell | 写点什么
  • Mac OS 终端利器 iTerm2 - 田园里的蟋蟀 - 博客园

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


END

转载于:https://www.cnblogs.com/jasongrass/p/10433265.html

相关文章:

  • 写给自己看的发布react静态资源的方法
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • spring + angular 实现导出excel
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • Git for Windows 2.21.0 发布,Win 下的 Git 客户端
  • 聊聊flink的BlobWriter
  • PDF旋转使用的转换器有哪些
  • luoguP4647 [IOI2007] sails 船帆
  • 乐视云计算被列入失信名单;三星华为达成和解;Python3 采用率超 84%丨Q新闻
  • django -- 修改admin 密码问题
  • Java 最常见的 200+ 面试题:面试必备
  • lvm管理卷之缩减卷大小
  • 使用WebShellKiller检查服务器后门文件
  • quasar-framework cnodejs社区
  • 前端面试必懂的 - http 网络知识
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • docker python 配置
  • input实现文字超出省略号功能
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Promise面试题2实现异步串行执行
  • python学习笔记-类对象的信息
  • Theano - 导数
  • windows下使用nginx调试简介
  • 测试开发系类之接口自动化测试
  • 前嗅ForeSpider教程:创建模板
  • 使用 Docker 部署 Spring Boot项目
  • 试着探索高并发下的系统架构面貌
  • 学习Vue.js的五个小例子
  • 再谈express与koa的对比
  • 主流的CSS水平和垂直居中技术大全
  • 06-01 点餐小程序前台界面搭建
  • Semaphore
  • ​低代码平台的核心价值与优势
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (day6) 319. 灯泡开关
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Matlab)使用竞争神经网络实现数据聚类
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .NET Core WebAPI中封装Swagger配置
  • .NET Micro Framework初体验
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • @vue/cli脚手架
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [AX]AX2012 R2 出差申请和支出报告
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [C#7] 1.Tuples(元组)
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape