打造高效個性Terminal(二)之 zsh

歡迎來我的博客閱讀:
「打造高效個性Terminal(一)之 iTerm」
「打造高效個性Terminal(二)之 zsh」

oh-my-zsh

如果說iTerm塑造了一個婀娜多姿顏值高的貌美姑娘斗蒋,那么zsh就是給她塑造了一個柔情俠骨百事通的女漢子之心笛质。

簡介 <small>Introduction</small>

對于zsh的作用妇押,摘自池建強(qiáng)老師的一段:

目前常用的 Linux 系統(tǒng)和 OS X 系統(tǒng)的默認(rèn) Shell 都是 bash敲霍,但是真正強(qiáng)大的 Shell 是深藏不露的 zsh肩杈, 這貨絕對是馬車中的跑車解寝,跑車中的飛行車,史「終極 Shell」夫偶,但是由于配置過于復(fù)雜兵拢,所以初期無人問津卵佛,很多人跑過來看看 zsh 的配置指南敞斋,什么都不說轉(zhuǎn)身就走了。直到有一天衙解,國外有個窮極無聊的程序員開發(fā)出了一個能夠讓你快速上手的zsh項目蚓峦,叫做「oh my zsh」济锄,Github 網(wǎng)址是:https://github.com/robbyrussell/oh-my-zsh荐绝。

oh-my-zsh 是一個社區(qū)驅(qū)動用于管理zsh的框架,囊括了140多個主題召夹,200多個可選插件(如rails, git, OSX, hub, brew, ant, php, python etc.)。

安裝 <small>Installation</small>

via curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

via wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

配置 <small>Configuration</small>

zsh的配置主要集中在用戶當(dāng)前目錄的.zshrc里纱意,用vim或者你喜歡的其他編輯器打開這個文件偷霉,在里面可以修改主題腾它、插件以及定義自己的環(huán)境變量等操作死讹。

主題 <small>Themes</small>

用vim打開~/.zshrc中赞警,可以看到這樣配置

...
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="robbyrussell"
...

修改ZSH_THEME的值就可以更換主題愧旦。

默認(rèn)的主題是robbyrussell笤虫,這個并不是最精彩祖凫,也并不是最簡單的一個,只是對于其作者Robby來說最適合的一個遭庶。

可以通過訪問~/.oh-my-zsh/themes/目錄查看哪些可選的主題

$ tree themes
themes
├── 3den.zsh-theme
├── Soliah.zsh-theme
├── adben.zsh-theme
├── af-magic.zsh-theme
├── afowler.zsh-theme
├── agnoster.zsh-theme
...
0 directories, 141 files

更多關(guān)于各個主題的詳細(xì)介紹見 zsh themes峦睡,另外還有不少并不是自帶的主題榨了,見more external themes

Powerline Fonts

如果你查看過zsh的主題列表的話攘蔽,你會發(fā)現(xiàn)不少主題會有這樣的樣式秩彤,

然而,當(dāng)你選擇了這樣的主題瓜富,會發(fā)現(xiàn)實際是這樣的

因為与柑,這些主題都依賴于一種字體powerline fontspowerline fonts是vim增強(qiáng)組件vim powerline附屬的字體丑念,如果要使用依賴這種字體的主題脯倚,要在系統(tǒng)中安裝該字體嵌屎。

安裝 powerline fonts

// 下載powerline fonts項目
git clone https://github.com/powerline/fonts
// 執(zhí)行安裝
./fonts/install.sh

配置iTerm

Preperence → Profiles → Text → Front 中宝惰,
Preperence → Profiles → Text → Non-ASCII Font
改變字體為Sauce Code Powerline

改變字體

插件 <small>Plugins</small>

用vim打開~/.zshrc中尼夺,可以看到這樣配置

...
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
...

修改plugins的值就可以修改或添加插件淤堵。

下面介紹幾款我常用的插件

autojump

A cd command that learns - easily navigate directories from the command line

一款快捷跳轉(zhuǎn)目標(biāo)路徑的插件,支持模糊匹配竞端,自動補(bǔ)全事富,歷史記錄等功能乘陪。

autojump

dirhistory

This plugin allows you to navigate the history of previous current-working-directories using ALT-LEFT and ALT-RIGHT. ALT-LEFT moves back to directories that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT.

一款支持目錄的上翻啡邑,下翻功能的插件。

dirhistory

osx

This plugin provides a few utilities to make it more enjoyable on OSX.

一款增加了一些在OSX上實用的命令插件仇穗。

Command Description
tab Open the current directory in a new tab
ofd Open the current directory in a Finder window
pfd Return the path of the frontmost Finder window
pfs Return the current Finder selection
cdf cd to the current Finder directory
pushdf pushd to the current Finder directory
quick-look Quick-Look a specified file
man-preview Open a specified man page in Preview app

