当前位置: 首页 > 编程日记 > 正文

终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!

点击上方“涛哥聊Python”,选择“星标”公众号

重磅干货,第一时间送达

596795d7154b138a11282dac43f3b211.png

转自:运维之美

19cbfd4d191f3c75f8b7d1768c94a9df.png

不论是 macOS 还是 Windows 下,我们都不推荐使用系统自带终端。无论是可拓展性还是可编程性都被「系统自带」这样的特点限制。特别是 Windows 下的万恶之源「小黑框」,在 9012 年真的是不太好用哟!

今天我们将给大家介绍一款基于 Electron 的全平台高颜值的终端工具 HyperHyper 支持丰富的主题和插件功能,通过强大的插件系统提供了非常丰富的自定义选项,可谓是颜值和易用并存的神器。

官网地址:https://hyper.is

下面先放一张配置好的预览效果图,让大家先睹为快。

9866b08e2cb4b2bd40dc78ca2e75837f.png

由于 Hyper 是基于 Electron 的,所以它的插件、主题等等可拓展性都非常强大。几行简单的 JavascriptHTMLCSS 代码,你就可以定制自己的插件。

Electron 是一个利用最新 Web 技术栈搭建跨平台应用的项目,比如: GitHub 出品的代码编辑器 Atom 和微软出品的 VSCode 都是基于 Electron 的。

安装 Hyper

Hyper 的安装非常简单,只需要在官网下载对应平台二进制安装包后,直接安装就可以运行。

0e1f6f5cd2a8a95a39543c7f02a60218.png

如果你是 macOS 平台,你还可以通过 Homebrew 命令来快速完成安装。

$ brew cask install hyper

Hyper 主题安装

Hyper 做为一个高颜值终端工具,自然就少不了对主题的支持。官方首页推荐了 4 种不同颜色的主题,你可以在官方主题地址 https://hyper.is/themes 直接查看并安装。

7adf21b292481d52af396c2898b6febc.png

当然,如果上面官方推荐的主题满足不了你,你也可以去在上面的主题地址中的 NEWEST 页签找到更多主题,或者是去 GitHub 搜索更多好看的主题。

善用 Hyper 插件

Hyper 本身是支持插件系统的,在安装扩展插件前,你需要先安装 Hyper 命令行程序。你可以点击菜单,选择 Plugin 选项,然后点击 Install Hyper CLI command in PATH

Hyper 命令行程序安装完成后,Hyper 插件安装就十分简单了,只需要打开 Hyper 之后一行代码就可以搞定:

$ hyper i verminal

这样就安装了 verminal 这个插件。

Hyper 官方也在首页给大家推荐了 4 个比较易用的插件,推荐大家全部都安装试试。

1. hypercwd

8bbfebfa2f9e3321b404ab24a6a202cc.png

它可以让你的终端在新建标签页时,保持上一个终端的目录地址。其安装命令是:

$ hyper i hypercwd

2. hyper-search

cc574248913034c9733c135ef84b0166.png

它可以让你搜索整个终端的所有文本内容。其安装命令是:

$ hyper i hyper-search

3. hyper-pane

12afd1001fdb59b52e69f71f15f3202e.png

该插件用来增强窗口导航,对于支持多个页签的软件来说这是个利器。其安装命令是:

$ hyper i hyper-pane

4. hyperpower

4dc2aad24b0353f743b394ec4e5d5f27.gif

这是一个让你的终端变得更加绚丽的插件,类似于 Atom 里面的一个叫做 activate-power-mode 的插件。当然这么炫酷的效果是不是会影响你的工作呢,还是要视个人情而定。其安装命令是:

$ hyper i hyperpower

如果你需要更多的插件和主题,你可以在官方网站以下地址中找到。

  1. Hyper 的官方主题地址:https://hyper.is/themes

  2. Hyper 的官方插件地址:https://hyper.is/plugins

除了,官方提供的主题和插件。目前还有一个社区驱动的 awesome-hyper 项目,里面有着更多开源的 Hyper 终端插件、主题等等。如果你对不同的主题和插件有兴趣,可以去这个项目里进行探索哟!

  1. 项目地址:https://github.com/bnb/awesome-hyper

整合 ZSH

通常 Linux 服务器上面默认使用的 SHELLBash。其实除了 Bash 之外,还有很多其他的 SHELL 程序,比如:ZSHCSHFish 等等。

