Linux基本操作之vi编辑器
一、Vi编辑器的启动和退出
启动
- 输入 Vi 和想要编辑或建立的文件名,便可进入Vi编辑器
- 直接输入Vi,不带文件名,也可进去Vi编辑器
退出
:q 退出,修改后未存盘不能退出
:q! 强制退出(不保存退出)
:w 存盘并退出
:x 存盘并退出,等同于:wq
:w filename 另存为filename
:wq 保存退出
:wq! filename 以filename为文件名保存后退出
ZZ 大写的Z,若文件没有更改,则不存储离开;若文件更改过则存储后离开
最常用指令为
- :wq 保存退出
- !q强制退出
二、Vi编辑器的工作模式
Vi编辑器有3中基本工作模式:编辑模式、插入模式和命令模式
编辑模式
进入Vi后,首先进入的就是编辑模式,进入编辑模式后等待编辑命令输入,这时输入的第一个字母都将作为编辑命令来解释。
编辑命令有:
- 插入命令i
- 附加命令a
- 打开命令o
- 修改命令c
- 替换命令s
以上命令都可进入插入模式
最常用命令: i
插入模式
在插入模式下输入的任何字符都被Vi编辑器当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中(插入模式下),若想回到命令模式下,按ESC键即可。
按ESC键后底部的 insert字样消失
命令模式
在编辑模式下,用户按“:”键即可进入命令模式,此时作为命令模式的提示符,等待用户输入命令。
三、Vi编辑器的基本命令
文件相关命令
:w filename 将编辑的数据存储到另一个文件中
:nw filename 将第n行写到filename文件中
:n1,n2 w filename 把n1到n2写到文件中
:1,. w filename 从1行到光标当前行写到filename中
:.,$ w filename 从当前行结尾写到filename中
:r filename 打开另一个文件filename
:f filename 把当前文件改名为filename
:e filename 新建filename文件
字符串搜索、替换和删除
:/str/ 从当前光标开始往右移动到有str的地方
:?str? 从当前光标开始往左移动到有str的地方
:/str/ w filename 将包含有str的行写进文件filename中
:/str1,/str2/ w filename 将str1开始到str2结束的内容写入filename
:/s/str1/str2/ 将第1个str1替换为str2
:/s/str1/str2/g 将所有的str1替换为str2
文本的复制、删除和移动
:/str1,/str2/d 删除从str1开始到str2为止的所有内容
:n1,n2 co n3 将从n1开始到n2为止的所有内容复制到n3后面
:n1,n2 m n3 将从n1开始到n2为止的所有内容移动到n3后面
:.,$ d 删除从当前行到结尾的所有内容
:d 删除当前行
:nd 删除当前行开始的n行
:n1,n2 d 删除从n1开始到n2为止的所有内容
四、C/C++编辑器gcc的使用
1.编写代码
在用户当前目录,使用Vi编辑器输入如下代码,并保存成文件hello.c:
#include <stdio.h>
int main(void)
{
printf ("Hello world, Linux programming!\n");
return 0;
}
2.使用命令编译和运行
然后执行下面的命令编译和运行这段程序:
gcc hello.c -o hello //编译
./hello //运行
Hello world, Linux programming! //结果