https://blog.csdn.net/niushuai666/article/details/7275406
初级
-
i inser esc Normal
-
x 删当前光标字符
-
:wq 存盘退出
-
dd 删除当前行
-
p 粘贴
-
hjkl 上下左右
-
:help 帮助文档
-
格式化代码
在vim中其实也有像Eclipse中的ctrl + shift +F 的自动格式化代码的操作,尽管非常强大,但是通常会破坏代码的原有的缩进,
所以不建议在python这样缩进代替括号的语言中和源程序已经缩进过的代码中使用,废话少说,下面说步骤:
1,gg 跳转到第一行
2,shift+v 转到可视模式
3,shift+g 全选
4,按下神奇的 =
中级
1.各种插入
- a 光标后插入
- o 插入新行
- cw 替换从光标到一个单次结尾
2. 简单的移动光标
- 0 到行头
- ^ 到第一个不是blank字符的位置 blank 空格 tab 换行 回车
- $ 本行行尾 与0相对应
- g_ 本行最后一个不是blank的位置
-
拷贝粘贴
- p paste
- yy 拷贝当前行
-
撤销恢复
- u undo
- C-r redo
-
打开保存退出该表改变
- e filepath 打开一个文件
- w 存盘
- saveas filepath 另存为
- x, ZZ wq 保存退出
- q! 退出不保存
高级
-
更好
- 2dd 删除两行
- 3p 粘贴文本3次
- 100 idesu 写下一百个desu
- . 重复上一个命令
-
- 重复三次desu
-
更强
- NG 到第N行 20G 20 go 也可以 :20
- gg 到第一行
- G 最后一行
- 按单词移动
- w 下一个单词开头
- e 下一个单词结尾
- % 匹配括号移动
- *# 匹配光标当前所在单词
-
更快
start positon command end position
比如0y$ 先到行头,从这里拷贝,拷贝到本行最后一个字符ye 当前位置拷贝到本单词最后一个字符
y2/foo 拷贝2个foo之间的字符串不一定y拷贝
- d 删除
- v 可视化选择
- gU变大写
- gu变小写
- 等等
super vim超能力
描述费劲,查看参考网页,