編輯模式
全局替換(Java替換爲Python)
% s/Java/Python/g
語法高亮
syntax on
Visual模式
- v 選擇模式
- V 選擇整行
- ctrl + v 多行
插入模式小技巧
如何快速修錯
- ctrl + h 刪除上一個字符
- ctrl + w 刪除上一個單詞
- ctrl + u 刪除整行
進入最後一次編輯的位置(插入模式)
gishell
vim快速移動
單詞之間的移動
- w 移動到下一個單詞的開頭
- e 移動到下一個單詞的結尾
- b 移動到上一個單詞的開頭(backword)
行間移動(移動至本行搜索字符位置)
- f{char} 移動到char字符
- F{char} 反向搜索本行char字符
- t{char} 移動到char前一個字符
水平移動
- 0 移動至行首第一個字符
- ^ 移動至第一個非空白字符
- $ 移動至行尾
- g_ 移動至行尾非空白字符
文件內移動
- gg 快速移動至文件開頭
- G 快速移動至文件結尾
- H/M/L 快速移動至文件開頭,中間,結尾
- ctrl+u/ctrl+f 上翻頁/下翻頁
- zz 把屏幕放置中間
刪除字符
- dw 刪除單詞
- dd 刪除整行
- dt delete to (" 刪除引號 括號之間的字符
- 4x 刪除4個字符
Vim快速修改
- r replace 替換一個字符
- c change cw(change word) 修改整個單詞
- s substitute 替換後進入插入字符
Vim查詢
- 使用/或者?進行前向或者反向搜索
- 使用n/N 跳轉下一個或者上一個匹配
- 使用*或者#進行當前單詞的前向與後向匹配
Vim替換命令
:[range]s[unstitute]/{pattern}/{string}/[flags]
range 表示範圍 好比:10,20 表示10-20行,%表示所有vim
:1,10 s/java/Java/g //替換1-10行
:% s/java/Java/g //替換所有
pattern 是要替換的模式,string是替換後的文本緩存
flags替換標誌位app
- g (global)表示全局範圍內執行
- c (confirm)表示確認,能夠確認或者拒絕修改
- n (number)報告匹配到的次數不作替換。
正則替換插件
:% s/\<java\>/Java/g //精確替換先後字符
Vim多文件操做
- buffer 文件緩存區
- 使用 :ls列舉當前緩衝區,:b n 跳轉至第n個緩存區
- :bpre :bnext :bfirst :blast
- :b buffer_name 加上tab補全來跳轉
- window 窗口
- <ctrl + w>w
- <ctrl + w>hjkl
- vs 分割窗口
- tab 組織多個窗口
- tabnew 新建tab工做區
- gt & gT 切換工做區
Vim的Text Object
vim寄存器與複製粘貼
- y(yank) 複製 yy複製整行 yiw複製一個單詞
p(put) 粘貼code
- insert模式下的複製粘貼
- autoindent 設置自動縮進後,格式會亂
- set paste 與 set nopaste可解決
- 常見寄存器
- "+ 複製前加上可複製進系統剪切板
- set clipboard=unnamed
強大的vim宏 (macro)
- 宏 一系列命令的集合 q開始 q結束
- qa 開啓錄製 保存在寄存器a q結束錄製
- 多行執行 V+G 選擇所有,進入命令行
- normal @a 執行錄製宏
Vim補全
- ctrl + n 或者 ctrl + p 補全單詞
- ctrl + x 或者 ctrl + f 補全文件名
- ctrl + x 或者 ctrl + 0 代碼補全,需擴展插件.
Vim配色
:colorschemes //顯示當前主題
:colorschemes <ctrl+d> //顯示全部主題
:colorschemes name //更換name主題
Vim 基礎END
- 使用裸VIM進行編輯
- 練習盲打
- IDE增長VIM插件
- 肌肉記憶