不敢說單純使用鍵盤碼代碼的效率會比鍵盤鼠標結合高多少倍,可是這個過程絕對讓你感受倍爽。雖然過程很累,須要記住那麼多組合按鍵,可是一旦熟練以後你必定會感謝如今努力的本身。html
本篇文章以Vscode + Vim + iTerm的碼代碼的方式來總結,其餘編輯器的能夠自行搜索。vim
既然說是純鍵盤了,那麼你就須要使用按鍵去替換鼠標的移動和各類跳轉。app
下面介紹的是一些基本按鍵:編輯器
k
、j
、h
、l
w
快速移動到光標所在單詞的下一個單詞詞首(W
也是快速單詞跳轉,不過是以空格爲分隔符)e
快速移動到光標所在單詞的詞尾或下一個單詞詞尾(E
也是類同於W
)b
快速移動到光標所在單詞的詞首或上一個單詞的詞首(B
也是類同於W
)0
快速移動到行首(含空格)^
快速移動到行首非空格的字符f+任意字符
快速跳到所在行指定的任意字符(向前搜索)t+任意字符
快速跳到所在行指定任意字符的前一個字符(向前搜索)F+任意字符
快速跳到所在行指定的任意字符(向後搜索)T+任意字符
快速跳到所在行指定任意字符的前一個字符(向後搜索)Space
逐個字母移動Shift+*
能夠快速向下查找光標聚焦的單詞Shift+#
能夠快速向上查找光標聚焦的單詞Ctrl+f
快速翻到下一頁(f表示的單詞應該是forward)Ctrl+b
快速翻到上一頁(b表示的單詞應該是back)Ctrl+d
快速向下翻動半頁Ctrl+u
快速向上翻動半頁G
快速到達文章末尾gg
快速到達文章開頭H
快速到屏幕的首行(等價於單詞Head)M
快速到屏幕的中間行(等價於單詞Middle)L
快速到屏幕的最後一行(等價於單詞Low)Enter
光標向下移動Ctrl+]
快速跳轉到定義處Ctrl+o
回到以前跳轉的地方Ctrl+e
能夠逐行下滾Ctrl+y
能夠逐行上滾zt
能夠將光標所在行直接置爲首行(t
應該爲top
)zz
能夠將光標所在行直接置爲屏幕中間行zb
能夠將光標所在行直接置爲屏幕末尾行(b
應該爲bottom
)/
開頭,輸入你想查找的單詞,而後回車,vim就會幫你定位到匹配中的單詞,以後n
和N
即是查找下一個
和查找上一個
的意思。x/X
能夠向前或者向後刪除單詞dd
剪切當前行dw
從光標處剪切到下一個單詞詞首以前(包含空格),這種組合鍵實際上是將各自按鍵的結果組合起來,因此很好記de
從光標處剪切到下一個單詞詞首以前(不包含空格)d
剪切鍵還能夠和$
、0
、l
、G
、B
、H
、M
、L
等按鍵合做,再也不贅述yy
複製當前行y
和d
也是同樣,能夠和各類按鍵合做,好比想複製光標出後4個單詞,能夠y4l
就好了。p
在光標所在行的下一行粘貼剪切板的東西,P
反之在上一行粘貼。J
將光標所在行與下一行的數據結合成同一行Ctrl+r
恢復上一步被撤銷的操做.
重複最近一次所作的編輯操做r
替換光標所在字符R
替換從光標處開始多個字符xp
快速交換單詞i
在光標所在位置進入編輯模式a
在光標所在位置的後一個字符進入編輯模式o
在光標所在行的下一行進入編輯模式O
在光標所在行的上一行進入編輯模式A
在光標所在行的結尾處進入編輯模式I
在光標所在行的行首處進入編輯模式c
剪切光標所在行以後進入編輯模式,光標仍留在當前行s
剪切光標聚焦的單詞並進入編輯模式~
將光標所在位置的字符進行變動大小寫gu
將光標所在位置的字符變成小寫Gu
將光標所在位置的字符變成大寫v
命令進入的字符可視化模式(Characterwise visual mode)。文本選擇是以字符爲單位的。V
命令進入的行可視化模式(Linewise visual mode)。文本選擇是以行爲單位的。Ctrl-V
進入的塊可視化模式(Blockwise visual mode)。能夠選擇一個矩形內的文本。vis
選中一個句子vip
選中一個段落...更多搭配能夠自由隨心組合^_^函數
在Normal模式下,文件保存的操做以下:spa
:w
:保存編輯後的文件內容,但不退出vim編輯器。這個命令的做用是把內存緩衝區中的數據寫到啓動vim時指定的文件中。:w!
:強制寫文件,即強制覆蓋原有文件。若是原有文件的訪問權限不容許寫入文件,例如,原有的文件爲只讀文件,則可以使用這個命令強制寫入。可是,這種命令用法僅當用戶是文件的屬主時才適用,而超級用戶則不受此限制。:wq
:保存文件內容後退出vim編輯器。:wq!
:強制保存文件內容後退出vim編輯器ZZ
:使用ZZ命令時,若是文件已經作過編輯處理,則把內存緩衝區中的數據寫到啓動vim時指定的文件中,而後退出vim編輯器。不然只是退出vim而已。注意,ZZ命令前面無需加冒號「:」,也無需按Enter鍵。:q
:在未作任何編輯處理而準備退出vim時,可使用此命令:q!
:強制退出vim編輯器,放棄編輯處理的結1. 快速選中光標所在單詞後複製(剪切)調試
viwy
=> 進入虛擬行模式後選取單詞接着複製操做
code
*在虛擬行模式下,`a`和`i`再也不是以前咱們認爲的append和insert。咱們先認識一個概念:`Text-Object`,它能夠指一個單詞,一整句文本,抑或一對括號內的文本,甚至是html或xml標籤內的文本。`a`會選擇一個對象(object)包括空格在內,而`i`只會選擇對象的內部,不包含空格。*
複製代碼
2. 快速替換多個相同的單詞orm
除了使用%s
以外,還有另一種快速替換的方式: 先在Normal Mode下搜索你想替換的單詞:/
+你想替換的單詞
,以後回車光標聚焦在你的單詞之下,而後cgn
,就稱爲Insert Mode,而且光標聚焦的選中單詞被刪除,你就能夠編輯這個單詞爲新單詞,以後Esc
鍵返回Normal Mode,而後使用.
就能夠將以前搜索選中的全部單詞一個個替換掉。(超級好用的一個高級操做) 3. 由於有以前對i
的介紹,咱們能夠將i
組合出一些比較牛逼的操做: 1. ci('/"/(/[/{/<)
: ci
按鍵和各類符號組合能夠快速剪切符號內部的內容並進入編輯模式 2. di('/"/(/[/{/<)
: di
的操做也是相似,只是不會進入編輯模式 3. yi('/"/(/[/{/<)
: yi
的操做則是直接複製 4. vi('/"/(/[/{/<)
: vi
的操做是選中,後續操做看本身輸入的命令cdn
**Note**
**你們從中能夠看到這種規律:`ci/di/yi/vi`開頭的按鍵能夠和各類位置操做相關的按鍵(好比`w`/`e`/`b`等)組合,達到快速編輯的目的。因此Vim並非全無規律可言**
複製代碼
4. 快速註釋代碼行的操做
光標跳到你想註釋的代碼行,而後Ctrl+V
進入虛擬塊選擇模式,接着能夠選中你想註釋的那些行的代碼(可使用j
或者別的按鍵),接着按I
(記得是大寫的I)進入列插入狀態,輸入//
後按Esc
,就可看到你選中的那些行都被註釋掉,其實這個功能等同於VSCODE的多光標編輯模式,超級好用的一個操做
由這個操做還能夠引伸到在代碼行的任意位置進行多光標操做,比較經常使用的可能就是行尾操做:`Ctrl+V`=>`j`=>`$`=>`A`=>`Esc`便可
複製代碼
5. 將文本拷貝到命名緩衝區,後面能夠直接經過該緩衝區使用。
有效的緩衝區名字爲從a到z的26個字母。操做命令以下: 1. "ayy
:拷貝當前行到緩衝區a 2. "a5yy
:拷貝5行到緩衝區a 3. "ap
:粘貼緩衝區a的內容
**Tips**:*你可使用`:reg`查看當前vim使用的寄存器存儲的內容*
那若是我想拷貝到全局緩衝區呢?
vim提供了一個叫作`+`的寄存器存放系統剪切板,因此操做命令是:按`v`進入可視化模式,選中你想複製的文本,而後按`"+y`便可複製文本到系統剪切板上,在系統別的地方就可使用你的文本!
複製代碼
6. 粘貼刪除的文本
若是誤刪除了一些文本,能夠恢復最近9個操做過的文本。由於他們都保存在編號的緩衝區中,最後一次刪除的內容保存在緩衝區1,倒數第二次的則保存在緩衝區2……要恢復刪除操做,先輸入`"`,接着指定緩衝區編號,在使用放置命令。好比:
`「2p`是粘貼最近倒數第二次的刪除文本
複製代碼
7. 錄製動做
若是某個操做是可重複的,可使用vim的高級特性:錄製。在Normal模式下使用q
+ a~z
(a~z選擇一個字母來存儲你錄製的動做,相似於上面的寄存器),以後就能夠開始你的可重複的動做,操做完全部動做以後敲一下q
,便可中止錄製,而後使用@
+你以前保存的寄存器字母便可不斷重複以前的動做集合了。
下面所講的快捷鍵均是以Mac的鍵盤爲準
F1
或Command+Shift+P
: 打開命令面板。在打開的輸入框內,能夠輸入任何命令,例如:
按一下Backspace
會進入到Command+P
模式
在Command+P
下輸入>
能夠進入Command+Shift+P
模式
在Command+P
窗口下還能夠:
○ 文件名 跳轉到對應文件
○ `?` 列出當前可執行的動做
○ `!` 顯示 Errors或 Warnings,也能夠`Command+Shift+M`
○ `:` 跳轉到行數,也能夠`Command+G`直接進入
○ `@` 跳轉到 symbol(搜索變量或者函數),也能夠`Command+Shift+O`直接進入
○ `@` 根據分類跳轉 symbol,查找屬性或函數,也能夠`Command+Shift+O`後輸入:進入
○ `#` 根據名字查找 symbol,也能夠 Command+T
複製代碼
同時打開多個Vscode(查看多個項目)
Command+Shift+N
打開一個新窗口Command+Shift+W
關閉窗口 同時打開多個編輯器(查看多個文件)Command+N
新建文件Ctrl+Tab
文件之間切換Command+\
分割出一個新的編輯器(最多3個)Command+1
、Command+2
、Command+3
左中右 3 個編輯器的快捷鍵Shift + Command + [(])
Command + B
Command + shift + E
H/J/K/L
表明文件夾摺疊(若是不是一個文件夾,將會跳到這個文件所屬的文件夾上,以即可之後面折疊整個文件夾)、聚焦下一個文件、聚焦上一個文件、文件夾展開(若是不是一個文件夾,將會在編輯區打開這個文件)Command + K + Enter
Command + Shift + D
Ctrl + Z
,這個命令須要在鍵盤映射區配置,能夠搜索workbench.action.terminal.focus
,而後設置你本身的快捷鍵Command + |
垂直分割終端區Command + Alt + 方向鍵
Command + shift + J
是聚焦下一個終端、Ctrl + shift + K
是聚焦上一個終端,此兩者的命令都是經過配置workbench.action.terminal.focusNext
和workbench.action.terminal.focusPrevious
來配置Command + t
Command + d
Command + shift + d
Command + [
Command + 數字
Command + shift + h
Ctrl + p
Ctrl + r
Ctrl + u
Ctrl + a
Ctrl + e
Ctrl + f/b
Alt + f/b
Ctrl + d
Ctrl + h
Ctrl + w
Ctrl + k
Ctrl + t
本篇快捷鍵的總結會持續更新....能夠關注個人博客豆米的博客