mac工做軟件推薦-iterm + zsh + tmux

原文連接: http://ju.outofmemory.cn/entry/57244git

 

tmux安裝http://www.javashuo.com/article/p-ytolfbko-mh.htmlgithub

 

mac上的Terminal + bash + screen組合如今已經很是好用了,可是仍是經不起iterm+zsh+tmux的衝擊。在同事的強烈推薦下,趁着升級mac系統的機會,順便也切換到iterm+zsh+tmux的環境下了。shell

我爲何要要iterm2vim

切換過來也是腦殼一熱的衝動,我也調查過一些資料,看了下iterm的一些優勢:緩存

* 兼容性好,遠程服務器 vi 什麼的低版本能很好兼容,Terminal 則會出問題  (我是長時間在服務器上混的人,但其實並無這種感受~~) 
* 支持 xterm-256 色,方便在終端中配置 vim/emacs 代碼配色  (其實Terminal如今已經支持256色了) 
* 快捷鍵豐富,自帶/本身定義都很方便      (這個是關鍵,快捷鍵都我很是重要) 
* 分屏簡單方便,能夠根據本身須要同時搭配上 tmux,大屏用起來爽到爆  (分屏只須要 command +(shift)+ d)bash

我的經常使用的快捷鍵和功能:服務器

1. ⌘ + 數字         : 各 tab 標籤切換 
2. ⌘ + f              : 查找 ,所查找的內容會被自動複製 ,輸入查找的部分字符,找到匹配的值按tab,便可複製 
3. ⌘ + d             : 橫着分屏 
4. ⌘ + shift + d  : 豎着分屏 
5. ⌘ + r = clear  : 換到新一屏,而不是 相似clear ,會建立一個空屏 
6. ctrl + u            :清空當前行,不管光標在什麼位置 
7. (**) + ⌘ + ;     : [(**) 輸入的命令開頭字符],會自動列出輸入過的命令 
8. ⌘ + shift + h  : 會列出剪切板歷史 
9. ⌘← / ⌘→       :   到一行命令最左邊/最右邊 
10. ⌘ + enter        :   全屏框架

爲何要選擇zsh?

至少在我看來,zsh是兼容bash,對現有的操做是沒有任何的影響。並且還帶來來很多新的特性來減小咱們的輸入:curl

1. 連續tab,給出全部的補全列表並直接進入到選擇列表   cd <tab><tab> 
2. 不記得命令的參數?不要緊,輸入命令直接tab給出就能給出參數說明,zsh後還用得着man函數嗎??? tar – <tab> 
3. kill進程,還須要先查進程嗎?用zsh,只需tab就能把全部進程展現給你,很強大的一個功能。 kill  <tab> 
4. 智能查找歷史命令,在用<ctrl-p>或者方向上鍵查找歷史命令時,zsh支持限制查找。好比,輸入ls 而後再按方向上鍵,則只會查找用過的ls命令。 
5. 多個終端會話共享歷史記錄。多個窗口,tab,tmux。全部的命令歷史均可以共享。 
6. zsh還支持後綴alias,即以什麼命令打開特定的後綴名文件。例如alias -s js=mvim,輸入hello.js,會以vim打開該文件,而不在須要vim hello.js。 
7. 遞歸搜索,ll  **/*.log,find命令大部分場景被取代了。函數

至於安裝和配置zsh,得感謝robbyrussell開發得oh-my-zsh,這玩意就是一個開源的zsh配置管理框架,提供了大量實用的功能,主題等。

使用brew來安裝zsh

brew install zsh

設置zsh爲默認,在/etc/shells文件末尾添加

/usr/local/bin/zsh

執行:

chsh -s /usr/local/bin/zsh

最後記得將~/.bash_prorile或者~/.profile等配置拷貝到~/.zshrc中。

安裝oh-my-zsh

自動安裝:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

能夠選擇本身喜歡的主題。只須要修改~/.zshrc文件中的ZSH_THEME便可。

爲何要選擇tmux

1. 掉線仍然能保證工做現場

2.  tmux徹底使用鍵盤控制窗口,實現窗口的切換

固然還有其它不少得優勢,暫時我沒還用上,對我而已,跟風瞭解下而已。安裝也很是得簡單:

brew install tmux

蒐集到得一些快捷鍵:

Ctrl+b  // 激活控制檯;此時如下按鍵生效 系統操做 ?   // 列出全部快捷鍵;按q返回 d   // 脫離當前會話;這樣能夠暫時返回Shell界面,輸入tmux attach可以從新進入以前的會話 D   // 選擇要脫離的會話;在同時開啓了多個會話時使用 Ctrl+z  // 掛起當前會話 r   // 強制重繪未脫離的會話 s   // 選擇並切換會話;在同時開啓了多個會話時使用 :   // 進入命令行模式;此時能夠輸入支持的命令,例如kill-server能夠關閉服務器 [   // 進入複製模式;此時的操做與vi/emacs相同,按q/Esc退出 ~   // 列出提示信息緩存;其中包含了以前tmux返回的各類提示信息 窗口操做 c   // 建立新窗口 &   // 關閉當前窗口 數字鍵 // 切換至指定窗口 p   // 切換至上一窗口 n   // 切換至下一窗口 l   // 在先後兩個窗口間互相切換 w   // 經過窗口列表切換窗口 ,   // 重命名當前窗口;這樣便於識別 .   // 修改當前窗口編號;至關於窗口從新排序 f   // 在全部窗口中查找指定文本 面板操做 」   // 將當前面板平分爲上下兩塊 %   // 將當前面板平分爲左右兩塊 x   // 關閉當前面板 !   // 將當前面板置於新窗口;即新建一個窗口,其中僅包含當前面板 Ctrl+方向鍵    // 以1個單元格爲單位移動邊緣以調整當前面板大小 Alt+方向鍵 // 以5個單元格爲單位移動邊緣以調整當前面板大小 Space   // 在預置的面板佈局中循環切換;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled q   // 顯示面板編號 o   // 在當前窗口中選擇下一面板 方向鍵 // 移動光標以選擇面板 {   // 向前置換當前面板 }   // 向後置換當前面板 Alt+o   // 逆時針旋轉當前窗口的面板 Ctrl+o  // 順時針旋轉當前窗口的面板

相關文章
相關標籤/搜索