[Vue Router] TL;DR
why vim?
I’ve been using Vim for about 2 years now, mostly because I can’t figure out how to exit it.
參考資料
相關連結
內容簡介
Vim真的超好用~
Cheatsheet
Vim
在安裝vim的時候其實就有送一份教學文件了! 開啟方式為在terminal 輸入指令
vimtutor zh_tw或是有任何問題都可以使用:h <想問的關鍵字>
快速指令查詢
- 讀取設定檔案:
:source <路徑> - 查看暫存器內容:
:reg - 查看目前開啟的buffer:
:ls - 使用shell的指令:
:! 指令(在目前編輯位置貼上指令回傳內容::r !指令) - 查詢現在的buffer:
:ls - 查詢所有mapping:
:map - 清除所有自己的mapping(不包含Plugin):
:mapclear - 清除特定mapping:
:unmap <欲清除map> - 設定檔案格式:
:set filetype=<檔案格式>
套件常用功能
- 開啟、關閉輔助線:
<F1>(vim-indent-guide) - 可以開啟nerdtree:
<F2>(Nerdtree) - 開啟tagbar:
<F3>(tagbar)//還不知道怎麼用.. - 快速整理文件縮排:
<F5>(自己做的mapping) - (in nerdtree)
- 新增,修改,刪除檔案(or資料夾):
m(Nerdtree) - 顯示隱藏資料:
I(Nerdtree) - 開啟、收合資料夾:
o(Nerdtree) - 退到上一層資料夾:
u(Nerdtree) - 進到資料夾:
C(Nerdtree)
- 新增,修改,刪除檔案(or資料夾):
- (in Visual mode)在左右新增
”,’,<tag>等:S+”/’/<tag>...(vim-surround) - (in normal mode)已經有左右標籤的狀態下可以替換:
cs<原標籤><欲改標籤>(vim-surround)
其他
- 存檔:
- 一般存檔:
:w - 另存新檔:
:w <new_file_name>
- 一般存檔:
- 離開檔案:
:q(!) - 調整目前所在行在視窗中的位置:
zz調整到畫面中間zt調整到畫面上方zb調整到畫 面下方
- 復原&重作
- 復原:
u - 重做:
ctrl+r
- 復原:
- 精簡行(多行壓縮):
zf(取消方法:l撐開行 orzd) - 重複相同動作
.
移動
- 上下左右:
k,j,h,l - 在同一行內上下切換:
g+j、g+k - 前往第n行:
n+G - 跳到文章始/末:
- 起始:
gg - 文末:
G
- 起始:
- 跳躍文章段落(以空白行區分)
}跳到下一個段落{回到上一個段落
- 根據文字跳躍
w前往下一個Word、W忽略標點前往下一個Wordb前往上一個Word、B忽略標點前往上一個Worde跳到字尾、E忽略標點跳到字尾
- 同行往後跳到指定文字:
f+key(同行往前跳到指定文字:F+key) - 行跳躍的三種方式:
0跳到行首(包含空白)^跳到該行第一個字$跳到行末(包含空白)
- 快速下一頁:
ctrl+f - 快速上一頁:
ctrl+b
輸入
- 直接輸入相關
a在所在位置後插入文字、A在目前所在行的最後插入文字i在所在位置前插入文字、I在目前所在行的最前面插入文字o新增下一行並插入文字、O新增上一行並插入文字
- 刪除相關
x刪除目前所選文字、X刪除目前所選文字之前的文字d刪除所選(in visual mode)的文字、D刪除目前所在行所在位置之後的全部文字c刪除所選文字並直接進入insert模式&C刪除目前位置之後全部文字並進入insert模式dd可以直接刪除目前所在整行 (同樣可使用量詞eg:2dd)r可以替代目前文字,R進入Replace模式,替代目前位置之後所有文字直到退出Replace模式
- 變換大小寫:
~(visual模式) - 將下一行退回此行(中間會有一格空白):
J(可搭配量詞) - ⚠️ IN INSERT
ctrl+w快速刪除目前所在位置前面的wordctrl+u快速刪除目前所在未至前面所有文字
搜尋
取消搜尋任何關鍵字:
:noh
- 第一組
/+欲搜尋的字搜尋字串n前往下一個字串N前往上一個字串*搜尋目前所在位置字串
- 第二組
?+欲搜尋的字搜尋字串n前往上一個字串N前往下一個字串#搜尋目前所在位置字串
複製貼上
v選取文字、V選取行- 在visual模式下
y可以複製、在normal模式下p可以貼上 (P貼上位置會跟p不同,一個在前一個在後) - 複製所在行:
yy - 指定暫存器:
- 儲存到暫存器a:
”ay - 貼上暫存器a的內容:
”ap - 顯示目前暫存器中的內容:
:reg
- 儲存到暫存器a:
分頁&分割視窗
- 基本編輯器
- 開啟編輯器(Terminal):
vim - 開啟 file name這個檔案(Terminal):
vim <file name> - 開啟file name的檔案(Vim):
:e <file name>
- 開啟編輯器(Terminal):
- 分頁
- 新分頁(Terminal):
vim -p <filename1> <filename2> [if any] - 新分頁(Vim):
tabe <file name> - 切換下一個分頁:
gt - 切換到上一個分頁:
gT
- 新分頁(Terminal):
- 分割視窗
- 水平分割視窗開啟兩個檔案(Terminal):
vim -o <filename1> <filename2> - 垂直分割視窗開啟兩個檔案(Terminal):
vim -O <filename1> <filename2> - 開啟水平新視窗(Vim):
:new - 開啟垂直新視窗(Vim):
:vnew ctrl+w+w切換到下一個視窗(循環切換)、ctrl+w+W可以逆向循環切換ctrl+w+hjkl直接指定切換到上下左右方向的視窗
- 水平分割視窗開啟兩個檔案(Terminal):
Buffer
查詢目前所有的buffer:
:ls
- 切換buffer:
:b <buffer編號|部分檔案名稱> - 跳到下一個buffer(根據編號):
:bn(next) - 跳到上一個buffer(根據編號):
:bp(previous) - 關閉buffer:
:bd - 展開所有buffer變成分頁:
:tab ball