你上一次使用 CAPSLOCK 鍵是什麼時候?很久沒有了對不對?噢,我也是,它已經被遺忘了,它浪費了鍵盤上一個黃金位置。讓我們把它重映射成 Control 鍵來發揮它的作用吧!這裡告訴了你在不同的操作系統上的具體操作。
現在你可以保持標准鍵位手勢,隨意的敲擊到 a
鍵左邊的 crtl
了。
許多人都知道可以使用箭頭鍵來都調用上一個歷史命令,但相對的,很少有人知道可以使用 ctrl-r
來迅速完成歷史命令的調用。
一旦找到相應的命令,可以通過回車來執行,或者在執行前對命令進行修改,這很容易會養成習慣,特別是在你把 CAPSLOCK 鍵重映射以後。
iTerm 不是必須要用的高效工具,但絕對能提升效率。它有如下特性:
我還不知道有哪個人換到 iTerm 以後還願意換回來的。上吧。
大部分人會像我以前一樣是用 Bash 的人,看了 Zsh 的優點之後,絕大多數人就會對它贊不絕口並且再也不願意用 Bash 了。它的特性如下:
ve/pl/re --> vendor/plugins/redmine
$PATH --> /your/full/path
/pbulic/html
變 /public/html
最後一條是決定性的,ohmyzsh包含大量插件(包括 rails、git、OS X、brew 等等),有超過80個終端主題和自動更新。ohmyzsh通過這些來讓 shell 用起來很爽。更詳細請查看這。
vim 有多個模式並不是什麼大問題,但在模式間切換的時候會感覺很糟。ESC 鍵有點遠,這太麻煩了。當我面對新的 vim 環境時,所做的第一件事就是添加如下映射
inoremap jj <ESC>
如果你不熟悉 leader 鍵,也不知道它能為你做什麼,那你就從這開始了解吧。它本質上是作為你快捷鍵的激活鍵,你可以自定義用哪個鍵作為你的 leader 鍵。所以,你可以:
nnoremap j VipJ
這可以讓你按下 leader 鍵結合大寫 ‘j’ 後可視化的選擇整段並加入行。我個人用 ‘,’ 鍵作為我的leader鍵,這樣我可以用 ‘,’ 激活我所有的快捷鍵,然後通過 ‘jj’ 退出插入模式。你可以在 .vimrc
中像這樣映射:
let mapleader = “,”
無論是 zsh 還是 bash 你都會想盡可能的使用同樣的肌肉記憶,如果你是 vim 用戶,這意味著你應該把你的 shell 從 Emacs模式(默認)切換到 vi 模式
這意味著你可以用 vim 的方式編輯你的 shell 命令行:
b
返回上一個單詞dd
刪除整行0, $
移動到行末
你可以通過添加下面這行代碼到 .zshrc
或 .bashrc
文件來實現這一切:
bindkey -v
你也可以像 vim 一樣映射你的 escape 鍵:
bindkey -M viins ‘jj’ vi-cmd-mode
另一個好處是可以通過j、k
來自然的浏覽歷史記錄。還可以在你的.zshrc
文件中通過下面的代碼添加ctrl-r
的功能。
tmux是一個終端復用器,它允許你連接和管理多個服務器端會話。在tmux
中可以啟動並連接對話,還可以斷開,然後在不同的時間地點再次連接。
你也許熟悉類似的解決方案,GNU Screen,但比起 screen,tmux
有如下優勢:
如果你用不上終端復用功能,也可以是嘗試一下 tmux,你會獲益的。[ 更新: 這有 tumx 的最全啟蒙書。]
好了,在你的 MBP 能體驗到酷炫的 shell 和 vim 了,但一旦你都 SSH 到你的 Linux 上,就會感覺完全不同,這太令人惱火了。還好,可以通過同步來處理這個問題。