git

The git plugin provides many aliases and a few useful functions.

一款提供git別名命令以及一些方法命令的插件

git-extras

一款擴(kuò)展了不少方便快捷git命令的插件

More Plugins

更多的插件介紹見 zsh plugins

vi(vim) 基礎(chǔ)

使用命令行的時候,難免會遇到要編輯文檔的時刻舞丛,盡管不是vim黨,但是如果掌握vim的基本操作谷誓,對效率還是有大大提升的捍歪。

vi與vim的關(guān)系

簡單來說怀骤,vi是老師的文字處理器,不過功能已經(jīng)很齊全了,但是還是有可以進(jìn)步的地方焚鹊。vim則可以說是程序開發(fā)者的一項很好用的工具,就連vim的官方網(wǎng)站(http://www.vim.org/)自己也說vim是一個「程序開發(fā)工具」而不是文字處理軟件研叫。

三種模式

基本上vi中共分為3種模式嚷炉,分別是「一般模式」探橱,「編輯模式」與「命令行模式」

  • 一般模式
    以vi打開一個文件,默認(rèn)就是一般模式哗讥,這個模式中胞枕,可以按下i來進(jìn)入編輯模式,按下ESC則退出編輯模式回到一般模式决乎。在這個模式中可以刪除字符构诚、刪除行、復(fù)制凳寺、黏貼彤侍。

  • 編輯模式
    編輯模式能真正的編輯文本。

  • 命令模式
    在一般模式中晒奕,輸入:,/,?中的一個可以進(jìn)入命令行模式名斟,進(jìn)行諸如數(shù)據(jù)查找操作砰盐,讀取、保存囊骤、離開vi等等操作冀值。

常用操作

掌握下面的十一個命令,就足夠你在vim中生存了滑蚯。

移動光標(biāo)

  • hjkl : 你也可以使用光標(biāo)鍵 (←↓↑→). 注: j 就像下箭頭告材。

行操作

  • dd : 刪除當(dāng)前行竭讳,并把刪除的行存到剪貼板里
  • yy : 復(fù)制當(dāng)前行。
  • p : 黏貼剪貼板

保存退出

  • :w : 保存已編輯的文集
  • :q : 退出編輯
  • :wq : 保存并退出
  • :help : 顯示相關(guān)命令的幫助(退出幫助需要輸入:q)

搜索

  • /word : 向下尋找一個名為word的字符串
  • ?word : 向上尋找一個名為word的字符串
  • n : 重復(fù)前一個查找的操作

文末福利灿渴,安撫你的強(qiáng)迫癥

感謝你能耐心的看到這里,給你安利一個強(qiáng)迫癥患者福音的窗口控制工具:Spectacle

Spectacle能通過快捷鍵蹬挤,很輕易的排列好窗口的大小棘幸。

Spectacle

參考

http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively
https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
http://www.vim.org/
http://macshuo.com/?p=676
http://swiftcafe.io/2015/07/25/iterm/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吨悍,一起剝皮案震驚了整個濱河市育瓜,隨后出現(xiàn)的幾起案子栽烂,更是在濱河造成了極大的恐慌,老刑警劉巖腺办,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怀喉,死亡現(xiàn)場離奇詭異,居然都是意外死亡驻子,警方通過查閱死者的電腦和手機(jī)估灿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門馅袁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汗销,“玉大人抵窒,你說我怎么就攤上這事∠髯拢” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵慰丛,是天一觀的道長诅病。 經(jīng)常有香客問我粥烁,道長,這世上最難降的妖魔是什么芥永? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任恤左,我火速辦了婚禮搀绣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘链患。我一直安慰自己麻捻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布郑叠。 她就那樣靜靜地躺著乡革,像睡著了一般摊腋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上视粮,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天蕾殴,我揣著相機(jī)與錄音,去河邊找鬼区宇。 笑死,一個胖子當(dāng)著我的面吹牛炉爆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芬首,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼郁稍,長吁一口氣:“原來是場噩夢啊……” “哼耀怜!你這毒婦竟也來了桐愉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤左痢,失蹤者是張志新(化名)和其女友劉穎系洛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體定页,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拯勉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了岔帽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡屎飘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出钦购,到底是詐尸還是另有隱情,我是刑警寧澤葵萎,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布唱凯,位于F島的核電站,受9級特大地震影響卷雕,放射性物質(zhì)發(fā)生泄漏票从。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一浸间、第九天 我趴在偏房一處隱蔽的房頂上張望发框。 院中可真熱鬧煤墙,春花似錦、人聲如沸铣减。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劣针。三九已至亿扁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間从祝,已是汗流浹背引谜。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工员咽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贝室,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓档玻,卻偏偏與公主長得像茫藏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凉当,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容