vi常用命令
一、创建/打开文件
vi 文件名
打开一个文件,如果文件不存在,就创建它。
示例:
vi book.c
二、vi的三种模式
vi 有三种模式,命令行模式、插入模式和替换模式,在命令行模式下,任何键盘输入都是命令,在插入模式和替换模式下,键盘输入的才是字符。
插入模式和替换模式也合称为编辑模式。
三、vi的常用命令
| 语法 | 功能 |
|---|---|
| Esc | 从编辑模式切换到命令行模式。 |
| i | 在光标所在位置前面开始插入。 |
| a | 在光标所在的位置后面开始插入。 |
| o | 在光标所在位置行的下面插入空白行。 |
| O | 在光标所在位置行的上面插入空白行。 |
| I | 在光标所在位置行的行首开始插入。 |
| A | 在光标所在位置行的行末开始插入。 |
| k | 类似方向键上。 |
| j | 类似方向键下。 |
| h | 类似方向键左。 |
| l | 类是方向键右。 |
| Ctrl+u | 向上翻半页。 |
| Ctrl+d | 向下翻页。 |
| Ctrl+g | 显示光标所在位置的行号和文件的总行数。 |
| nG | 光标跳到文件的第n行行首。 |
| G | 光标跳到文件最后一行。 |
| :5回车 | 光标跳到第5行。 |
| :n回车 | 光标跳到第n行。 |
| 0 | 光标跳到当前行的行首。 |
| $ | 光标跳到当前行的行尾。 |
| w | 光标跳到下个单词的开头。 |
| b | 光标跳到上个单词的开头。 |
| e | 光标跳到本单词的尾部。 |
| x | 每按一次,删除光标所在位置的一个字符。 |
| nx | 如”3x”表示删除光标所在位置开始的3个字符。 |
| dw | 删除光标所在位置到本单词结尾的字符。 |
| D | 删除本行光标所在位置后面全部的内容。 |
| dd | 删除光标所在位置的一行。 |
| ndd | 如”3dd”表示删除光标所在位置开始的3行。 |
| yy | 将光标所在位置的一行复制到缓冲区。 |
| nyy | 将光标所在位置的n行复制到缓冲区。 |
| p | 将缓冲区里的内容粘贴到光标所在位置。 |
| r | 替换光标所在位置的一个字符 replace。 |
| R | 从光标所在位置开始替换,直到按下”Esc”。 |
| cw | 从光标所在位置开始替换单词,直到按下”Esc”。 |
| u | 撤销命令,可多次撤销。 |
| J | 把当前行的下一行接到当前行的尾部。 |
| /abcd | 在当前打开的文件中查找“abcd”文本内容。 |
| n | 查找下一个。 |
| N | 查找上一下。 |
| . | 重复执行上一次执行的vi命令。 |
| ~ | 对光标当前所在的位置的字符进行大小写转换。 |
| :w回车 | 存盘。 |
| :w!回车 | 强制存盘。 |
| :wq回车 | 存盘退出。 |
| :x回车 | 存盘退出。 |
| :q回车 | 不存盘退出。 |
| :q!回车 | 不存盘强制退出。 |
| :g/aaaaaaaaa/s//bbbbbb/g回车 | 把文件中全部的aaaaaaaaa替换成bbbbbb。 |
| Ctl+insert | 复制鼠标选中的文本,相当于Ctl+c。 |
| Shift+insert | 输出鼠标选中的文本,相当于Ctl+v。 |
Ctl+insert和Shift+insert两个命令在windows和UNIX中是通用的。
- 本文作者: Hbin
- 本文链接: https:/hbinfree.github.io/2021/01/12/vi常用命令/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!