Mac下iTerm2的安装与配置

目录

  • 一、iTerm2简介
  • 二、下载以及安装
  • 三、iTerm2主题配置
  • 四、配置Oh My Zsh
    • 1、安装方式
      • (1)一键安装
      • (2)手动安装
    • 3、切换zsh
    • 4、修改主题
  • 五、配置Meslo字体
  • 六、声明高亮
  • 七、自动建议填充
  • 八、iTerm2快速隐藏和显示
  • 九、iTerm2隐藏用户名和主机
  • 十、iTerm2快捷键
  • 十一、卸载oh-my-zsh
  • 十二、问题
    • 1、问题一:iTerm2打开报错
    • 2、问题二:terminal终端乱码

一、iTerm2简介

Mac OS自带的终端,用起来虽然有些不太方便,界面也不够友好,iTerm2是一款相对比较好用的终端工具。iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等。

效果图如下:
在这里插入图片描述


二、下载以及安装

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配置文件:

  • bash的配置文件~/.bash_profile
  • zsh的配置文件~/.zshrc



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

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


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

brew cask install iterm2



三、iTerm2主题配置

iTerm2 最常用的主题是 Solarized Dark theme。

下载地址:http://ethanschoonover.com/solarized

github地址:https://github.com/altercation/solarized

下载的是压缩文件,解压,然后打开iTerm2,按Command + , 键,打开 Preferences 配置界面,然后 ProfilesColorsColor Presets ,在下拉列表中选择 Import,选择刚才解压的 solarizediterm2-colors-solarizedSolarized Dark.itermcolors文件,导入成功后,在 Color Presets下选择 Solarized Dark 主题,就可以了。
在这里插入图片描述
在这里插入图片描述
效果如下:
在这里插入图片描述


四、配置Oh My Zsh

Oh My Zsh 是对主题的进一步扩展。

下载地址:https://github.com/robbyrussell/oh-my-zsh


1、安装方式

(1)一键安装

via curl安装方式

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

via wget安装方式

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

(2)手动安装

github下载地址:https://github.com/ohmyzsh/ohmyzsh

## 找到仓库, 然后clone到本地
git clone https://github.com/ohmyzsh/ohmyzsh.git
## 把仓库复制到 .oh-my-zsh目录
cp -r ohmyzsh ~/.oh-my-zsh
## 复制.zshrc
cp ohmyzsh/templates/zshrc.zsh-template ~/.zshrc
## shell换成zsh
chsh -s /bin/zsh

3、切换zsh

安装好之后,需要把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh

chsh -s /bin/zsh

4、修改主题

将主题修改为 ZSH_THEME="agnoster"

vim ~/.zshrc

输入 i 进入编辑模式,将 ZSH_THEME="" 编辑为 ZSH_THEME="agnoster"

然后按 esc 键,退出编辑,:wq 保存退出。
在这里插入图片描述
agnoster 是比较常用的 zsh 主题之一,你可以挑选你喜欢的主题。

zsh 主题列表:https://github.com/robbyrussell/oh-my-zsh/wiki/themes

注:上面提到的via wget安装方式需要安装wget,方法如下: 直接终端使用homebrew安装(前提是已经安装了homebrew)

安装命令:

brew install wget

检验是否安装成功:

wget http://www.arefly.com/

在这里插入图片描述



五、配置Meslo字体

使用上面的主题,需要 Meslo 字体支持,要不然会出现乱码的情况。

字体下载地址:Meslo LG M Regular for Powerline.ttf

下载好之后,找到对应的字体,直接在 Mac OS 中安装即可。

然后打开 iTerm2,按 Command + , 键,打开 Preferences 配置界面,然后 ProfilesTextFontChanage Font,选择 Meslo LG M Regular for Powerline 字体。

在这里插入图片描述


六、声明高亮

zsh-syntax-highlighting 插件为 shell zsh 提供语法高亮显示。当命令在 zsh 提示符下输入到交互式终端时,它可以突出显示命令。这有助于在运行命令之前检查命令,特别是捕获语法错误。

Homebrew 安装:

brew install zsh-syntax-highlighting

git 命令安装:

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

安装成功之后,编辑 vim ~/.zshrc 文件,找到 plugins,我们需要把高亮插件加上:

plugins=(git zsh-syntax-highlighting)

在这里插入图片描述
注:请务必保证插件顺序,zsh-syntax-highlighting 必须在最后一个。

然后在文件末尾添加:

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

在这里插入图片描述
接着保存退出,然后执行下面的命令立即生效:

source ~/.zshrc

高亮显示效果如下:
在这里插入图片描述


七、自动建议填充

这个功能是非常实用的,可以方便我们快速的敲命令。

配置步骤,先克隆 zsh-autosuggestions 项目,到指定目录:

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

