### Vim基本操作详解
#### 一、Vim的三种工作模式
Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种主要的工作模式:命令模式、编辑模式和底行模式。
- **命令模式**:启动VIM时,默认进入的是命令模式。在这个模式下,用户可以使用各种快捷键来完成移动光标、复制粘贴等操作。
- 按`i`键可以切换到**编辑模式**。
- 按`:`键可以切换到**底行模式**。
- **编辑模式**:在这个模式下,用户可以编辑文件内容。
- 按`Esc`键可以返回到**命令模式**。
- **底行模式**:在这个模式下,可以在`:`后面输入各种命令。
- 按`Enter`键执行命令后会返回到**命令模式**。
- 也可以按`Esc`键直接返回到**命令模式**。
#### 二、文件打开方式
- `vimtest.c`:打开文件`test.c`。
- `vimtest.c+3`:打开文件`test.c`并将光标定位到第3行。
- `vim-o2test1.ctest2.c`:水平分屏打开多个文件。
- `vim-O2test1.ctest1.c`:垂直分屏打开多个文件。
#### 三、光标移动与文件浏览
- `<Ctrl>+f`或`<Ctrl>+b`:向下或向上翻整页。
- `<Ctrl>+d`或`<Ctrl>+u`:向下或向上翻半页。
- `<Ctrl>+e`或`<Ctrl>+y`:向上或向下滚动一行。
- `j`或`k`:光标向下或向上移动一行。
- `3`或`-`:光标向下或向上移动3行。
- `zz`:让光标所在的行居于窗口中央。
- `zt`:让光标所在的行居于窗口首行。
- `zb`:让光标所在的行居于窗口末行。
- `gg`:光标移动到文件首行。
- `G`:光标移动到文件末行。
- `<Ctrl>+o`:光标返回到前一个位置。
- `<Ctrl>+i`:光标前进到后一个位置。
#### 四、复制与剪切
- `yy`:复制光标所在的行。
- `3yy`:从光标所在的行开始向下复制3行。
- `dd`:剪切光标所在的行。
- `3dd`:从光标所在的行开始向下剪切3行。
- `p`:将复制或剪切的内容插入到光标的下一行。
#### 五、撤销与恢复
- `u`:撤销当前操作。
- `<Ctrl>+r`:恢复当前操作。
#### 六、屏幕控制
- `<Ctrl>+w+k`或`<Ctrl>+w+j`:在多个文件分屏显示时,上下切换窗口。
- `<Ctrl>+w+h`或`<Ctrl>+w+l`:在多个文件分屏显示时,左右切换窗口。
- `<Ctrl>+w+-`或`<Ctrl>+w+`:在多个文件分屏显示时,当前窗口的高度减少或增加1。
- `<Ctrl>+w+<`或`<Ctrl>+w+>`:在多个文件分屏显示时,当前窗口的宽度减少或增加1。
#### 七、底行模式下的常用命令
- `:w`:保存文件。
- `:w!`:强制保存。
- `:w!sudotee%+3次<Enter>`:超强制保存。
- `:q`:退出文件。
- `:q!`:强制退出。
- `:wq`:保存并退出。
- `:3`:光标跳转到第3行。
- `:3,7y`:复制第3到第7行。
- `:3,7d`:剪切第3到第7行。
- `:setnu`:显示行号。
- `:setnu!`:隐藏行号。
- `:noh`:取消高亮。
- `:f`:显示当前文件路径和文件名。
- `:sptest.c`:水平分屏打开另一个文件`test.c`。
- `:vsptest.c`:垂直分屏打开另一个文件。
- `:wqa`:保存并退出所有打开的文件。
- `:Man1/2/3[***]`:使用man手册查询指定内容。
- `:Tlist`:显示文件中的变量和函数(需要taglist插件)。
- `:res-/+3`:在多个文件分屏显示时,当前窗口的高度减少或增加3。
- `:verticalres-/+3`:在多个文件分屏显示时,当前窗口的宽度减少或增加3。
- `:3,7s#^#//#g`:注释第3~7行(注释符'//')。
- `:3,7s#^//##g`:取消注释。
- `:3,7s/^/#/g`:注释第3~7行(注释符'#')。
- `:3,7s/^#//g`:取消注释。
以上就是Vim编辑器的基本操作命令介绍,对于初学者来说,熟练掌握这些基本操作是非常重要的。通过不断的实践和练习,可以逐渐提高使用Vim编辑器的效率,并且能够更加灵活地运用各种高级特性。