一、两种模式
vim主要有两种模式,普通模式和插入模式。
普通模式——>插入模式 通过按下i进入插入模式,可以像普通编辑器一样进行编辑
插入模式——>普通模式 通过按下ESC进入普通模式,在普通模式可以进行很多操作
二、常用命令
下面列出的常用命令都是在普通模式下使用
- i :进入插入模式,按ESC返回普通模式,在当前字符的左边新增文本
- I :在当前行的开头新增文本
- x :删除光标所在的字符
- X :删除当前光标前的一个字符,将数字和命令组合可以一次删除多个字符,例如3x命令可以删除3个字符
- dd :删除当前行,并将删除的内容放入剪贴板,可以直接黏贴,其实相当于剪切
- D : 删除当前光标到本行结尾的所有文字
- yy :复制当前行
- p(小写) :在当前行之后粘贴
- P : 在当前行之前粘贴
- a :在当前光标所在字符后面插入
- A :在当前行的末尾插入
- o :在当前行之后插入新行
- O :在当前行之前插入新行
- cw :删除 光标所在字符到单词结束 的所有字符
- 0 :跳到光标所在行的第一列
- ^ : 跳到本行第一个非空字符
- $ :跳到本行末尾
- g_ :跳到本行最后一个非空字符
- /pattern : 搜索pattern
- u :取消
- Ctrl-r :恢复
- :e <文件路径> :打开
- :w :保存
- :saveas <文件路径> :保存到这个文件
- :wq :保存并退出
- :q! :退出但不保存
- .(点) :重做最后一个命令
- N<命令> : 重做这个命令N次 比如,2dd 删除2行,3p粘贴文本3次,100+i键+contents+esc键表示写入100个contents。数字+移动命令,可以加快移动速度,比如3h,往左移动3个字符
- NG : 跳到第N行
- gg : 是1G的快捷方式,跳到文件开始
- G :跳到最后一行
- w :跳到下一个单词的开头,所谓的单词是由空格分隔的
- e :跳到这个单词的末尾,所谓的单词是由空格分隔的
- W:跳到下一个单词的开头,只考虑单词
- E :跳到这个单词的末尾,只考虑单词
- % : 比如这行有(,{,[,跳到对应的),},]
- *和# :将与当前光标所在单词一致的单词标记出来
- 大多数命令使用这种通用格式:<开始位置><命令><结束位置>
- :help <命令> :进入帮助模式,:q退出帮助模式