Macbook 终端 git 命令补全和提示

Mac OS自带的终端,用起来虽然有些不太方便,界面也不够友好,关键是在windows上用习惯了自动补全功能,在Mac上一个个的拼写单词是真的难受,逼着我记英文单词。
经过一天的磨合,我实在忍不了,在网上查到了iTerm2这个款终端工具,这是一款相对比较好用的终端工具。
iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等。这里主要介绍我使用的自动补全建议、声明高亮,另外几个功能,如果有需求,可以在 参考资料 中找到。

iTerm2 下载与安装

iTerm2下载地址:https://www.iterm2.com/downloads.html

注意:下载的是压缩文件,解压后直接双击执行程序文件,或者直接将它拖到 Applications 目录下。

也可以直接使用Homebrew进行安装:

brew cask install iterm2

iTerm2主题配置,请参考 Mac下iTerm2的安装与配置
Homebrew 安装方法请参考 macbook 安装 Git 和 安装 Homebrew

查看 Mac 系统是否使用 zsh

Mac系统默认使用bash作为终端,但是新的Mac系统已经默认使用zsh,查看方式:

cat /etc/shells

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

bash与zsh切换命令:

chsh -s /bin/zsh
chsh -s /bin/bash

bash与zsh配置文件:

  1. bash的配置文件:~/.bash_profile
  2. zsh的配置文件:~/.zshrc

安装配置 zsh

Zsh 和 bash 一样,是一种 Unix shell,但大多数 Linux 发行版都默认使用 bash shell。但 Zsh有强大的自动补全参数和自定义配置功能等等,Github地址:https://github.com/robbyrussell/oh-my-zsh

  • 安装命令:

sh -c “$(curl -fsSL https: //raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”

  • 使用 Homebrew 进行安装
    Mac 系统自带了zsh, 一般不是最新版,如果需要最新版可通过Homebrew来安装。

brew install zsh

可通过查看zsh的版本。

zsh --version

安装完成以后,将zsh设置为默认的Shell

chsh -s /bin/zsh

安装 oh-my-zsh

oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题:https://github.com/robbyrussell/oh-my-zsh

在终端输入命令:

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

Cloning into '/root/.oh-my-zsh'...
remote: Counting objects: 712, done.
remote: Compressing objects: 100% (584/584), done.
remote: Total 712 (delta 15), reused 522 (delta 4), pack-reused 0
Receiving objects: 100% (712/712), 443.58 KiB | 27.00 KiB/s, done.
Resolving deltas: 100% (15/15), done.
Checking connectivity... done.
Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to ~/.zshrc
Copying your current PATH and adding it to the end of ~/.zshrc for you.
Time to change your default shell to zsh!__                                     ______  / /_     ____ ___  __  __   ____  _____/ /_
/ __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_//____/                       ....is now installed!Please look over the ~/.zshrc file to select plugins, themes, and options.
p.s. Follow us at https://twitter.com/ohmyzsh.
p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.

安装完成以后,默认Shell的 ~/.bashrc 文件默认不再加载了,替代的是 ~/.zlogin~/.zshrc 。所以如果你在 ~/.bashrc 里配置了某些设置,需要把她们复制到 ~/.zshrc 中。

oh my zsh 其他安装方式参考 Mac下iTerm2的安装与配置

oh my zsh 目录结构
进入~/.oh-my-zsh目录后,看看该目录的结构

ls ~/.oh-my-zsh

CODE_OF_CONDUCT.md SECURITY.md        log                themes
CONTRIBUTING.md    cache              oh-my-zsh.sh       tools
LICENSE.txt        custom             plugins
README.md          lib                templates

lib 提供了核心功能的脚本库
tools 提供安装、升级等功能的快捷工具
plugins 自带插件的存在放位置
templates 自带模板的存在放位置
themes 自带主题文件的存在放位置
custom 个性化配置目录,自安装的插件和主题可放这里

安装自动补全插件

在终端输入命令:

cd ~/.oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-autosuggestions.git

安装命令高亮插件

在终端输入命令:

cd ~/.oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

配置 .zshrc 文件

在终端输入命令:

vim ~/.zshrc

打开.zshrc 文件,进入vim 编辑器模式 (按i进入编辑模式)

~/.zshrc 中添加以下内容(我添加在文件末尾):

source ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

~/.zshrc 中修改 plugins=(git) 为:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)source $ZSH/oh-my-zsh.sh

