VIM快捷操作

 
vim -r  xxx.swap文件或者:recover恢复最新修改
:vsplit(vsp)左右分屏, :split(sp)上下分屏。ctrl+w+hjkl窗口切换。vim -on file1 file2水平, -On垂直
vimdiff file1 file2
 
1.查找替换
① : g/str1/s//str2/g (功能同1, $ s/str1/str2/g) 用字符串 str2 替换正文中所有出现的字符串 str1 
    : %s/str1/str2/gc
    :s/str1/str2/g 同上
    /text 向后搜索,?text 向前搜索
    :g/str1 全局搜索
    :n 搜索下一个,:N搜索上一个
② 光标在单词上,shitf + *可以查找下一个
 
2.删除
删除字符:x 删除后面的字符 X 删除前一个字符  删除3个字符就是3x  
删除行dd:删除一行   D 删除到行尾 
删除换行符J:删除换行符,使下一行并上来。nJ:连接后面的n行
删除所有:ggdG删除所有,dG删除到末尾,d0删除到行首
删除指定范围如果光标放在第一个s上,想删除到“(”为止,则输入dt(就可以了,t(的作用是跳到下一个"("前。
 
3.修改 && 撤销 && 插入
① 修改单词:caw (c 相当于 d 变为编辑模式)
② u:撤销上一次操作 , U:撤销当前行的所有修改
③ ctrl+r:对撤消的撤消,u撤销修改, U撤销所有修改,.重复最后一条修改正文的命令
④ i 在光标前插入,I 在行首插入,a 在光标后插入,A 在行末插入,o:在当前行的下面另起一行,并变为插入模式,
    O:在当前行上面另起一行,变为插入模式
⑤ Ctrl+o:临时变成命令模式(一次而已)<-->:e!:放弃更改,然后相当于重新打开<-->:help:帮助,可用ZZ退出帮助窗口

⑥ :ab hw hello world  用一个缩写字符串代替一个长的字符串,此处用 hw 代替 hello world

⑩ ctrl +n 自动补全 ctrl + p 也一样(同windows的tab自动补全)

 
4.复制
① 复制单词:yiw(yank inner world)复制当前档次, yw只是复制当前单词光标至结尾的部分
② nyy复制n行,也可以在首行输入ma获得一个标记a, 然后最后一行输入y'a即可复制中间所有行,p粘贴
:10,20y 回车即可,相应的删除也是如此 :10,20d     (此方法比上面两种方法更简单)

    :10,20 m 30    把10行到20行的内容,剪切到30行之后

    :10,20 co 30   把10行到20行的内容,复制到30行之后

④ p粘贴到下面一行或光标右侧, P粘贴到上面一行或者光标左侧

 
其它:
① v进入视图编辑, ctrl+v进入列编辑
②:gg=G 代码自动对齐(gg表示第一行,G第二行)
③ 退出 ESC == ctrl + o == ctrl + c == ctrl + [
④ wq == ZZ



原文地址:https://www.cnblogs.com/linux-wang/p/8142838.html