使用 ohmyzsh 打造 windows、ubuntu、mac 系統高效終端命令行工具

如果覺得內容不錯,可以設為星標置頂我的公眾號

原標題名:oh my zsh 和 windows git bash 設置別名提高效率

寫于2018年06月03日

在我的微信交流群中聽聞很多前端開發比較貧窮,沒有買mac電腦(比如我),也沒有用過ohmyzsh。于是就有了這篇寫于2018年文章的更新。

這篇文章沒啥難度,很快就能看完,主要還是希望讀者你看完后可以安裝開始使用高效終端工具。有了這么強大的終端工具后我發現Windows很好用呀,瞬間感覺都不需要買mac了。

主要就是:

  • 利用Windowslinux子系統功能

  • 安裝Ubuntu系統,安裝ohmyzsh和一些插件

  • 安裝windows Terminal工具

  • 安裝vscode remote-wsl插件

  • 安裝 tig 查看 git 記錄

先看下效果。反正我用了ohmyzsh后,離不開了。

最終終端效果

windows 安裝 Ubuntu 子系統 安裝 windows Terminal

搜索啟用或關閉 windows 功能,勾選適用于 LinuxWindows 子系統,確定后重啟電腦。

搜索 Ubuntuwindows Terminal 并安裝(windows Terminal 可能要求win10系統比較高的版本,一般更新到最新版本即可)

Ubuntu安裝好后會要求設置用戶名和密碼。

搜索 啟用或關閉 windows 功能
勾選 適用于 Linux 的 Windows 子系統
搜索 Ubuntu

建議安裝最新版 Ubuntu 20.04

Windows Terminal

win10安裝了ubuntu子系統和oh my zsh后,則可以通過/mnt/f/訪問win10下的f盤,或者其他盤。也就有上面的pwd效果圖。

安裝 vscode remote-wsl 插件

下載安裝vscode,并且安裝remote-wsl插件。

vscode remote-wsl 插件

安裝 oh my zsh

簡述下oh my zshoh my zsh官網的安裝方法。github ohmyzsh

安裝oh my zsh部分適用于Ubuntumac系統。

echo?$SHELL
#?/bin/bash?默認是bash
#?查看下有哪些shells
cat?/etc/shells
#?安裝?zsh
sudo?apt-get?install?zsh?-y
#?查看zsh版本
zsh?--version
#?5.1.1
#?安裝后zsh?后cat?/etc/shells?才有/bin/zsh?/usr/bin/zsh#?切換成zsh
chsh?-s?$(which?zsh)
#?或者這條命令
#?chsh?-s?/usr/bin/zsh
#?三種安裝方案可供選擇:
#?Via?curl
$?sh?-c?"$(curl?-fsSL?https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"#?Via?Wget
$?sh?-c?"$(wget?https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh?-O?-)"#?如果上面兩種情況還安裝不了,可以使用如下方式。#?via?git?clone
git?clone?https://github.com/ohmyzsh/ohmyzsh.git?~/.oh-my-zsh
cp?~/.oh-my-zsh/templates/zshrc.zsh-template?~/.zshrc
chsh?-s?$(which?zsh)
#?打開新的終端會應用新的zshrc配置

如果以上三種方式還裝不了,可以來找我(若川 微信ruochuan12)。也可以查看oh my zsh文檔

安裝成功后,配置信息會在~/.zshrc。可以通過code ~/.zshrc(如果沒安裝vscode,可以用vim ~/.zshrc)打開編輯zsh配置信息,可以看到默認配置了git 插件Plugin:git。也就是說,可以更加簡便的使用git 相關的一些別名。

#?比如
`git status`時,只需要輸入`gst`。
`git pull`?時,只需要輸入`gl`。
`git push`?時,只需要輸入`gp`等等。

