vim编辑器有两种模式:
- 普通模式
- 插入模式
打开编辑的文件时,vim编辑器会进入普通模式,在普通模式下,vim编辑器会将按键解释成命令
在插入模式下,vim会将你在当前光标位置输入的每个键都插入缓冲区。普通模式下,按下i键就可以进入插入模式。退出插入模式回到普通模式,按下键盘上的退出键(ESC键)
普通模式中,可以使用方向键在文本区域移动光标,也可以使用移动光标的命令
- h: 左移一个字符
- j: 下移一行
- k: 上移一行
- l: 右移一个字符
- PageDown(Ctrl+F): 下翻一页
- PageUp(Ctrl+B): 上翻一页
- G: 移动到缓冲区的最后一行
- num G: 移动到缓冲区中第
num行 - gg: 移动到缓冲区的第一行
在普通模式下有个命令行模式,在普通模式下按下冒号键进入命令行模式,等待输入命令
- q: 如果未修改缓冲区数据,退出
- q!: 取消所有对缓存区数据的修改并退出
- w filename: 将文件保存到另一个文件中
- wq: 将缓冲区数据保存到文件中并退出
将数据输入到缓冲区之后,如果需要再对其进行添加或者删除。在普通模式下,vim编辑器通过以下命令来编辑缓冲区中的数据
- x: 删除当前光标所在位置的字符
- dd: 删除当前光标所在行
- dw: 删除当前光标所在位置的单词
- d$: 删除当前光标所在位置至行尾的内容
- J: 删除当前光标所在行行尾的换行符
- u: 撤销前一编辑命令
- a: 在当前光标后追加数据(进入插入模式)
- A: 在当前光标所在的行尾追加数据(进入插入模式)
- r char: 用char替换当前光标所在位置的单个字符串
- R text: 用text覆盖当前光标所在位置的数据,直到按下ESC键
复制命令y,代表yank。yw表示复制一个单词,y$表示复制到行尾
粘贴命令p,粘贴文本到光标所在位置
查找命令:/+输入查找的字符串
- n: 向同一个方向重复上次的查找指令(
/+回车键) - N: 向相反方向重复上次的查找指令
替换命令:
- r: 替换光标所在位置的字符
- :s/old/new: 替换当前光标所在行第一处符合条件的内容
- :s/old/new/g: 替换一行所有old
- :n,ms/old/new/g: 替换m行到n行之间所有old
- :%s/old/new/g: 替换整个文件中所有的old
- :%s/old/new/g: 替换整个文件中所有的old,但在每次出现时提示
- nu: 显示行号