保存修改
按 esc 键 =>输入:wq!=>按 enter 键 退出编辑

让配置生效

在终端执行命令

source ~/.zshrc

vim 编辑器基本语法,请参考 macbook 安装 Git 和 安装 Homebrew


参考:
Mac下iTerm2的安装与配置
mac git命令按Tab不能自动补全解决方法
如何配置MAC的终端自动补全命令行,并忽略大小写
MacOS 安装配置 zsh
Mac 终端配置 oh-my-zsh 和自动补全以及命令高亮
Mac 常用的 20 款效率神器推荐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/42499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复习vue3,简简单单记录

这里的知识是结合视频以及其他文章一起学习,仅用于个人复习记录 ref 和reactive ref 用于基本类型 reactive 用于引用类型 如果使用ref 传递对象,修改值时候需要写为obj.value.attr 方式修改属性值 如果使用reactive 处理对象,直接obj.att…

Lua学习记录

Lua基础了解 Lua的注释通过 (-- 单行注释,--[[ ]] 多行注释)可以不加; 多个变量赋值,按顺序赋值,没有则为nil; function的简单用法,多个返回值配合多重赋值,以end为结束标志 Lua下标从1开始&…

JSP-学习笔记

文章目录 1.JSP介绍2 JSP快速入门3 JSP 脚本3.1 JSP脚本案例3.2 JSP缺点 4 EL表达式4.1 快速入门案例 5. JSTL标签6. MVC模式和三层架构6.1 MVC6.2 三层架构 7. 案例-基于MVC和三层架构实现商品表的增删改查 1.JSP介绍 概念 JSP(JavaServer Pages)是一种…

Azure存储账户

存储账户的概念 Azure存储账户是Azure提供的一种云存储解决方案,用于存储和访问各种类型的数据,包括文件、磁盘、队列、表格和Blob(二进制大对象)数据。存储账户可以基于访问模式和冗余需求来选择不同的类型,以满足应…

【MySQL--->表的操作】

