vi编译器使用

三种模式及其命令

一、、vi编译器三种模式

1、命令行模式(无法编辑):最初进入的模式,可以进行复制粘贴等操作

2、插入模式(insert:可输入文本):进行文件编辑,按Esc可以回到命令行模式。

3、底行模式:光标位于屏幕的底行,可以进行文件的保存、退出、查找、替换、列出行号等

二、vi模式切换命令:

1、a i o 命令行模式切换为插入模式

a/A:(append)进入插入模式,A可直接跳转到当前光标所在行的行末位置,a从当前光标所在位置后一个位置开始插入键盘输入的字符

i/I:(insert)进入插入模式,I可直接跳转到当前光标所在行的行首位置,i当前光标所在位置

o/O(open)进入插入模式,O光标所在行上一行生成一个空行,o光标所在行后生成一个空白行

:!外部命令:在vi中执行外部命令,如 :!pwd查看当前路径   :!date查看时间等,回车可回到vi

2、Esc 进入命令行模式

3、shift+:或 空格 由命令行模式进入底行模式

三、三种模式下命令输入

带“:”是在底行模式下运行,不带“:”是在命令行进行。

1、命令行命令:复制、粘贴、剪切等。[n]:从光标所在行选中的行数。

1)[n]x:删除,删除光标所在的位置内容,或从光标所在位置后的n个字符。
2)[n]dd:剪切/删除行,剪切光标所在行或光标所在行后的n行内容,删除光标所在行或光标所在行后的n行内容,
3)[n]yy:复制,复制光标所在行或光标所在行后的n行内容,注意光标位置,

4)p/P:粘贴,p将复制或剪切的内容粘贴到光标的下一行,P是上一行,注意光标位置,
5)u(undo):取消上一次操作(撤销/上一步)
6)ctrl+r:反撤销
7)光标移动到首行:gg
8)光标移动到末行:G
9)光标移动到当前行行首:0
10)光标移动到当前行行尾:$

2、底行命令:

1):q退出没有修改的文件,若修改过未保存则不能退出。

2):q!强制退出,且不保存修改过的部分
3):w保存但不退出,w!强制保存;
4):w  file  可另存为新文件并保存本文件

5):x/wq保存文件并退出
6):r file 读入file指定的文件内容插入到本文件中。

7)vi编译器分屏:vsp  (:q退出)

3、vi的光标命令

1)h 方向键,向左移动光标一个字符的位置

  1. j  方向键,向下移动光标到下一行的位置
  2. k方向键,向上移动光标到下一行的位置
  3. l  方向键,向右移动光标一个字符的位置
  4. :N 移动光标到第N行
  5. 1G 移动光标到文件的第一行
  6. G 移动光标到文件的最后一行
  7. :set  number 设置显示行号
  8. :set nonu 取消显示行号

4、vi查找命令

1):/string 查找字符串 

  1. n 继续查找
  2. N反向继续查找

5、vi替换命令

利用:s,命令可实现字符串的替换/g默认全部替换,不加g默认替换第一个

:范围s/old/new

1):s/str1/str2/(当前行替换)

2):s/str1/str2/g

3):.,$s/str1/str2/g(当前行到最后一行)

4):1,$s/str1/str2/g(第一行到最后一行;全文替换)

5):n,Ns/str1/str2/g(检查范围n到N行内全部替换str1为str2)

6):%s/str1/str2/g(替换每一行中的所有str1为str2)

6、vi复制和剪切命令

1)~4)在命令行下进行。

1)y0 复制光标所在位置该行前的内容

2)y$ 复制光标所在位置该行后的内容w

  1. d0 剪切光标所在位置该行前的内容

  1. d$ 剪切光标所在位置该行后的内容

5)指定行复制(不需要考虑光标位置)

: range y 块复制(底行命令下进行),range表示范围,

如 :1,10(一到十行)

     :1,$(第一行到最后一行)

     :.,$(当前行到最后一行)

     :% y (全部)

6)指定行剪切/删除(不需要考虑光标位置)

: range d 块剪切(底行命令下进行),range表示范围,(可当作删除使用)

如 :1,10(一到十行)

     :1,$(第一行到最后一行)

     :.,$(当前行到最后一行)

     :% y (全部)

7、简单编程步骤:

  1. 创建一个.c的文件:touch wc.c
  2. 进入wc.c编程:vi wc.c
  3. 写代码

#include<stdio.h>
int main()
{
  printf("wellcome to the game\n");/*打印“hello”在终端上*/
  return 0;
}

  1. 输入内容保存并推出::wq
  2. 编译代码:gcc wc.c
  3. 执行可执行文件:./目标文件

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