vim编辑器有多种操作模式:
- 普通模式
- 插入模式
默认情况下是普通模式,此模式下vim编辑器会将按键解释成命令。普通模式下按下i键就会进入插入模式,此模式下vim会将当前光标位置输入的每个键都插入到缓冲区。按下esc键就回到普通模式。
普通模式下如何移动光标、翻页和换行:
- h: 左移一个字符
- j: 下移一行
- k: 上移一行
- l: 右移一个字符
- PageDown(Ctrl+f): 下翻一页
- PageUp(Ctrl+b): 上翻一页
- G: 移到缓冲区的最后一行
- num G: 移动到缓冲区中的第num行
- gg: 移动到缓冲区的第一行
普通模式下如何退出、保存文件?
- q: 如果未修改缓冲区数据,直接退出
- q!: 取消所有对缓冲区数据的修改并退出
- w filename: 将文件保存到另外一个文件中
- wq: 将缓冲区的数据保存到文件中并退出
在普通模式下的编辑命令
- x 删除当前光标所在位置的字符
- num x 删除当前位置开始的两字符
- dd 删除当前光标所在行
- num dd 删除从当前所在行开始的5行
- dw 删除当前光标所在位置的单词
- d$ 删除当前光标所在位置至行尾的内容
- J(大写) 删除当前光标所在行行尾的换行符
- u(小写)撤销前一编辑命令
- a 在当前光标后追加数据
- A 在当前光标所在行行尾追加数据
- r char 用char替换当前光标所在位置的单个单词
- R text 用text覆盖当前光标所在位置的数据,直接按下ESC键
- yy 复制一行
- yw 复制一个单词
- y$ 复制到行尾
- p 粘贴
普通模式下进行
- /word 查找,然后使用n键,继续查找一个
- :s/old/new 查找并替换
- :s/old/new/g 一行命令查找并替换所有
- :n,ms/old/new/g 替换行号n和m之间的所有
- :%s/old/new/g 替换整个文件中的所有old
- :%s/old/new/gc 替换整个文件中的所有old,但每次都提示是否进行替换
to be continue...