Linux用vim进行C++编程的配置和操作入门
温馨提示:点击这里免费订阅信息奥赛之家文章
信息学奥赛的编程推荐使用linux环境,湖南省已经规定提高组必须在linux下进行,最好的办法是安装windows和linux的双系统,这样既可以使用纯粹的linux操作系统,也可以在两个系统中拷贝文件,双系统的安装方法,请参见我前面写的文档:不用U盘,不要光驱,不需分区,windows下安装noilinux双系统。
一、启动linux后,输入密码(默认密码123456)进入系统,创建自己的文件夹,考试的时候按照提示用同样方法创建考生文件夹(有可能系统已经创建了考生文件夹,就不用重新创建了)。
1、单击“位置”(桌面左上角)->主文件夹,打开主文件夹;
2、点右键->新建文件夹->修改文件夹名称,我这里建立了lwb文件夹,也可以命名为汉字,如下图;
3、进入刚才新建的文件夹,新建题目文件夹,进入题目文件夹,新建题目文件(题目.cpp,.in).out文件不用新建,会自动生成,以add题目为例,如下图:
二、配置vim。
Vi是Linux系统的第一个全屏幕交互式编辑程序,是功能强大、高度可定制的文本编辑器(另一个著名的编辑器是Emacs), vim是vi的升级版本,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。vim具有三种模式:命令行模式、插入模式和底行模式,命令行模式下输入“i”或者“a”或者“o”进入插入模式,插入模式输入“Esc”返回命令行模式,命令行模式输入“:”进入底行模式。
1、打开终端(桌面->应用程序->附件->终端或者使用快捷键Ctrl+Alt+t)。
2、输入配置启动命令
sudo gedit /etc/vim/vimrc
3、输入默认密码123456回车,输密码时屏幕是没有显示的,如下图:
4、在打开的vim配置界面的最后面添加配置命令(严格区分大小写)
set nu //显示行号
set tabstop=4 //设置TAB为4格
set mouse=a //激活鼠标
set autoindent //设置自动缩进
set cursorline //突出显示该行
set cursorcolumn //突出显示该列
color desert //设置颜色主题为DESERT
set ruler //设置显示行号
set autoread //设置自动读取文件
map :w:!g++ % -o %< && ./%<
imap :w:!g++ % -o %< && ./% <
后面两行是在不同模式下映射键盘功能键F9来执行后面的命令序列,其中表示键盘esc键,表示回车键,用直白的语言解释就是按F9相当于按Esc键进入命令行,按:w进入底行模式保存文件,回车,然后利用g++强制编译,输出的程序文件和源文件同名,然后删掉程序文件的扩展名并且执行程序,回车。如下图:
保存之后,配置vim就完成了。
三、利用vim编程
1、进入刚才新建的lwbadd目录,输入vim add.cpp回车,就在vim中打开了add.cpp源文件,这里用的的命令有ls(也可以用dir)和cd。如下图所示:
2、输入代码,如下图:
3、然后按F9键,编译运行,提示6行有错误,cim没有声明
4、修改成cin,重新编译,然后输入数据,输出结果,这个时候终端就是windows下的标准输入输出,如下图:
5、利用文件读写操作的话,可以把vim分成三个窗口,一个查看源程序,一个查看输入文件,一个查看输出文件,先用“:vsp” 分开窗口为两列,再用“:sp” 分开左边窗口为两行,此时三个窗口都是add.cpp文件,如下图所示:
6、拖动窗口大小,点击左上角窗口,按Esc键,然后输入”:o add.in”,打开add.in,输入数据,再按“:w”保存文件,进入源程序窗口,按F9编译运行,再到左下角窗口,打开add.out文件就可以查看输出结果了,如下图所示:
7、vim常用操作命令,到源程序里面按F9,再到左下角窗口输入“:o add.out”打开输出文件,如下图所示:
“:w”保存 “:w xxx.cpp”另存为xxx.cpp.
“:o xxx.cpp” 打开xxx.cpp文件。
“:vsp” 分开窗口为两列
“:sp” 分开窗口为两行
“:q” 退出 “:wq”保存并退出 “:q!”强制退出
全文完,娄底一中刘文博,2018-04-12
历史文章:
2018高效自主招生全知道
金明的预算方案(noip2006提高T2)解题报告
CCF NOIP2017复赛获奖分数线及名额分配办法
不用U盘,不要光驱,不需分区,windows下安装noilinux双系统
为什么高二高一的资优生一定要搞竞赛?
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com