然后编辑 vim ~/.zshrc 文件,找到 plugins 配置,增加 zsh-autosuggestions 插件。
在这里插入图片描述
注:请务必保证插件顺序,zsh-syntax-highlighting 必须在最后一个。

有时候因为自动填充的颜色和背景颜色很相似,以至于自动填充没有效果,我们可以手动更改下自动填充的颜色配置,我修改的颜色值为:586e75,例如:
在这里插入图片描述
效果如下:
在这里插入图片描述


八、iTerm2快速隐藏和显示

这个功能也非常使用,就是通过快捷键,可以快速的隐藏和打开 iTerm2

打开 iTerm2,按 Command + , 键,打开 Preferences 配置界面,然后 ProfilesKeysHotkey,自定义一个快捷键就可以了,示例配置(option + Space):
在这里插入图片描述


九、iTerm2隐藏用户名和主机

有时候我们的用户名和主机名太长,比如我的 davis MacBook-Pro,终端显示的时候会很不好看(上面图片中可以看到),我们可以手动去除。

编辑 vim ~/.zshrc 文件,增加 DEFAULT_USER="davis" 配置,示例:
在这里插入图片描述
我们可以通过 whoami 命令,查看当前用户,效果如下:
在这里插入图片描述


十、iTerm2快捷键

命令说明
command + enter进入与返回全屏模式
command + t新建标签
command + w关闭标签
command + 数字 command + 左右方向键切换标签
command + f查找
command + d水平分屏
command + shift + d垂直分屏
command + option + 方向键切换屏幕
command + shift + h查看剪切板历史
ctrl + u清除当前行
ctrl + l清屏
ctrl + a到行首
ctrl + e到行尾
ctrl + f/b前进/后退
ctrl + p上一条命令
ctrl + r搜索命令历史



十一、卸载oh-my-zsh

进入到 .oh-my-zsh/tools 目录,依次执行:

cd .oh-my-zsh/tools
chmod +x uninstall.sh
./uninstall.sh
rm -rif .zshrc



十二、问题

1、问题一:iTerm2打开报错

打开终端一直报如下错误:

compinit:503: no such file or directory: /usr/local/share/zsh/site-functions/_brew_cask

解决方法:

若是装了 brew 的,有可能是缓存记录导致的,执行如下命令可以修正:

brew cleanup

2、问题二:terminal终端乱码

iTerm2 主题字体配置好后,打开Mac自带的 terminal 时出现乱码问题。

解决方法:

打开 terminal 的偏好设置修改字体如下:

Meslo LG Regular for Powerline

在这里插入图片描述





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

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

相关文章

codeforces 282A-C语言解题报告

282A题目网址 题目解析 1.第一行输入n(表示有n条语句都要执行),再输入X,X(都表示X1),–X,X–(都表示X-1),最初X0,输出X的值 2.使用字符数组去存放每一行的字符串,因为字符串,所以直接整体存入scanf("%s",c); 3.因为字符数组最后一个是’\0’去表示末尾,所以要开辟…

Java命令:jinfo — 查看进程参数

目录一、简介二、常用命令1、jinfo -flags pid : 打印当前指定java进程中已经设定的所有JVM参数信息2、jinfo -flag pid : 打印指定名称的参数3、jinfo -flag [|-] pid : 打开或关闭参数4、jinfo -sysprops pid : 打印当前java进程中设定的系统环境参数一、简介 jinfo 是 JDK …

C++primer第八章 IO库 8.1 IO类

IO库设施 istream (输入流)类型,提供输入操作。ostream (输出流)类型,提供输出操作。cin,—个 istream对象,从标准输入读取数据。cout, 一个ostream对象,向标准输出写入数据。cerr…

2014年英语一作文partB漫画作文

题目 Write an essay of 160-200 words based on the following drawing.In your essay you should describe the drawing brieflyexplain its intended meaning,give your comments 做题点 1.使用三段式,第一段:图片内容;第二段:图片暗示;第三段:写自己的评论 2.描述图片…

Spring Cloud 系列之 Nacos 配置中心

目录一、Nacos简介二、Nacos安装及配置1、环境准备2、安装包下载(1)源码方式(2)发行包方式3、启动Nacos服务4、Nacos数据库配置(1)MySQL数据源(2)初始化 MySQL 数据库(3&…

C++primer第八章 IO库 8.2 文件输入输出

8.2文件输入输出 头文件fstream定义了三个类型来支持文件IO:ifstream从一个给定文件读取数据,ofstream向一个给定文件写入数据,以及fstream可以读写给定文件。在17.5.3节中(第676页)我们将介绍如何对同一个文件流既读…

codeforces 112A-C语言解题报告

112A题目网址 题目解析 1.输入两行字符串,不区分大小写地使用字典序去比较大小 A<B -1 A>B 1 AB 0 举例: 输入 abcdefg AbCdEfF 输出 1 2.字典序:在遇到第一个不同的字符时,比较的大小,就是字符串的大小 列举法: 1.列出所有情况 1)a[i]是大写,b[i]是小写 a[i]转换为小…