是因為配置里有這些簡寫,還有更多可以查看這里oh my zsh plugin git.plugin.zsh文檔配置,github oh my zsh plugin git.plugin.zsh文件地址。安裝成功后,同時會創建~/.oh-my-zsh的文件夾,其實就是.oh-my-zshgit 倉庫master分支。可以發現文件夾中有一個plugins文件夾,內置了很多插件。可以自定義主題theme,具體可以看example.zsh-theme。custom自定義相關。插件相關會安裝在這里,更多可以查看example.plugin.zsh

我暫時安裝了這幾個插件。

plugins=(#?內置插件,啟用即可gitcpmv#?按兩下esc鍵,用sudo權限sudo#?記錄歷史輸入的zsh命令,自動提示,快速使用zsh-autosuggestions#?zsh?命令高亮zsh-syntax-highlighting
)

順帶講下后面兩個插件的安裝方法 安裝 zsh-autosuggestions

git?clone?git://github.com/zsh-users/zsh-autosuggestions?$ZSH_CUSTOM/plugins/zsh-autosuggestions

安裝zsh-syntax-highlighting

git?clone?https://github.com/zsh-users/zsh-syntax-highlighting.git?$ZSH_CUSTOM/plugins/zsh-syntax-highlighting

$ZSH_CUSTOM 其實是個變量,代表這個路徑~/.oh-my-zsh/custom, 也就是安裝到了這個目錄下。還有很多高效插件,等您發掘~oh my zsh官網不過插件安裝多了,感覺會有些卡頓~

#?每次修改了這個`.zshrc`配置文件,需要重載一下,才能生效。
source?.zshrc
#?也可以封裝成一個簡寫命令?alias
alias?rl='source?~/.zshrc'

也可以在這個配置文件中配置更多alias

#?~/.zshrc
#?比如跳轉到工作目錄
alias?dgg='cd?/mnt/f/git-source/github'
#?vscode?打開要編輯的文件或文件夾
code?blog

這也就是開頭的效果圖了。

最終終端效果

那不是win10,也想通過設置別名來提高效率,是不是就沒有辦法了呢,可以使用git bash設置alias,安裝git,自帶git bash

windows git bash 設置別名提高效率

windows 桌面或任意資源管理器位置,右擊,選擇Git Bash Here,即打開了git bash命令行。先設置下主題,右擊選擇options, Looks > theme > dracula我選擇的是dracula主題,看起來比較舒適。還可以設置字體等。

#?跳轉到根路徑
cd?~
#?查看下是否有.bash_profile文件
la
#?如果沒有.bash_profile文件,需要創建
touch?.bash_profile
#?打開編輯?(我這里安裝了vscode,所以直接用其打開文件)
code?.bash_profile

可以根據修改設置一些別名。比如我們常用的git status命令,可以封裝成gst。清屏clear命令封裝成cls

alias?gst='git?status'
alias?cls='clear'

每次修改這個文件需要輸入source ~/.bash_profile重載這個文件,才會生效。code ~/.bash_profile,用vscode編輯這個配置文件,封裝成一個命令。比如:

alias?rl='source?~/.bash_profile'
alias?bashconfig='code?~/.bash_profile'

這樣每次修改保存后就只需要輸入rl,即可重載生效了。還可以把一些工作目錄封裝,我的一些項目是放在/f/git-source/github文件下。

#?github上的項目
alias?dgg='cd?F:/git-source/github'
#?周報相關
alias?dcwk='cd?F:/git-source/coding/weekly'

每次進入項目,就直接dgg,即可跳轉到這個目錄,然后選擇相應的目錄即可。比如dgg進入工作目錄,cd analyse-vue-cli進入項目目錄,(輸入analtab鍵智能提示)

#??/f/git-source/github/analyse-vue-cli?(dev)
#?查看狀態?git?status
gst
#?用vscode?打開這個文件夾,開始編輯~
code?./

git 相關的, 例舉一些平時用的比較多的。

