vim 2年使用手冊

背景

以前一直的工做流鼠標鍵盤,覺得開發就是敲敲點點。16年9月入坑vim以來,我本身感受開發效率50%的提高,前期開發模式換爲vim須要適應幾個月吧,噁心噁心就過去了。vim學習曲線瞭解一下,全部的付出都是值得的。Edit text at the speed of thought
horrorstories.txt.jpghtml

vim環境基本配置

兩種選擇,推薦1git

1.好用基礎版。repo github star14k+,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 .vimrcide

# 開啓行號
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 粘貼
  • 複製光標所在當前單詞 yaw
  • 剪切小括號內的 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

以上文檔不定時更新優化。

相關文章
相關標籤/搜索