最近把開發環境從 WebStorm 遷移到了世界上最好的編輯器 VSCode,由於須要常常開啓多個項目,CPU 和內存都爆了只能棄坑。使用過一段時間 vsc 發現裏面自帶插件庫有個叫作 vscodevim 的插件特別有意思。它使用了一些詭異的鍵位和模式,和普通編輯體驗差異很大,可是一看評價這麼高,下載量這麼大,我一度懷疑本身。看來你們都很承認這個插件,堅持使用了一段時間,發現這些詭異的鍵位用起來是真的特別爽,顛覆了我對文本編輯體驗的認知。接下來我要開始安利了!git
要學會使用 vim 首先要弄清楚它和其餘編輯器最大的區別之一就是它擁有多個模式,而其餘大部分編輯器就只有編輯模式,直接就能插入修改刪除,做爲一篇安利入門性質文章,咱們須要知道 vim 中最重要的四種模式。github
:wq
退出 vim。vim 不止這四種模式,可是這幾種是比較經常使用到的,更多模式能夠看 vim 文檔。json
vim 對文本進行了抽象,句子由單詞組成,段落由句子組成,文章由段落組成,如一個單詞就是一個 text-object,它配合 operator 能夠進行一些很是高效的操做。常見文本對象的類型:vim
若是結合下面要提到的 operator 就能夠組合成一個指令如:daw(delete a word) 便可刪除當前光標下的單詞。bash
vim 中使用一些 motion 能夠快速的來移動光標,如:app
一個 vim 命令能夠由 operator、number、motion 組成,咱們先看 operator,它指的是一些操做如:編輯器
如今結合 operator / motion / number:函數
在 vim 中有一個逆天的插件 vim-surround 如今 vscodevim 中集成了它。它能夠很方便的來處理環繞文本,在代碼中總會有一些 (){}[]<>''""
符號,這個插件能很方便的處理它們。在 normal 模式下:spa
# cs"' 將雙引號變成單引號 "hello world" -> 'hello world' # cs"<p> 把雙引號變成 p 標籤 "hello world" -> <p>hello world</p> # ds" 刪掉兩側雙引號 "hello world" -> hello world # ysaw' 給 hello 加上單引號 "hello world" -> "'hello' world"
更多使用能夠查看 https://github.com/tpope/vim-...。插件
附上一張 vim 鍵位圖,vim 開始適應須要一段時間,當造成肌肉記憶了用起來就很爽了。
VSCode 若是在 vi 的 insert 模式下使用了中文輸入法,當回到 normal 模式的時候將會仍是中文輸入法,而後你使用 JKLH 的時候出現一堆拼音這樣顯然是很噁心的,被迫還要手動切回英文輸入法,這裏 VSCodeVim 其實已經提供解決方案那就是在切回 normal 模式的時候自動去切換輸入法。詳細能夠看 https://github.com/VSCodeVim/...。
解決方案就是首先咱們安裝 im-select 這個 CLI,而後在 VSCode 添加如下設置:
{ "vim.autoSwitchInputMethod.enable": true, "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US", "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select", "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}" }
你的默認輸入法不必定是 com.apple.keylayout.US
可使用上面的 im-select 進行獲取,而後替換成你想要設置的 defaultIM。以上是 macOS 的設置,其餘平臺能夠參考上面 VSCodeVim 的官方文檔。這樣每次回到 normal 模式咱們就會自動切回英文輸入法。
VSCode 自帶了一些快捷鍵也是很好用的。
做用 | 快捷鍵 |
---|---|
符號重命名,重命名變量頗有用,文件中所有自動替換 | F2 |
從新打開被關閉的編輯頁面 | cmd+ shift + t |
打開 terminal | ctrl + ` |
刪除前一個單詞(在 vsc 其餘地方也是能用的) | option + delete |
上下移動選中行 | option + 上下箭頭 |
多行編輯 | 按住 option 單擊須要編輯的位置 |
切換 Tab 組 | ctrl + cmd + 左右箭頭 |
搜索符號 | cmd + t |
搜索文件 | cmd + p |
搜索命令 | cmd + shift + p |
切換左側面板 | cmd + b |
打開文件管理 | cmd + shift + e |
文件搜索面板 | cmd + shift + f |
擴展搜索面板 | cmd + shift + x |
在當前位置展現光標所在處變量、函數定義 | cmd + 鼠標移動到光標處 |
跳轉到定義處 | F12 |
複製當前打開文件的存放路徑 | cmd + k + p |
新建文件 | cmd + n |
打開新的 vsc 實例 | cmd + shift + n |
原文地址 https://github.com/Jiavan/blo...