一般模式切换至编辑模式
- i,I 从目前光标所在处插入,从所在行第一个非空格符处插入
- a,A 从光标所在下一个字符开始插入,从光标所在行最后一个字符出开始插入
- o,O 下一行插入,上一行插入
- r,R 替换光标所在字符一次,一直替换直至[Esc]
常用操作
- dd 删除光标所在行 ndd 删除光标所在的向下20行
- dw 删除一个字(word)
- J 两行合并
- u 复原前一个操作 ctrl-r 重做上一个操作
- . 重复前一个操作,重复删除,重复粘贴都常用到
- x,X 相当于[Del],[Backspace]
- D 删除到行末
- yy 复制光标所在行 nyy,表示从当前行开始复制n行
- yw 复制一个字
- y$ 复制到行末
- p,P 将复制数据粘贴在下一行,上一行
查找和替换
- /word 向下查找带有word字符串
- ?word 向下寻找带有word字符串
- :n1,n2s/word1/word2/g 在第n1行和第n2行之间替换word1为word2
- :n1,$s/word1/word2/gc 从第一行搜寻至最后一行,替换之前询问用户
退出VIM
- :w[filename] 将缓冲区写入文件,即保存文件
- :q 退出,如果对缓冲区进行过修改,则会提示
- :q! 强制退出,放弃修改
- :wq 保存修改并退出
- :x 保存修改并退出
窗口命令
- ctrl+w s 水平分割窗口
- ctrl+w w 切换窗口
- ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
- ctrl+w v 垂直分割窗口
页面操作
- h,j,k,l 上,下,左,右
- ctrl-f 相当于pagedown
ctrl-b 相当于pageup - $ ^ 跳至行尾 跳至行首的第一个字符
- home(0) end($) 移动到这一行行首/行尾
- gg G 跳至文件的第一行 最末行
- nG 移动到这个文件的第n行 gg 本质上相当于1G
- N[ENTER] n为数字,光标向下移动n行