这里我们将介绍的 ZSH 是我认为在类 Unix 系统下最优雅的 Shell 程序 。虽然 ZSH 设置复杂,但得益于开源社区,我们可以使用  Oh-My-ZSH 这个神器来很方便的管理和配置 ZSH

安装 ZSH 和 Oh-My-ZSH

在使用 Oh-My-ZSH 之前,你需要先安装 ZSH。各个平台安装的方式可能不一样,这里就只简单说下比较常用的 CentosUbuntu 系统下的安装方法。

# Redhat / Centos$ yum install zsh# Debian / Ubuntu$ apt-get install zsh

安装好 ZSH  后,就可以安装 Oh-My-ZSH 了。Oh-My-ZSH 的安装也是非常简单的,你只需要用下面两条指令中的任意一条就可完成安装。

# 通过 curl 安装$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"# 通过 wget 安装$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装完成后,你就会发现你的终端 SHELL 变成了 ZSH。你还可以通过命令 chsh -s /bin/zshZSH 设置为默认的 Shell

配置主题

Oh-My-ZSH 默认也附带了大量好看的主题,你可以利用它们对终端界面做进一步增强和美化。Oh-My-ZSH 默认的主题存放在 ~/.oh-my-zsh/themes 目录中。

$ ls ~/.oh-my-zsh/themes3den.zsh-theme                essembeh.zsh-theme            junkfood.zsh-theme            rgm.zsh-themeSoliah.zsh-theme              evan.zsh-theme                kafeitu.zsh-theme             risto.zsh-themeadben.zsh-theme               example.zsh-theme             kardan.zsh-theme              rixius.zsh-themeaf-magic.zsh-theme            fino-time.zsh-theme           kennethreitz.zsh-theme        rkj-repos.zsh-themeafowler.zsh-theme             fino.zsh-theme                kiwi.zsh-theme                rkj.zsh-themeagnoster.zsh-theme            fishy.zsh-theme               kolo.zsh-theme                robbyrussell.zsh-themealanpeabody.zsh-theme         flazz.zsh-theme               kphoen.zsh-theme              sammy.zsh-themeamuse.zsh-theme               fletcherm.zsh-theme           lambda.zsh-theme              simonoff.zsh-themeapple.zsh-theme               fox.zsh-theme                 linuxonly.zsh-theme           simple.zsh-themearrow.zsh-theme               frisk.zsh-theme               lukerandall.zsh-theme         skaro.zsh-theme....

对于主题的启用,你只需编辑 ZSH 配置文件 ~/.zshrc。并在 ZSH_THEME 项中直接修改主题名称为要启用的主题名称即可。

ZSH_THEME="agnoster"

注意:如果你安装的主题无法显示预期效果,那是因为响应的主题的系统字体没有安装。这时,你需要正确的安装了 Powerline 字体才会显示出来。

  1. Powerline 项目地址:https://github.com/powerline/fonts

  2. Powerline 安装教程:https://powerline.readthedocs.io/en/latest/installation.html#fonts-installation

如果这些默认主题还不能满足你的需要,你还可以到下面这些地址中找到更多的 ZSH 主题。

  1. https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

  2. https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes

  3. https://github.com/unixorn/awesome-zsh-plugins#themes

配置插件

Oh-My-ZSH 之所以强大,其中一个原因就是支持诸多功能强大的插件,Oh-My-ZSH 默认自带的插件都存放在 ~/.oh-my-zsh/plugins 目录中。

