在Linux上查看、编辑文件时,vim就必不可少了。有句话不是说,高手,尤其是真正的高手,都是不需要鼠标的,所有操作都通过键盘完成。vim强大之处在于,它支持的功能和操作很多很多,但其实很多命令都是互补的,所以就不必记住每个命令,列一下常用的必要命令。
命令按类型分为几大类,移动、插入、查找替换、复制粘贴、删除和撤销重做、命令
1. 移动
- hjkl:j是下,k是上,hl是左和右,和玩游戏时移动规则一样
- w和e:向后移动一个单词,w停在首,e停在尾,这和它俩在键盘上的位置一样
- b和ge:和上面相反,是往前挪
- 0 ^ $: 0到开头,^到非空白字符,$行尾字符
- gg和G:文件头和文件尾
- zz: 将当前行移动到屏幕中央 zt,top zb,bottom
2. 插入
- a: append 当前字符后
- i: insert 当前字符位置
- I和A:行首和行尾插入
- o和O:下一行,上一行
3. 查找替换
- /text:查找,n下一个,N上一个
- ?text:反向查找,用上面那个就可以了
- r和R:替换一个字符,和多个字符
- :s/old/new/g 不加g替换第一个匹配,加g替换当前行所有匹配
- :%s/old/new/g 不加g替换所有行第一个匹配,加g替换所有行所有匹配
- :10,20s/old/new/ 把%换成了指定的行
4. 复制粘贴
- v和V:选中字符和选中行
- y:复制选中内容 yy复制当前行
- p:在当前位置粘贴
5. 删除 撤销 重做
- d:删除,也是剪切,它需要指定删除范围,dd=当前行 dh=左侧字符 dl=自己 dk=自己行和上行 dj=自己行和下行 dd=自己行 dgg=自己行到首行 dG=自己行到尾行 d^=前面的 d$=自己和后面的 D=d$ :1,10d=1到10行 :11,$d=11到最后行
- u和U,撤销上个操作和撤销整行的修改
- ctrl+r:重做,也就是恢复,撤销撤销
6. 命令
- :set number 行号
- :set nonumber 关行号
- :w 保存
- :q 退出
- :!command shell命令
- :q! 强行退出 不保存
- ctrl + u d:滚动页面 up down