再見 XShell 和 ITerm 2,是時候擁抱全平台高顏值終端工具 Hyper 了!

  • 2019 年 11 月 11 日
  • 筆記

不論是 macOS 還是 Windows 下,我們都不推薦使用系統自帶終端。無論是可拓展性還是可編程性都被「系統自帶」這樣的特點限制。特別是 Windows 下的萬惡之源「小黑框」,在 9012 年真的是不太好用喲!

今天我們將給大家介紹一款基於 Electron 的全平台高顏值的終端工具 Hyper。Hyper 支援豐富的主題和插件功能,通過強大的插件系統提供了非常豐富的自定義選項,可謂是顏值和易用並存的神器。

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

下面先放一張配置好的預覽效果圖,讓大家先睹為快。

由於 Hyper 是基於 Electron 的,所以它的插件、主題等等可拓展性都非常強大。幾行簡單的 Javascript、HTML、 CSS 程式碼,你就可以訂製自己的插件。

Electron 是一個利用最新 Web 技術棧搭建跨平台應用的項目,比如: GitHub 出品的程式碼編輯器 Atom 和微軟出品的 VSCode 都是基於 Electron 的。

安裝 Hyper

Hyper 的安裝非常簡單,只需要在官網下載對應平台二進位安裝包後,直接安裝就可以運行。

如果你是 macOS 平台,你還可以通過 Homebrew 命令來快速完成安裝。

$ brew cask install hyper

如果你還不知道 Homebrew 如何安裝和使用可以參考 「macOS 不可或缺的套件管理器——Homebrew」 和 「macOS小技巧 —— 如何用 Homebrew 安裝指定版本軟體」 兩篇文章先了解下。

Hyper 主題安裝

Hyper 做為一個高顏值終端工具,自然就少不了對主題的支援。官方首頁推薦了 4 種不同顏色的主題,你可以在官方主題地址 https://hyper.is/themes 直接查看並安裝。

當然,如果上面官方推薦的主題滿足不了你,你也可以去在上面的主題地址中的 NEWEST 頁簽找到更多主題,或者是去 GitHub 搜索更多好看的主題。

善用 Hyper 插件

Hyper 本身是支援插件系統的,在安裝擴展插件前,你需要先安裝 Hyper 命令行程式。你可以點擊菜單,選擇 Plugin 選項,然後點擊 Install Hyper CLI command in PATH。

Hyper 命令行程式安裝完成後,Hyper 插件安裝就十分簡單了,只需要打開 Hyper 之後一行程式碼就可以搞定:

$ hyper i verminal

這樣就安裝了 verminal 這個插件。

Hyper 官方也在首頁給大家推薦了 4 個比較易用的插件,推薦大家全部都安裝試試。

1. hypercwd

它可以讓你的終端在新建標籤頁時,保持上一個終端的目錄地址。其安裝命令是:

$ hyper i hypercwd

它可以讓你搜索整個終端的所有文本內容。其安裝命令是:

$ hyper i hyper-search

3. hyper-pane

該插件用來增強窗口導航,對於支援多個頁簽的軟體來說這是個利器。其安裝命令是:

$ hyper i hyper-pane

4. hyperpower

這是一個讓你的終端變得更加絢麗的插件,類似於 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 伺服器上面默認使用的 SHELL 是 Bash。其實除了 Bash 之外,還有很多其他的 SHELL 程式,比如:ZSH、CSH、Fish 等等。

這裡我們將介紹的 ZSH 是我認為在類 Unix 系統下最優雅的 Shell 程式 。雖然 ZSH 設置複雜,但得益於開源社區,我們可以使用 Oh-My-ZSH 這個神器來很方便的管理和配置 ZSH。

安裝 ZSH 和 Oh-My-ZSH

在使用 Oh-My-ZSH 之前,你需要先安裝 ZSH。各個平台安裝的方式可能不一樣,這裡就只簡單說下比較常用的 Centos 和 Ubuntu 系統下的安裝方法。

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

更多平台的安裝方法,你可以通過 「利用 Oh-My-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/zsh 將 ZSH 設置為默認的 Shell。

配置主題

Oh-My-ZSH 默認也附帶了大量好看的主題,你可以利用它們對終端介面做進一步增強和美化。Oh-My-ZSH 默認的主題存放在 ~/.oh-my-zsh/themes 目錄中。