$ ls ~/.oh-my-zsh/pluginsadb               brew         coffee             dirpersist      fastfile         gitignore                 httpie     last-working-dir  nanoc                  pod         rebar       sprunge        terminitor  vault              zeusant               brew-cask    colemak            django          fbterm           git-prompt                iwhois     lein              nmap                   postgres    redis-cli   ssh-agent      terraform   vim-interaction    zsh-navigation-toolsapache2-macports  bundler      colored-man-pages  dnf             fedora           git-remote-branch         jake-node  lighthouse        node                   pow         repo        stack          textastic   vi-mode            zsh_reloadarchlinux         bwana        colorize           docker          forklift         glassfish                 jhbuild    lol               npm                    powder      rsync       sublime        textmate    virtualenvasdf              cabal        command-not-found  docker-compose  frontend-search  gnu-utils                 jira       macports          nvm                    powify      ruby        sudo           thefuck     virtualenvwrapperautoenv           cake         common-aliases     emacs           gas              go                        jruby      man               nyan                   profiles    rvm         supervisor     themes      vundleautojump          cakephp3     compleat           ember-cli       geeknote         golang                    jsontools  marked2           osx                    pyenv       safe-paste  suse           thor        wakeonlanautopep8          capistrano   composer           emoji           gem              gpg-agent                 jump       mercurial         pass                   pylint      sbt         svn            tmux        wdaws               cask         copydir            emoji-clock     git              gradle                    kate       meteor            paver                  python      scala       svn-fast-info  tmux-cssh   web-searchbattery           catimg       copyfile           emotty          git-extras       grails                    kitchen    mix               pep8                   rails       scd         symfony        tmuxinator  wp-clibbedit            celery       cp                 encode64        gitfast          grunt                     knife      mix-fast          per-directory-history  rake        screen      symfony2       torrent     xcodebgnotify          chruby       cpanm              extract         git-flow         gulp                      knife_ssh  mosh              perl                   rake-fast   scw         systemadmin    tugboat     yiiboot2docker       chucknorris  debian             fabric          git-flow-avh     heroku                    laravel    mvn               phing                  rand-quote  sfffe       systemd        ubuntu      yii2bower             cloudapp     dircycle           fancy-ctrl-z    github           history                   laravel4   mysql-macports    pip                    rbenv       singlechar  taskwarrior    urltools    yumbranch            codeclimate  dirhistory         fasd            git-hubflow      history-substring-search  laravel5   n98-magerun       pj                     rbfu        spring      terminalapp    vagrant     z

默认情况下,Oh-My-ZSH 只启用 Git 插件。

# Git 插件可以十分清晰的显示出当前代码仓库里与远程仓库是否同步,以及最新同步日期等等信息。plugins=(git)

如果你需启用更多插件,只需加入要启用插件的名称。

plugins=(git wd web-search history history-substring-search)

除默认自带的插件外,你还可以在 GitHub 上找到更多好用的 ZSH 三方插件,这里推荐几个比较好用三方插件。

  1. zsh-history-substring-search项目地址:https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/history-substring-search
  2. zsh-syntax-highlighting项目地址:https://github.com/zsh-users/zsh-syntax-highlighting

  3. zsh-autosuggestions项目地址:https://github.com/zsh-users/zsh-autosuggestions

集成 WSL

通常在使用 WSL (Windows Subsystem for Linux) 工作时,我们希望启动终端时就进入 WSLSHELL 内部。但默认情况下我们需要在启动终端并输入 bash 命令后才能进入 WSL 终端。

很显然有此一步操作后,我们会觉得太繁琐了。有了 Hyper 后,我们只需要改动一下配置文件,上面这步就可以直接省略。

现在,你只需打开 Hyper 设置页面文件,从菜单 Edit -> Preferences 进入,然后编辑 shellshellArgs 参数即可。

shell: 'C:\\Windows\\System32\\bash.exe',shellArgs: [],
942d92cdf93b116813c6204062955c7d.png

修改完成后,再次重新打开 Hyper,你会发现默认已经进入了 Bash 终端界面了。

总结

本文讲述了如何安装和使用 Hyper 这个高颜值跨平台的终端软件,其中包括配置 Hyper 插件和主题。并讲述了如何使用 ZSH 来代替 Bash 让你的终端更加强大易用的方法。都看到这里了,你还在等什么呢?是时候放弃你的 XshelliTerm 2 吧!

参考文档

  1. https://www.google.com

  2. https://sspai.com/post/56081

  3. https://sspai.com/post/45332

  4. https://archive.spencerwoo.com/posts/2018/06/17/terminal.html

  5. https://www.fythonfang.com/blog/post/24

  6. https://github.com/sindresorhus/hyper-snazzy

  7. https://www.veinin.com/2018/11/30/hyper-windows-tutorial/

  8. https://blog.csdn.net/was172/article/details/85016495

  9. https://github.com/sindresorhus/pure

  10. https://www.fythonfang.com/blog/post/24

e3d6283470d34c64e7910a017e3f04d2.png72848e7290d7dc8a29cd2f5f00e8e1fc.png

d024b00e8aa51a00675aa5362749ff65.png

200页!分享珍藏很久的Python学习知识手册(附链接)

学界震动!北大教授实名举报武大,中科院三人学术造假!官方回应

fb9e2191e002c092151f507aca53c261.png

d217396ad217486a92576cbd67475132.png

相关文章:

每天一个linux命令(8):cp 命令

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本…

samba srver on centos-7

