linux中有3中编辑器,vi/vim,gvim,gedit,其中vim是vi的增强版本 ,gvim是vim的图形化版本,gedit在red hat linux中类似于windows中的notepad。
vim有三种模式,分别是:命令模式(普通模式),编辑模式(插入模式),可视化模式。从编辑模式和可视化模式到命令模式按ESC健。从命令模式到编辑模式可以按i/a键,从命令模式到可视化模式可以按 v键。
在linux的发行版中,一般都带有vim编辑器,这个编辑器感觉挺好用的,下面就稍微就它的几个操作进行小结,以方便记忆。
1.常用的命令
保存:w ,另存:w otherfile,追加保存:w >> f,保存退出:x或者ZZ(这个不需要加:)
打开:r
移动:上、下、左、右光标键或者(h,j,k,l)
插入:i,I,a(前追加),A(后追加),o(下一行),O(上一行)
删除:当前位置删除x,整行删除dd
撤销:上一步u,所有操作U
退出:q(不保存),q!(强制退出),ZZ(保存退出),x(保持退出)
搜索:/string(向后搜索),?string(向前搜索),n(上一条),N(下一条)
替换:
复制:整行y,块复制(切换到V模式,之后用鼠标选中,y)
粘贴:p
2.设置
添加行号:set number或者set nu
撤销行号:set nonumber或者set nonu
需要注意的是,这些命令都必须在命令模式下,输入才有效,不用来输入命令,干嘛叫命令模式呢?是吧。有些命令需要加:,而有些命令不需要加:,如ZZ命令。
一开始的时候,本人不同喜欢使用linux,可是后来发现vim这个编辑器功能挺强大的,慢慢的喜欢上这个编辑器进行文本编辑了。
为了巩固vim的基本操作,特地使用vim,利用C语言编写了一个求素数的C语言程序。代码如下:
#include <math.h>
int main()
{
int flag;
int n=2;
int m=0;
while(n < 200)
{
flag = 1;
for(int i=2; i<=(int)sqrt(n); i++)
{
if(n%i == 0)
flag = 0;
}
if(flag == 1)
{
m++;
printf("%d ",n);
if( m%10==0)
printf("\n");
}
n++;
}
printf("\n");
return 0;
}
运行截图:
在使用gcc编译C源文件的过程中,需要加 -lm,否则编译不通过,那里提示说sqrt通过不了,应该是没指定库文件,
可以用-L和-l指定
-Ldirname 指定函数库存放的目录
-lname 指定“libname.a”的函数库,有人说sqrt的参数是double,加了lm就可以了。