请列出常用文本编辑器Vim的五个主要功能，并用项目符号列出，以markdown格式输出。
user
- **文本插入模式**：允许用户高效地插入文本，通过按下 `i` 键从命令模式切换到插入模式。  
- **多级撤销功能**：可以多次撤销之前的编辑操作，通过 `u` 键每次撤销一步。  
- **模式切换**：支持命令模式、插入模式和可视模式等，不同模式之间快速切换，提高编辑效率。  
- **宏记录与回放**：能够记录一系列按键操作，然后重复执行，方便批量处理文本。  
- **强大的搜索与替换功能**：提供正则表达式的搜索与替换，通过 `:s/old/new/g` 等命令实现复杂的文本操作。
assistant