程序員高效技巧系列 -- 徹底脫離鼠標的終端

本文將介紹如何在tmux窗口管理環境下,不依賴鼠標只經過鍵盤完成一些經常使用操做linux

 

前言程序員

終端(Terminal)不管是程序員仍是運維都是Linux平臺工做者不可避免的工做環境。如何利用一些神奇的技巧來提升終端的操做效率,無疑會幫助咱們省下更多的時間來用於思考。本文將會介紹一些基於tmux終端窗口管理環境下的一些奇巧淫技,來幫助你們徹底脫離鼠標工做。若是你尚未據說過tmux或者用過tmux的話,花5分鐘時間跟着博主上一篇入門文章瞭解安裝下tmux你會發現本身的終端也能夠像電影裏拍的那麼炫。vim

 

複製黏貼運維

不得不認可不管是開發仍是運維,最經常使用的一個操做之一就是Ctrl+v和Ctrl+c。在終端下也不可避免的有這樣的使用場景:編輯器

程序運行後打印出了一個Exception,想快速的用grep在代碼目錄中搜索下這個exception看看是哪裏引發的spa

程序打印出了一大段日誌,想發給同事看下結果等等操作系統

這些狀況下想必你們的第一反應是拿起鼠標,選中之後用快捷鍵複製黏貼,而後手再放回鍵盤。稍微高效些的做法是配置終端選中後自動複製,免去了一次Ctrl+c的操做。可是手臂的運動永遠比手指運動要低效,用鼠標選中複製的方法顯然不夠Hack。何況tmux下,想要選中單個Pane中的文字也是很是蛋疼的。由於不是原生窗體,因此鼠標點擊的選中是會橫向跨越窗體的(見下圖粉色部分)。(注:固然你能夠用摁住+alt再用鼠標複製,壞處就是你須要手動刪除換行先後的空格)。.net

copy_crap日誌

好在tmux的一個重要特性就是支持把整個窗體視做是一個編輯器。換句話說,tmux能夠把以前的全部輸出都當作是一個文本文檔進行選擇。再換句話說tmux能夠進入一種和vim的Visual模式同樣操做體驗的字符選擇模式。若是你的tmux是和博主上一篇入門文章中同樣的配置話,無需額外操做就能夠進行如下操做。若是沒有進行過個性化配置的話,須要將如下部分加到~/.tmux.conf中。視頻

set-window-option -g mode-keys vi

bind-key -t vi-copy 'v' begin-selection

bind-key -t vi-copy 'y' copy-selection

配置完了vi-mode之後,咱們就能夠經過如下方式進行選擇複製黏貼:

CTRL+b + [的方式進入選擇模式。

而後點擊v鍵進入vi-mode選擇模式。

VIM的移動命令進行選擇。也可使用CTRL+b + :list-keys -t vi-copy查看快捷鍵列表

選擇完畢後用y複製到tmux剪貼板。或者ESC退出選擇

最後經過CTRL+b而後]複製到光標所在位置。

 

更快的快捷鍵 – 省去prefix

瞭解screen或者tmux的讀者都知道,要進入這二者的操做模式都須要先使用prefix觸發。在screen中是CTRL+a在tmux中是CTRL+b。這也就覺得着我若是要新建一個窗體就要CTRL+b + c 至關於兩次鍵盤操做才能完成。而一些操做系統原生窗體軟件,例如ITerm2就只須要+n一次鍵盤操做就能完成。相比之下tmux就顯得低效不少。這時有些讀者就說了,iTerm2 深度tmux集成啊,你爲何不用。我不用的理由有如下幾個:

經過-CC觸發的iTerm2內置tmux時,會額外fork出一個窗口。(即便能夠配置自動隱藏,也是很是惱人的)

iTerm2內置tmux沒法作窗體命名

iTerm2和tmux相關的快捷鍵沒法自定義

綜合之下博主決定用其餘方式解決tmux快捷鍵繁瑣的問題。此時,我發現iTerm2容許把快捷鍵映射成Hex Code傳輸給窗體。而tmux的那些快捷鍵無非就是一串Hex Code的結合。經過查閱 ASCII和鍵盤對應表 咱們發現CTRL b對應的Hex Code是0x02,以後的配置就顯得很是簡單了。下面是個人一些快捷鍵配置清單和截圖:

tmux快捷鍵    映射後快捷鍵   Hex Code       功能

CTRL+B l +l    0x02 0x6C      選擇右面窗體

CTRL+B k       +k   0x02 0x6B      選擇上方窗體

CTRL+B j +j    0x02 0x6A      選擇下方窗體

CTRL+B h       +h   0x02 0x68       選擇左面窗體

CTRL+B L       +L   0x02 0x4C      向右增大窗體大小

CTRL+B H      +H   0x02 0x48       向右增大窗體大小

因爲快捷鍵較多,且你們的tmux配置都不同這裏就不一一列舉。讀者能夠經過查閱ascii十六進制轉換表自行配置。

其餘高效Tips

除了純鍵盤操做和更精簡的快捷鍵以外,tmux還有不少黑魔法可以提高平常操做的工做效率。你們能夠深刻研究。

免費領取兄弟連IT教育原創linux運維工程師視頻/細說linux教程,詳情諮詢官網客服:http://www.lampbrother.net/linux/

學PHP、Linux、HTML五、UI、Android等視頻教程(課件+筆記+視頻)!聯繫Q2430675018

相關文章
相關標籤/搜索