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.pswp.cn/news/446736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446736.shtml
英文地址,請注明出處:http://en.pswp.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…