歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> 提高Vim和Shell效率的9個建議

提高Vim和Shell效率的9個建議

日期:2017/2/27 15:48:04   编辑:SHELL編程

1. 重映射 CAPSLOCK 鍵

你上一次使用 CAPSLOCK 鍵是什麼時候?很久沒有了對不對?噢,我也是,它已經被遺忘了,它浪費了鍵盤上一個黃金位置。讓我們把它重映射成 Control 鍵來發揮它的作用吧!這裡告訴了你在不同的操作系統上的具體操作。

現在你可以保持標准鍵位手勢,隨意的敲擊到 a鍵左邊的 crtl 了。

2. 使用 ctrl-r 來搜索和自動重做歷史命令

許多人都知道可以使用箭頭鍵來都調用上一個歷史命令,但相對的,很少有人知道可以使用 ctrl-r 來迅速完成歷史命令的調用。

一旦找到相應的命令,可以通過回車來執行,或者在執行前對命令進行修改,這很容易會養成習慣,特別是在你把 CAPSLOCK 鍵重映射以後。

3. 使用 OS X 系統的 iTerm

iTerm 不是必須要用的高效工具,但絕對能提升效率。它有如下特性:

  • 屏幕分割
  • 選中即復制
  • 剪切歷史
  • 全屏切換
  • 系統熱鍵
  • Exposé 所有 Tab
  • 保存當前快照

我還不知道有哪個人換到 iTerm 以後還願意換回來的。上吧。

4. 把 Zsh 作為 Shell

大部分人會像我以前一樣是用 Bash 的人,看了 Zsh 的優點之後,絕大多數人就會對它贊不絕口並且再也不願意用 Bash 了。它的特性如下:

  • 目錄補全:ve/pl/re --> vendor/plugins/redmine
  • 環境變量展開:$PATH --> /your/full/path
  • 智能修正:/pbulic/html/public/html
  • 拼寫修正
  • 命令歷史共享
  • 行編輯高亮模式
  • 完美兼容 Bash 大部分配置
  • 運行/bin/sh的時候可以媲美Bash
  • 支持vim模式
  • OhMyZsh支持

最後一條是決定性的,ohmyzsh包含大量插件(包括 rails、git、OS X、brew 等等),有超過80個終端主題和自動更新。ohmyzsh通過這些來讓 shell 用起來很爽。更詳細請查看這。

5. 重映射 vim 的 ESCAPE 鍵

vim 有多個模式並不是什麼大問題,但在模式間切換的時候會感覺很糟。ESC 鍵有點遠,這太麻煩了。當我面對新的 vim 環境時,所做的第一件事就是添加如下映射

inoremap jj <ESC>

6. 重映射 Vim 的 Leader 鍵

如果你不熟悉 leader 鍵,也不知道它能為你做什麼,那你就從這開始了解吧。它本質上是作為你快捷鍵的激活鍵,你可以自定義用哪個鍵作為你的 leader 鍵。所以,你可以:

nnoremap j VipJ

這可以讓你按下 leader 鍵結合大寫 ‘j’ 後可視化的選擇整段並加入行。我個人用 ‘,’ 鍵作為我的leader鍵,這樣我可以用 ‘,’ 激活我所有的快捷鍵,然後通過 ‘jj’ 退出插入模式。你可以在 .vimrc中像這樣映射:

let mapleader = “,”

7. 在 Shell 中使用 vi 模式

無論是 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的功能。

8. 把tmux加入工作流程

tmux是一個終端復用器,它允許你連接和管理多個服務器端會話。在tmux中可以啟動並連接對話,還可以斷開,然後在不同的時間地點再次連接。

你也許熟悉類似的解決方案,GNU Screen,但比起 screen,tmux 有如下優勢:

  • screen 是一個又大又重的項目,並且它的編碼中有許多問題
  • tmux 是一個輕便的項目,有現代的、高效的代碼庫
  • tmux 是一個完整的客戶端服務器項目,而 screen 是屏幕仿真軟件
  • tmux 支持 vim 和 emacs 的鍵盤布局
  • tmux 支持運行時自動重命名窗口
  • tmux 能很方便的通過 shell 實現腳本化
  • tmux 自帶垂直分屏功能,而 screen 裡屏幕被固定死了

如果你用不上終端復用功能,也可以是嘗試一下 tmux,你會獲益的。[ 更新: 這有 tumx 的最全啟蒙書。]

9. 同步工作環境

好了,在你的 MBP 能體驗到酷炫的 shell 和 vim 了,但一旦你都 SSH 到你的 Linux 上,就會感覺完全不同,這太令人惱火了。還好,可以通過同步來處理這個問題。

  1. 在 git 上為你的配置文件創建一個倉庫,例如:Bash、Zsh、Vim 等等。記得保持更新。
  2. 在你所用的每個系統上都克隆一份(配置文件)到對應系統的目錄下。
  3. 有評論說也可以用 Dropbox 來同步,似乎很棒,但我不確定在 Headless(Headless指沒有顯示器、鍵盤、鼠標等設備)的 Linux 服務器上工作效果如何。
譯文:http://blog.jobbole.com/86809/
Copyright © Linux教程網 All Rights Reserved