切换到root用户安装samba,将windows登录用户admin映射到linux用户centos 安装samba并准备工作目录 yum install -y samba samba-client mkdir -p /var/samba/code chown -R centos:centos /var/samba/codetouch /etc/samba/smbusersecho "centos admin "…

以太坊数据结构MPT

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 MPT(Merkle Patricia Tries)是以太坊存储数据的核心数据结构,它是由Merkle Tree和Patricia Tree结合的一种树形结构,理解MP…

lambda在python中的用法_在python中对lambda使用.assign()方法

我在Python中运行以下代码:#Declaring these now for later use in the plotsTOP_CAP_TITLE Top 10 market capitalizationTOP_CAP_YLABEL % of total cap# Selecting the first 10 rows and setting the indexcap10 cap.loc[:10, :].set_index(id)# Calculating…

react 开发过程中的总结/归纳

1、点击元素,获取绑定该事件的父级元素,使用 e.currentTarget。e.target 获取的是,出发该事件的元素,该元素有可能是所绑定事件的元素的子元素。 2、使用 react router4 history 只能传递给儿子组件,不能传递给孙子组件…

kvm虚拟机--存储池配置梳理(转)

1.创建基于文件夹的存储池(目录) 2.定义存储池与其目录 1 # virsh pool-define-as vmdisk --type dir --target /data/vmfs 3.创建已定义的存储池 (1)创建已定义的存储池 1 # virsh pool-build vmdisk (2)查看已定义的存储池,存储池不激活无法…

区块链概况:什么是区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。 wikipedia 给出的定义为: A blockchain —originally, b…

drx功能开启后_简单实用!小米手机中这些新功能真香

小米手机作为国产机热销品牌之一,它除了有好看的外观,还有很多隐藏的实用功能,今天小编就来和大家分享5个小米手机里你不知道的功能。Al电话助理看到陌生号码时,很多人第一反应就是挂掉,不想接听,但又担心自…

Ubuntu 8.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

Linux版本:Ubuntu8.04 内核版本:Linux 2.6.24 交叉编译器版本:arm-linux-gcc-3.4.1 交叉编译器下载链接: https://share.weiyun.com/5oxlS6X (密码:36R7) 前言 1、搭建交叉编译环境 安装、配置交…

Installshield 2015 实现检测某安装文件是否存在并运行安装

最近在用installshiled 2015做安装包,用了很长时间研究明白了怎样实现在安装成功界面显示一个checkbox,选中该checkbox,就会安装选中的安装包。 首先我们要有一个installshield的工程。 其次是判断是否要显示这个checkbox。我的需求是根据某个…

区块链概况:从数字货币说起

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 从数字货币说起 货币是人类文明发展过程中的一大发明,最重要的职能包括价值尺度、流通手段、贮藏手段。很难想象离开了货币&#xff0c…

Android RecyclerView 基本使用

Android RecyclerView 基本使用 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生…

lisp语言cond和if套用_在'if'语句中设置多行条件的样式?