alias?g='git'
alias?ga='git?add'
alias?gaa='git?add?-all'
alias?gp='git?push'
alias?gl='git?pull'
alias?gcmsg='git?commit?-m'
#?分支相關
alias?gb='git?branch'
alias?gbr='git?branch?-r'
alias?gba='git?branch?-a'
#?checkout
alias?gco='git?checkout'
alias?gcb='git?checkout?-b'
#?merge
alias?gm='git?merge'
#?diff
alias?gd='git?diff'
alias?gdw='git?diff?--word-diff'

更多可以把oh my zsh的插件一些命令拷貝過來,留alias相關的即可,oh my zsh plugin git.plugin.zshPlugin:git wiki相當于解鎖了oh my zshgit插件。還有很多插件,比如npm點擊查看, node 等,都可以研究下。

git bash,有沒有類似oh my zsh的插件呢,我暫時沒發現,如果您知道,歡迎告訴我。目錄相關的操作,也可以設置一些別名。比如:

#?回退到上一級
alias?..='cd?..'
alias?...='cd?../..'
alias?....='cd?../../..'
alias?.....='cd?../../../..'
alias?......='cd?../../../../..'

更多別名可以自定義~windows上命令行工具還可以使用cmder點擊查看cmder官網命令行工具。雖然我幾年前就安裝了,但發現還是git bash用的順暢些,可能是我還不太習慣cmder。關于cmder配置相關,這里推薦晚晴幽草軒軒主的一篇文章:《Win下必備神器之Cmder》

也有cygwin,也是windows命令行工具,也可以安裝on my zsh

當然,git也是可以設置別名的。

git設置別名,使用tig神器

#?git?status?=>?git?st
git?config?--global?alias.st?status

更多可以查看廖雪峰老師的這篇文章git 配置別名。不過可能大多數人不知道,他們可能用著可視化工具。我覺得可視化工具也是對git的一些封裝,具體背后是什么命令,我們還是需要去了解熟悉的。命令行使用git,我推薦使用tiggit log增強版,性能很好。Ubuntulinuxmac可以直接安裝,windows稍微麻煩些。具體安裝方法查看tig github倉庫中的官方安裝文檔,或者查看這篇文章:顛覆 Git 命令使用體驗的神器 -- tig

小結

磨刀不誤砍柴工,花時間折騰研究工具,有利于提高開發效率。

學習源碼整體架構系列

1.學習 jQuery 源碼整體架構,打造屬于自己的 js 類庫
2.學習?underscore 源碼整體架構,打造屬于自己的函數式編程類庫
3.學習 lodash 源碼整體架構,打造屬于自己的函數式編程類庫
4.學習 sentry 源碼整體架構,打造屬于自己的前端異常監控SDK
5.學習 vuex 源碼整體架構,打造屬于自己的狀態管理庫
6.學習 axios 源碼整體架構,打造屬于自己的請求庫
7.學習 koa 源碼的整體架構,淺析koa洋蔥模型原理和co原理
8.學習 redux 源碼整體架構,深入理解 redux 及其中間件原理

一般人都看不到文章末尾,看到這里你已經超越90%的人了。

  1. 覺得文章不錯,可以點個在看呀^_^另外歡迎留言交流~

  2. 加我(若川)微信ruochuan12,拉你進交流群,長期交流學習

  3. 關注我的公眾號若川視野,回復pdf領取前端優質書籍pdf

  4. 我的博客地址:https://lxchuan12.cn 歡迎收藏

小提醒:若川視野公眾號原創文章合集在菜單欄中間【原創精選】按鈕,歡迎點擊閱讀。

由于公眾號限制外鏈,點擊閱讀原文,或許閱讀體驗更佳

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276451.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276451.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276451.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

request獲取mac地址_【Go】獲取用戶真實的ip地址

原文鏈接:https://blog.thinkeridea.com/201903/go/get_client_ip.html用戶請求到達提供服務的服務器中間有很多的環節,導致服務獲取用戶真實的 ip 非常困難,大多數的框架及工具庫都會封裝各種獲取用戶真實 ip 的方法,在 exnet 包…

