vi编辑器的使用
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 方向键,向左移动光标一个字符的位置
- j 方向键,向下移动光标到下一行的位置
- k方向键,向上移动光标到下一行的位置
- l 方向键,向右移动光标一个字符的位置
- :N 移动光标到第N行
- 1G 移动光标到文件的第一行
- G 移动光标到文件的最后一行
- :set number 设置显示行号
- :set nonu 取消显示行号
4、vi查找命令
1):/string 查找字符串
- n 继续查找
- 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
- d0 剪切光标所在位置该行前的内容
- d$ 剪切光标所在位置该行后的内容
5)指定行复制(不需要考虑光标位置)
: range y 块复制(底行命令下进行),range表示范围,
如 :1,10(一到十行)
:1,$(第一行到最后一行)
:.,$(当前行到最后一行)
:% y (全部)
6)指定行剪切/删除(不需要考虑光标位置)
: range d 块剪切(底行命令下进行),range表示范围,(可当作删除使用)
如 :1,10(一到十行)
:1,$(第一行到最后一行)
:.,$(当前行到最后一行)
:% y (全部)
7、简单编程步骤:
- 创建一个.c的文件:touch wc.c
- 进入wc.c编程:vi wc.c
- 写代码
#include<stdio.h>
int main()
{
printf("wellcome to the game\n");/*打印“hello”在终端上*/
return 0;
}
- 输入内容保存并推出::wq
- 编译代码:gcc wc.c
- 执行可执行文件:./目标文件
更多推荐
所有评论(0)