文章目录 [TOC](文章目录) 一、创建表二、查看表三、修改表四、删除表drop table 表名; ![在这里插入图片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、创建表 语句格式:create table 表名(列名 类型,…)字符集 校验规则 存储引擎;字符集和校…

我还不知道?Android组件化插件化模块化

Android组件化、插件化和模块化是针对Android应用程序开发的一种架构设计思想和开发方式。 组件化(Componentization): 组件化是将一个大型的Android应用程序拆分成多个独立的组件(Module),每个组件可以独…

python使用装饰器记录方法耗时

思路 python使用修饰器记录方法耗时,目的是每当方法执行完后,可以记录该方法耗时,而不需要在每个方法的执行前后,去创建一个临时变量,来记录耗时。 方式一(不推荐): 在每个方法的…

source insight 添加宏-文件头加注释

source insight 3.5 自带的一些宏,在安装目录下的 utils.em 文件中,用户也可以自己写文件,命令为xxx.em ,然后把这个文件添加到项目中即可,添加后在菜单栏 Options -> Key Assignments 里输入macro 就能显示新添加的…

第一个ArkTS项目实践-鸿蒙ArkTS

第一个ArkTS项目实践-ArkTS 第一个ArkTS项目实践-ArkTS自定义组件的组成配置属性与布局配置属性布局 改变组件状态循环渲染列表数据代码ToDoItem组件ToDoList页面 效果参考资料 第一个ArkTS项目实践-ArkTS 本篇文章是官网上视频对ArkTS开发实践的第一个视频,主要是引…

Matplotlib数据可视化(三)

目录 1.绘图的填充 1.1 曲线下方区域的填充 1.2 填充部分区域 1.3 两条曲线之间的区域填充 1.4 直接使用fill进行填充 1.绘图的填充 绘图的填充可以调用fill_between()或fill()进行填充。 1.1 曲线下方区域的填充 x np.linspace(0,1,500) y np.sin(3*np.pi*x)*np.exp…

【C语言】每日一题(找到所有数组中消失的数字)

找到所有数组中消失的数字,链接奉上。 这里简单说一下,因为还没有接触到动态内存,数据结构,所以知识有限,也是尽力而为,结合题库的评论区找到了适合我的解法,以后有机会,会补上各种…

如何在HTML中使用React

突发奇想 查了查真的可以,官方文档: 在网站中添加 React – React 开始 引入js <!-- 开发环境使用 --><script src"https://unpkg.com/react18/umd/react.development.js"></script><script src"https://unpkg.com/react-dom18/umd/reac…

穿越数字奇境:探寻元宇宙中的科技奇迹

随着科技的迅速发展&#xff0c;元宇宙正逐渐成为一个备受关注的话题&#xff0c;它不仅是虚拟现实的延伸&#xff0c;更是将现实世界与数字世界融合的未来典范。在这个神秘而充满活力的数字奇境中&#xff0c;涉及了众多领域和技术&#xff0c;为我们呈现出了一个无限的创新和…

创建Azure资源锁

锁的介绍 在Azure中&#xff0c;资源锁是一种用于保护订阅、资源组或者单个资源的机制。它可以防止对受锁定的资源进行删除或修改操作&#xff0c;帮助确保资源的连续可用性和安全性。 Azure中的资源锁可以分为两种类型&#xff1a; 删除锁&#xff08;CanNotDelete&#xf…

elementUI遇到的问题记录

一、 组件&#xff1a;el-table 问题&#xff1a;使用动态数据创建多级表头后&#xff0c;刷新页面时&#xff0c;table行会串行&#xff0c;某些列丢失&#xff0c;图片列未显示图片 解决方案&#xff1a;给el-table增加key <el-table :key"${Matn.random()}${ite…

javaScript:模板字符串让你忘记字符串拼接

目录 一.前言 二.模板字符串的使用 1.介绍 2.模板字符串 支持换行 模板字符串更适合元素写入 innerHTML模板字符串写法 3.模板字符串中&#xff0c;可以运行表达式 4.模板字符串中可以运行函数 三.总结 语法&#xff1a; 多行字符串&#xff1a; 变量插值&#xff1a; …

μCOS-Ⅲ_简介

μCOS-Ⅲ简介 文章目录 μCOS-Ⅲ简介前言一、什么是 C/OS-III&#xff1f;二、C/OS-III的特点三、C/OS-III的版本和参考资料1、C/OS-III版本2、C/OS-III源码获取3、C/OS-III参考资料 四、C/OS-III源码简介总结 前言 μcos-III是一个可以基于ROM运行的、可裁剪的、抢占式、实时…

uniapp Vue 使用 sip.js进行语音通话视频通话

下载或者安装 sip.js 到 uniapp 项目&#xff0c;APP 端在 menifest.json 中配置麦克风权限 menifest.json 中 app 权限配置选中&#xff1a; android.permission.RECORD_AUDIO android.permission.MODIFY_AUDIO_SETTINGS sip.js 低版本 如 V0.13.0 版本的写法 <template&…

latex 笔记:cs论文需要的排版格式

主要针对英文文献 1 基本环境 连字符 不同长度的"-"表示不同含义。 一个"-"长度的连字符用于词中两个"-"长度的连字符常用于制定范围三个"-"长度的连字符是破折号数学中的负数要用数学环境下的-得到 强调 在正式文章中, 通常不…

神经网络基础-神经网络补充概念-48-rmsprop

概念## 标题 RMSProp&#xff08;Root Mean Square Propagation&#xff09;是一种优化算法&#xff0c;用于在训练神经网络等机器学习模型时自适应地调整学习率&#xff0c;以加速收敛并提高性能。RMSProp可以有效地处理不同特征尺度和梯度变化&#xff0c;对于处理稀疏数据和…