$ ls ~/.oh-my-zsh/themes    3den.zsh-theme                essembeh.zsh-theme            junkfood.zsh-theme            rgm.zsh-theme  Soliah.zsh-theme              evan.zsh-theme                kafeitu.zsh-theme             risto.zsh-theme  adben.zsh-theme               example.zsh-theme             kardan.zsh-theme              rixius.zsh-theme  af-magic.zsh-theme            fino-time.zsh-theme           kennethreitz.zsh-theme        rkj-repos.zsh-theme  afowler.zsh-theme             fino.zsh-theme                kiwi.zsh-theme                rkj.zsh-theme  agnoster.zsh-theme            fishy.zsh-theme               kolo.zsh-theme                robbyrussell.zsh-theme  alanpeabody.zsh-theme         flazz.zsh-theme               kphoen.zsh-theme              sammy.zsh-theme  amuse.zsh-theme               fletcherm.zsh-theme           lambda.zsh-theme              simonoff.zsh-theme  apple.zsh-theme               fox.zsh-theme                 linuxonly.zsh-theme           simple.zsh-theme  arrow.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/plugins    adb               brew         coffee             dirpersist      fastfile         gitignore                 httpie     last-working-dir  nanoc                  pod         rebar       sprunge        terminitor  vault              zeus  ant               brew-cask    colemak            django          fbterm           git-prompt                iwhois     lein              nmap                   postgres    redis-cli   ssh-agent      terraform   vim-interaction    zsh-navigation-tools  apache2-macports  bundler      colored-man-pages  dnf             fedora           git-remote-branch         jake-node  lighthouse        node                   pow         repo        stack          textastic   vi-mode            zsh_reload  archlinux         bwana        colorize           docker          forklift         glassfish                 jhbuild    lol               npm                    powder      rsync       sublime        textmate    virtualenv  asdf              cabal        command-not-found  docker-compose  frontend-search  gnu-utils                 jira       macports          nvm                    powify      ruby        sudo           thefuck     virtualenvwrapper  autoenv           cake         common-aliases     emacs           gas              go                        jruby      man               nyan                   profiles    rvm         supervisor     themes      vundle  autojump          cakephp3     compleat           ember-cli       geeknote         golang                    jsontools  marked2           osx                    pyenv       safe-paste  suse           thor        wakeonlan  autopep8          capistrano   composer           emoji           gem              gpg-agent                 jump       mercurial         pass                   pylint      sbt         svn            tmux        wd  aws               cask         copydir            emoji-clock     git              gradle                    kate       meteor            paver                  python      scala       svn-fast-info  tmux-cssh   web-search  battery           catimg       copyfile           emotty          git-extras       grails                    kitchen    mix               pep8                   rails       scd         symfony        tmuxinator  wp-cli  bbedit            celery       cp                 encode64        gitfast          grunt                     knife      mix-fast          per-directory-history  rake        screen      symfony2       torrent     xcode  bgnotify          chruby       cpanm              extract         git-flow         gulp                      knife_ssh  mosh              perl                   rake-fast   scw         systemadmin    tugboat     yii  boot2docker       chucknorris  debian             fabric          git-flow-avh     heroku                    laravel    mvn               phing                  rand-quote  sfffe       systemd        ubuntu      yii2  bower             cloudapp     dircycle           fancy-ctrl-z    github           history                   laravel4   mysql-macports    pip                    rbenv       singlechar  taskwarrior    urltools    yum  branch            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

如果你想更多了解 ZSH 和 Oh-My-ZSH,可以通過 「利用 Oh-My-Zsh 打造你的超級終端」 和 「讓你提前體驗 macOS Catalina 的 Shell — Oh My Zsh 配置指南」 這兩篇文章進一步探索。

集成 WSL

通常在使用 WSL (Windows Subsystem for Linux) 工作時,我們希望啟動終端時就進入 WSL 的 SHELL 內部。但默認情況下我們需要在啟動終端並輸入 bash 命令後才能進入 WSL 終端。

很顯然有此一步操作後,我們會覺得太繁瑣了。有了 Hyper 後,我們只需要改動一下配置文件,上面這步就可以直接省略。

現在,你只需打開 Hyper 設置頁面文件,從菜單 Edit -> Preferences 進入,然後編輯 shell 和 shellArgs 參數即可。

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

修改完成後,再次重新打開 Hyper,你會發現默認已經進入了 Bash 終端介面了。

總結

本文講述了如何安裝和使用 Hyper 這個高顏值跨平台的終端軟體,其中包括配置 Hyper 插件和主題。並講述了如何使用 ZSH 來代替 Bash 讓你的終端更加強大易用的方法。都看到這裡了,你還在等什麼呢?是時候放棄你的 Xshell 和 iTerm 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

Tags: