[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