以前一直的工做流鼠標鍵盤,覺得開發就是敲敲點點。16年9月入坑vim
以來,我本身感受開發效率50%
的提高,前期開發模式換爲vim
須要適應幾個月吧,噁心噁心就過去了。vim
學習曲線瞭解一下,全部的付出都是值得的。Edit text at the speed of thought
:
html
兩種選擇,推薦1git
1.好用基礎版。repo github star
數14k+
,Basic Verison推薦,Vimrc Githubgithub
安裝步驟:vim
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_basic_vimrc.sh
2.本身寫個簡單的。須要自定義配置在$HOME
下新建.vimrc
,配置完成後執行source .vimrc
ide
# 開啓行號 set number # 註釋顏色改成好辨 colors desert # reindent操做(>>\<<)縮進4個空格 set shiftwidth=4 # 敲入tab鍵時實際佔有的列數 set softtabstop=4 # 輸入tab時自動將其轉化爲空格 set expandtab ## 自動縮進模式 set smartindent
如下命令雖然多,大部分都是經常使用的,多練練造成肌肉記憶就行了學習
命令模式下,輸入/word
後回車,即查找word,按n
查找下一個匹配單詞,按N
查找上一個匹配單詞優化
w
下個單詞的首部(向後)e
當前光標最近處的單詞的尾部(向後)b
當前光標最近處的單詞的首部(向前)^
跳轉到行的開始daw
刪除光標所在單詞(delete a word)viwc
可視模式中刪除當前單詞並插入bdw
刪除到下一個單詞開頭,好比中間有空格啊就刪掉了D
當前光標刪到行尾d^
當前光標刪到行首x
,刪除光標所在字符X
,刪除光標所在前字符dd
刪除本行:1,$d
,刪除全部行i
:在當前字符的左邊插入I
:在當前行首插入a
:在當前字符的右邊插入A
:在當前行尾插入o
:在當前行下面插入一個新行O
:在當前行上面插入一個新行gg
:跳至文件開始G
:跳至文件結束普通模式
yy
複製本行p
粘貼dib
,包括小括號dab
命令模式
:%s/"//g
(匹配到全部"並置爲空)command | mens |
---|---|
ctrl + d ctrl + u |
向上 向下滾屏 |
ZZ |
保存並退出 |
:e! |
不保存文件並重載 |
* |
向下查找當前光標所在單詞 |
:set hlsearch |
高亮查找內容 |
:noh |
取消高亮 |
:noh |
turn off the highlight until the next search |
viw |
選中當前單詞 |
p |
paste |
ciw |
change inner word |
cw |
change the word from the current cursor position |
:set so=999 |
隨時使光標位於屏幕中央 |
:set so=0 |
恢復光標位置普通模式 |
ggVGu |
格式化文件大小寫 |
u |
撤銷 |
ctrl+r |
撤回撤銷 |
vim -r *.swp |
對於操做文件時異常退出產生的.swp 或.swo 文件處理 |
ctrl+s |
鎖屏 |
ctrl+q |
解鎖 |
ggVG |
全選 |
:w !sudo tee % > /dev/null |
編輯完文件準備保存缺發現未有權限保存 |
c |
修改 |
d |
刪除 |
y |
複製 |
g~ |
反轉大小寫 |
gu |
轉換爲小寫 |
gU |
轉換爲答謝 |
> |
增長縮進 |
< |
減小縮進 |
= |
自動縮進 |
! |
|
ga |
查看當前字符的unicode編碼w |
命令 | 用途 |
---|---|
f{char} |
正向移動到下一個{char} |
F{char} |
返向移動到上一個{char} |
t{char} |
正向移動到下一個{char}所在之處的前一個字符 |
T{char} |
返向移動到下一個{char}所在之處的後一個字符 |
; |
重複上次的字符查找命令 |
, |
反轉方向查找上次的字符查找命令 |
r
是我較經常使用的命令之一,如91
須要更改成98
,則光標移動到1
上,分別按r8
便可,替換完會馬上回到普通模式,至關於經常使用的xi{char}<ESC>
編碼
命令 | 用途 |
---|---|
v |
面向字符的可視模式 |
V |
面向行的可視模式 |
<C - v> |
面向列塊的可視模式 |
"
" some need be comment
`$` to jump to the end of the line you're on (to be over the opening brace) `v` to begin a selection (V for whole lines) `%` to jump to the matching brace. `j` to go down one line so your cursor is inside the braces you are trying to select `v` to begin a selection (V for whole lines) `i{` select everything inside the braces so `di}`,`ci}`,`vi}` is best practice
1.管道符,重定向(TODO)url
# url https://zh.wikipedia.org/wiki/重定向_(計算機)
2.常見操做符spa
http://vimdoc.sourceforge.net/htmldoc/motion.html#operator
以上文檔不定時更新優化。