目录
- :help <command>:帮助文档
- Ctrl+n 或者 Ctrl+p:自动补齐
模式
- i:插入模式
- a:在光标后输入
- o:在当前行后插入一个新行
- O:在当前行前插入一个新行
- ESC:返回Normal模式
移动
- hjkl:移动光标
- 0:数字零,到行头
- $:到本行行尾
- ^:到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
- g_:到本行最后一个不是blank字符的位置
- :N:到第N行
- gg:第一行
- G:最后一行
- w:到下一个单词的开头
- e:到下一个单词的结尾
- %:匹配括号移动
- *:移动光标到下一个匹配单词
- #:移动光标到上一个匹配单词
- fa: 到下一个为a的字符处;F反向
- t,:到逗号前的第一个字符;T反向
Normal模式字符操作
- x:删除当前光标所在的一个字符
- u:撤销
- Ctrl+r:重做
删除复制黏贴
- d:删除
- p:黏贴;P在当前位置之前粘贴剪贴板
- **p:复制指定寄存器中的内容(:reg 查看寄存器中的内容,比如 ”0p 复制 “0 寄存器中的内容)
- y:复制
- dd pp yy:对当前行进行删除,黏贴和复制
- :set paste:设置黏贴模式,可以快速的解决黏贴过程中多次换行造成格式混乱的问题(:set nopaste 可以取消黏贴模式)
替换
- :s/旧字符串/新字符串/:将第一个匹配项的旧字符串替换为新字符串
- :s/旧字符串/新字符串/g:将全局所有匹配项的旧字符串替换为新字符串
块操作
- vi":选择双引号之内的字符;v2i" 两个双引号之内的字符
- va":选择双引号之间的字符(包含双引号);同上

- Ctrl + v:对某块字符执行相同的操作,见范例
- J:将多行连接变成一行
- shift + < >:左右缩进
- =:自动缩进
重复操作
- .:重复上一次操作
- N<command>:重复某个指令N次,比如 2dd,3p
搜索
- /pattern: 搜索pattern的字符串(如果搜索出多个匹配,可按n键到下一个,N上一个)
- shift *:移动到需要查找单词的首字母上,shift * 即可快速搜索该单词
- :noh:搜索之后取消高亮
文件操作
- :w:存盘,可以跟文件名
- :q:退出
- :e:打开文件
- :saveas:另存为
分屏
- vim -On file1 file2:垂直分屏
- vim -on file1 file2:水平分屏
- Ctrl+w c:关闭当前窗口
- :sp file1:上下分割,打开一个文件
- :vsp file1:左右分割,打开一个文件
- Ctrl+w jkhl:在多个分屏中移动光标
功能指令
- :set invlist / :set nolist:显示和取消显示不可见字符,其中 ^I 标识 Tab,$ 表示回车
- :set expandtab:将 tab 键替换为空格
- :set ts=4:设置 tab 键对应四个空格长度
范例
- 0y$:到行头,从这里开始拷贝,拷贝到本行最后一个字符
- dt":删除所有的内容,直到遇到双引号
- Ctrl+v Shift+i --:在某块区域前面添加 --



6631

被折叠的 条评论
为什么被折叠?