Harley Holco..679您不需要在第二个条件行上使用4个空格.也许用:if (cond1 val1 and cond2 val2 andcond3 val3 and cond4 val4):do_something另外,不要忘记空格比您想象的更灵活:if (cond1 val1 and cond2 val2 andcond3 val3 and cond4 val4):do_somethingif (cond1 …

jvm七种垃圾收集器

JVM_七种垃圾收集器介绍 本文中的垃圾收集器研究背景为:HotSpotJDK7一、垃圾收集器概述如上图所示,垃圾回收算法一共有7个,3个属于年轻代、三个属于年老代,G1属于横跨年轻代和年老代的算法。JVM会从年轻代和年老代各选出一个算法进…

新手怎么学以太坊区块链开发?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 在学习以太坊应用开发时,除了学习solidity开发智能合约,一个小白还应该补充 哪些知识?文本将给出相关的学习资源…

【题解】 bzoj1260: [CQOI2007]涂色paint (区间dp)

bzoj1260&#xff0c;懒得复制&#xff0c;戳我戳我 Solution: 这种题目我不会做qwq&#xff0c;太菜了区间打牌(dp) 用f[l][r]表示从l到r最少需要染几次色。状态转移方程&#xff1a; 1.\(f[l][r]min(f[l][i],f[i1][r]) (l<i<r)\) 这段染色等于俩段分别染色&#xff0c;…

[deviceone开发]-组件功能演示示例

一、简介 这个是官方比较早期对组件功能的展示集合&#xff0c;因为发布的比较早&#xff0c;只包含了部分组件&#xff0c;但是常用的组件和常用的功能都包含了。初学者推荐。二、效果图 三、相关下载 https://github.com/do-project/code4do/tree/master/demo四、相关讨论 ht…

联想g510升级换什么cpu好_老兵不死,十年前的联想 Y450 笔记本复活记

如果你是一个接触笔记本电脑比较早的用户&#xff0c;那么联想小Y的大名你一定不会陌生&#xff0c;作为联想旗下较为成功的产品线&#xff0c;彪悍的小Y在几年前就打出了名堂&#xff0c;而小Y系列笔记本里面又以 Y450 最为经典&#xff0c;Y450 引入 NVIDIA GT240M 中端移动显…

区块链和数据库

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 区块链技术是一种不依赖第三方、通过自身分散式节点进行网路数据的存储、验证、传递和交流的一种技术方案。因此&#xff0c;有人从金融会计的角度…

普通粒子群算法和优化方法

粒子群优化(PSO, particle swarm optimization) 是由Kennedy和Eberhart在1995年提出的一 种群智能优化方法。 优点&#xff1a;好理解容易实现&#xff0c;适合解决极值问题 缺点&#xff1a;容易过早收敛&#xff0c;容易陷入局部最优解&#xff0c;&#xff08;如果初始点选的…

古人怎么称呼年龄

来自为知笔记(Wiz)转载于:https://www.cnblogs.com/sanyuanempire/p/6154780.html

vue变量传值_vue组件与组件之间传值

目录一、父组件向子组件传值二、子组件向父组件传值三、兄弟组件之间的传值如上图所示&#xff0c;2是1的子组件&#xff0c;1是3的父组件&#xff0c;2和3是兄弟组件一、父组件向子组件传值&#xff1a;html代码:<div id"app"><v-app><!-- 用:xxxx&q…

区块链技术背后的运行逻辑

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 区块链技术可能是自互联网技术以来最伟大的发明。区块链可以在不需要有中央权威机构的情况下或不需要双方信任的情况下交换价值或财富。想像一下你…

scp遇到路径中有空格

sudo scp root1.1.1.1:/test/soft/123/Microsoft SQL Server 2000.iso . 错误&#xff01; sudo scp root1.1.1.1:"/test/soft/123/Microsoft SQL Server 2000.iso" . 错误&#xff01; sudo scp root1.1.1.1:/test/soft/123/Microsoft\ SQL\ Server\ 2000.…

bzoj 3262 陌上花开

本质是一个三维偏序&#xff0c;一位排序后cdq分治&#xff0c;一维在子函数里排序&#xff0c;一维用树状数组维护。 把三维相等的合并到一个里面。 1 #include<iostream>2 #include<cstdio>3 #include<algorithm>4 #include<cstring>5 #define N 100…

jspstudy启动mysql失败_MySql启动数据库设置初始密码

这一小节介绍在Mac OS、Linux、Windows上启动关闭重启MySQL服务&#xff0c;以及部分图形化界面对服务的操控。安装完成后&#xff0c;可以使用 service 命令启动 mysql 服务&#xff0c;在Mac上service命令不存在。命令行启动关闭重启MySQL服务在命令行终端启动 MySQL 非常方便…

区块链技术产生数字货币时代

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 比特币是一种革命性的数字货币&#xff0c;更是一种颠覆性的创新技术。比特币最大的贡献是创造了信用&#xff0c;解决了困扰互联网进一步发展的拜…

软件构造 第二章 第一节 软件生命周期和版本控制

软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process models (waterfall, incremental, V- model, prototyping, spiral) Agile development and eXtreme Programming (XP) Collaborative software de…

三极管在ad中的原理图库_555时基电路内部结构及其工作原理

555时基电路特点时基电路是一种常用的模数混合型集成电路。由它组成的振荡器、单稳态触发器、双稳态触发器和各类电子开关等都被十分广泛地应用在各类电路之中。它具有定时精度高、响应速度快、温漂小、输出驱动电流大、结构简单等优点。555时基电路型号命名555时基芯片由其内部…

Mac下导出chrome插件

Mac下导出chrome插件 chrome最强大的功能之一就是插件&#xff0c;有时候需要给小伙伴们共享一些插件&#xff0c;所以需要将自己chrome中的插件打包&#xff0c;在mac下打包插件还是挺费劲的&#xff0c;在此记录。 打开chrome的扩展程序&#xff0c;找到要导出的插件&#xf…