Installation of Apache HTTPD

轉載鏈接:http://www.linuxfromscratch.org/blfs/view/svn/server/apache.html Installation of Apache-2.4.7 HTTPD For security reasons, running the server as an unprivileged user and group is strongly encouraged. Create the following group and user…

iPhone開發四劍客之《Objective-C基礎教程》

iPhone 開發四劍客之《Objective-C 基礎教程》 Objective-C 語言是 C 語言的一個擴展集,許多(可能是大多數)具備 Mac OS X 外觀的應用程序都是使用該語言開發的。它以 C 語言為基礎,添加了一些微妙但意義重大的特性。 蘋果公司為…

教師節,你記憶中老師說過印象最深的是什么話?(抽獎)

我記憶中老師說過印象最深的話小學老師:1、小學語文老師李老師說,以后你們可能帶個手機就可以支付了~不需要帶現金。(在杭州確實實現了,用支付寶即可) 2、小學數學老師李老師說:好好讀書的目的是啥&#xf…

Spark List組件滾動條加事件使datalist數據發生變化

<?xml version"1.0" encoding"utf-8"?><!-- http://blog.flexexamples.com/2009/05/31/detecting-when-the-vertical-scroll-bar-is-scrolled-on-a-spark-list-control-in-flex-4/ --><s:Application name"Spark_List_scroller_vert…

keras訓練完以后怎么預測_還在使用“龜速”的單顯卡訓練模型?動動手,讓TPU節省你的時間...

點擊上方關注&#xff0c;All in AI中國本文將介紹如何使用Keras和Google CoLaboratory與TPU一起訓練LSTM模型&#xff0c;與本地計算機上的GPU相比&#xff0c;這樣訓練能大大縮短訓練時間。很長一段時間以來&#xff0c;我都在單張GTX 1070顯卡上訓練我的模型&#xff0c;它的…

PHP5加載|安裝外部C動態庫

[1] cd php-5.3.9/ext[2] ./ext_skel --extnamencdocxml[3] cd ncdocxml[4] nano -w config.m4############刪除 3 個 dnldnl PHP_ARG_WITH(my_module, for my_module support,dnl Make sure that the comment is aligned:dnl [ --with-my_module Include my_module support])或…

手把手教你寫個小程序定時器管理庫

背景凹凸曼是個小程序開發者&#xff0c;他要在小程序實現秒殺倒計時。于是他不假思索&#xff0c;寫了以下代碼&#xff1a;Page({init: function () {clearInterval(this.timer)this.timer setInterval(() > {// 倒計時計算邏輯console.log(setInterval)})}, })可是&…

[New Portal]Windows Azure Virtual Machine (14) 在本地制作數據文件VHD并上傳至Azure(1)

《Windows Azure Platform 系列文章目錄》 之前的內容里&#xff0c;我介紹了如何將本地的Server 2012中文版 VHD上傳至Windows Azure&#xff0c;并創建基于該Server 2012 VHD的虛擬機。 我們知道&#xff0c;VHD不僅僅可以保存操作系統&#xff0c;而且可以保存數據文件。 如…

python 退出程序_Python:用Ctrl+C解決終止多線程程序的問題!(建議收藏)

前言&#xff1a;今天為大家帶來的內容是Python:用CtrlC解決終止多線程程序的問題&#xff01;文章中的代碼具有不錯的參考意義&#xff0c;希望在此能夠幫助到各位&#xff01;(多數代碼用圖片的方式呈現出來&#xff0c;方便各位觀看與收藏)出發點&#xff1a;前段時間&#…

Mysql InnoDB Plugin安裝 install

轉載鏈接&#xff1a;http://www.orczhou.com/index.php/2010/03/innodb-plugin-setup/ InnoDB Plugin較之Built-in版本新增了很多特性&#xff1a;包括快速DDL、壓縮存儲等&#xff0c;而且引入了全新的文件格式Barracuda。眾多測試也表明&#xff0c;Plugin在很多方面優于Bu…