SpringBoot 集成 Nacos

目录一、前言二、Nacos集成1、引入Nacos依赖2、设置Nacos配置3、加载Nacos配置中心配置项4、Nacos集成验证5、Nacos配置中心配置项动态生效Nacos安装详见&#xff1a;Spring Cloud 系列之 Nacos 配置中心 一、前言 上一篇已经讲解了怎样安装安装、启动、配置 Nacos&#xff0c…

C++primer第八章 IO库 8.3string流

8.3string流 sstream头文件定义了三个类型来支持内存IO,这些类型可以向string写入数据,从string读取数据&#xff0c;就像string是一个IO流一样。istringstream从string读取数据&#xff0c;ostringstream向string写入数据&#xff0c;而头文件stringstream既可从string读数据…

英语口语海报演讲--东软

海报 海报上的内容 Nuclear waste water 1.Damage the devastating impact of nuclear radiation on the world 2.Marine life genetically mutated or dead 3.water resources polluted water resources 4.the future of humanity genetic damage/food and environment destr…

Java中 List、Set、Map遍历方式以及性能比较

目录一、简介二、遍历方式1、ArrayList遍历方式&#xff08;1&#xff09;for循环遍历&#xff08;2&#xff09;foreach循环遍历&#xff08;3&#xff09;Iterator迭代器遍历2、LinkedList遍历方式&#xff08;1&#xff09;for循环遍历&#xff08;2&#xff09;foreach循环…

codeforces 263A-C语言解题报告

263A题目网址 题目解析 1.输入5*5的矩阵(下标从到5),包含24个0和一个1,问如何移动最小的次数(i相邻行或列)可以让1位于3行3列 举例: 输入: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 输出: 3 注意点 1.因为数组是从0开始的,所以减2就行 row-2col-2 2.使用整型二维…

一个DEMO让你彻底理解线程池

目录一、简介二、线程池任务场景场景一&#xff1a;提交5个任务&#xff0c;执行总耗时500ms场景二&#xff1a;提交10个任务&#xff0c;执行总耗时500ms场景三&#xff1a;提交11个任务&#xff0c;执行总耗时1000ms场景四&#xff1a;提交20个任务&#xff0c;执行总耗时100…

C++primer第九章 顺序容器 9.1 顺序容器概述 9.2容器库概览

一个容器就是一些特定类型对象的集合。顺序容器(sequentialcontainer)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值&#xff0c;而是与元素加入容器时的位置相对应。与之相对的&#xff0c;我们将在第11章介绍的有序和无序关联容器&#xff0c;则根据…

SpringBoot 启动报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb

目录一、报错日志二、原因分析三、问题排查四、解决方案方案一&#xff1a;如果项目不需要数据库相关信息就排除此类的autoconfig方案二&#xff1a;配置文件添加数据库链接信息方案三&#xff1a;配置pom.xml中yml或者properties扫描一、报错日志 **************************…

codeforces 339A-C语言解题报告

339A题目网址 题目解析 1.输入如321的式子,升序排序(从小到大)成123 举例: 输入: 11313 输出: 11133 2.对字符串进行排序采取拍冒泡排序算法 char c0; for(i0;i<strlen(s)-1;i) {for(j0;j<strlen(s)-1;j){if(s[j]>s[j1]){cs[j];s[j]s[j1];s[j1]c;}} }代码 #includ…

C++primer第九章 顺序容器 9.3 顺序容器操作

9.3顺序容器操作 顺序容器和关联容器的不同之处在于两者组织元素的方式。这些不同之处直接关系到了元素如何存储、访问、添加以及删除。上一节介绍了所有容器都支持的操作&#xff08;罗列于表9.2&#xff08;第295页&#xff09;&#xff09;。本章剩余部分将介绍顺序容器所特…

SpringBoot 集成Nacos报错(一)

目录配置信息报错信息解决方案配置信息 <project><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version><relativePath/></parent>…

C++primer第九章 顺序容器 9.4 vector对象是如何增长的

为了支持快速随机访问&#xff0c;vector将元素连续存储&#xff0c;每个元素紧挨着前一个元素存储。通常情况下&#xff0c;我们不必关心一个标准库类型是如何实现的&#xff0c;而只需关心它如何使用。然而&#xff0c;对于vector和string,其部分实现渗透到了接口中。假定容器…

codeforces 281A-C语言解题报告

281A题目网址 题目解析 1.字符串首字母大写 代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() {char s[1000]{\0};scanf("%s",s);if(s[0]>A&&s[0]<Z){printf("%s",s…