VS Code 擴充功能推薦 Vim
分類
介紹
Vim 是傳統的純文字編輯器,存在的歷史悠久,在快捷鍵上做了許多優化,基本上可以只靠鍵盤完成所有工作,還有許多指令可以減少按鍵點擊的次數,如果想用 VS Code 又想使用 Vim 的操作方式,就可以安裝 Vim 擴充功能實現。
為何不直接使用 Vim 編輯器
不直接使用 Vim 的原因有以下幾點
- VS Code 有比較好的圖形使用者介面
- VS Code 有豐富的擴充功能
- VS Code 安裝擴充功能較容易,在我以往的經驗,安裝 Vim 擴充功能,有些比較複雜。
安裝
在 Visual Studio Code Extensions 安裝 Vim 後就可使用
專屬 VS Code Vim 的快捷鍵
下列分享的內容都是專屬 VS Code Vim,關於 Vim 的操作,可以參考 Enjoy 軟體官網 Vim 的相關文章
切換模式
插入模式
命令 | 動作 |
---|---|
⌘c |
回到普通模式 |
在瀏覽器瀏覽
原本上下左右鍵,可以用 HJKL 替代。
- H: 摺疊資料夾
- J: 往下
- K: 往上
- L: 展開資料夾,或開啟檔案
好用的設定
這個設定類似在 vim 設定 .vimrc
settings.json
{
// 使用 easymotion 外掛
"vim.easymotion": true,
// 高亮顯示搜尋匹配
"vim.hlsearch": true,
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["<leader>", "%"],
"commands": [
{
// 移動到相對 html tag
"command": "editor.emmet.action.matchTag"
}
]
}
],
// y 複製一併複製到剪貼簿
"vim.useSystemClipboard": true
}
easymotion
這是一種標籤式移動方式,例如當你想往下移動,並且懶得想的時候,你會一直按 j 直到你要的行數,但是當你使用 easymotion,使用 <leader><leader> j
指令,easymotion 會在每一行的開頭都寫上一個標籤,可能是 a, b, c, d, e 或其他的,你只要輸入標籤就可以移動到標籤位置,
在古代就有人運用快速移動的方式在按摩上,只差在 easymotion 是直接在目的地下標籤,這樣更直觀並且可以設定更多位置。
關於 easymotion 文件可以參考這裡。
最主要的是操作語法
動作指令 | 描述 |
---|---|
<leader><leader> s <char> |
搜尋字元 |
<leader><leader> f <char> |
向前查找字元 |
<leader><leader> F <char> |
向後查找字元 |
<leader><leader> t <char> |
向前跳至字元前 |
<leader><leader> T <char> |
向後跳至字元前 |
<leader><leader> w |
向前跳至單字開頭 |
<leader><leader> b |
向後跳至單字開頭 |
<leader><leader> l |
向前匹配單字的開頭和結尾,小駝峰,_ 之後和 # 之後 |
<leader><leader> h |
向後匹配單字的開頭和結尾,小駝峰,_ 之後和 # 之後 |
<leader><leader> e |
向前跳至單字結尾 |
<leader><leader> ge |
向後跳至單字結尾 |
<leader><leader> j |
向前跳至行首 |
<leader><leader> k |
向後跳至行首 |
<leader><leader> / <char>... <CR> |
搜尋n個字元 |
<leader><leader><leader> bdt |
跳至字元前 |
<leader><leader><leader> bdw |
跳至單字開頭 |
<leader><leader><leader> bde |
跳至單字結尾 |
<leader><leader><leader> bdjk |
跳至行首 |
<leader><leader><leader> j |
JumpToAnywhere 動作;默認行為匹配單詞的開頭和結尾,小駝峰式,_ 之後和 # 之後 |
<leader><leader> (2s|2f|2F|2t|2T) <char><char>
和 <leader><leader><leader> bd2t <char>char>
也可用。不同之處在於搜索所需的字元數。例如<leader><leader> 2s <char><char>
需要兩個字元,按兩個字元查找。此映射不是標準映射,因此建議使用自定義映射。
surround
VS Code Vim 預設已經開啟 surround 外掛,此外掛可以更方便地修該圍繞的符號,例如:(),[]等等。
關於 surround 可以參考
Windows Ctrl 快捷鍵失效
在 Windows 系統,常用快捷鍵預設使用 ctrl 鍵,導致 vim 使用 ctrl 快捷鍵會讓 visual studio code 快捷鍵失效,比較快的辦法就是不要使用 vim ctrl 鍵,設定如下。
setting.json
{
"vim.useCtrlKeys": false
}
另一個辦法是自定義快捷鍵,但這個部份我就沒有特別深入研究,以後有機會我再分享給大家。
參考
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!