Hibernate的數據過濾查詢

數據過濾并不是一種常規的數據查詢方法&#xff0c;而是一種整體的篩選方法。數據過濾也可對數據進行篩選&#xff0c;因此&#xff0c;將其放在Hibernate的數據查詢框架中介紹。 如果一旦啟用了數據過濾器&#xff0c;則不管數據查詢&#xff0c;還是數據加載&#xff0c;該過…

若川知乎高贊:有哪些必看的 JS 庫?

歡迎星標我的公眾號&#xff0c;回復加群&#xff0c;長期交流學習我的知乎回答目前2w閱讀量&#xff0c;270贊&#xff0c;現在發到公眾號聲明原創。必看的js庫&#xff1f;只有當前階段值不值看。我從去年7月起看一些前端庫的源碼&#xff0c;歷時一年才寫了八篇《學習源碼整…

python用for循環求10的因數_python for循環練習(初級)

for循環練習1for i in range(4):print(i)D:\尚硅谷Python\venv\Scripts\python.exe D:/尚硅谷Python/test.py0123for循環練習2for x in range(1,40,5): #間隔5print(x)D:\尚硅谷Python\venv\Scripts\python.exe D:/尚硅谷Python/test.py16111621263136打印99乘法表for i in ran…

基于EasyUI的Web應用程序及過去一年的總結

前言 一個多月之前已經提交了離職申請&#xff0c;好在領導都已經批準了&#xff0c;過幾天就辦理手續了&#xff0c;在此感謝領導的栽培與挽留&#xff0c;感謝各位同事在工作中的給我的幫助&#xff0c;離開這個團隊確實有一些不舍&#xff0c;不為別的&#xff0c;只因為這個…

MySQL外鍵創建失敗1005原因總結

1、安裝mysql有InnoDB的插件擴展 ./configure --prefix/usr/local/mysql --with-pluginscsv,innobase,myisam,heap,innodb_plugin 2、找不到主表中 引用的列 3、主鍵和外鍵的字符編碼不一致 4、外鍵字段與要做外鍵校驗的字段類型不匹配 5、MySQL支持外鍵約束&#xff0c;并…

Hibernate的事件機制

4.8 事 件 機 制 通常&#xff0c;Hibernate執行持久化過程中&#xff0c;應用程序無法參與其中。所有的數據持久化操作&#xff0c;對用戶都是透明的&#xff0c;用戶無法插入自己的動作。 通過事件框架&#xff0c;Hibernate允許應用程序能響應特定的內部事件&#xff0c;從而…

快速使用Vue3最新的15個常用API

之前我寫了一篇博客介紹了Vue3的新特性&#xff0c;簡單了解了一下Vue3都有哪些特色&#xff0c;并且在文末帶大家稍微體驗了一下Vue3中 Compsition API 的簡單使用上一篇文章地址&#xff1a;緊跟尤大的腳步提前體驗Vue3新特性&#xff0c;你不會還沒了解過Vue3吧因為這個月的…

超級馬里奧代碼_任天堂的源碼泄露,揭示超級馬里奧的前世之生

被黑客盯上的任天堂任天堂遭到了史上最大規模的黑客攻擊&#xff0c;Wii 完整源碼、設計以及《寶可夢》多部作品的信息遭到泄露&#xff0c;而此次泄露事件的后續影響似乎也爆發了出來。《馬里奧賽車》和《超級馬里奧世界2》(耀西島)的早期原型視頻&#xff0c;以及《超級馬里奧…

行者寂寞

公元2009年7月20日。閏五月廿八。炎日&#xff0c;汗如雨。晨行。病臥于京西客站。是夜&#xff0c;不能寐。 公元2009年7月21日。閏五月廿九。戲于清華&#xff0c;游于星巴克。汗如雨。是夜&#xff0c;困于京國際機場5小時。 公元2009年7月22日。六月初一。晨時抵寧。大雨。…