Linux 自学笔记(二)——Vi 编辑器

最近在自学韩顺平老师的Linux视频,在跟着视频操作的时候遇到一些Linux 环境的问题,在文章的最后总结归纳在一起,方便以后翻阅

在讲解Vi 编辑器的时候,韩老师结合编程给我们讲了一个Hello world 开发实例。我把过程和遇到的问题记录一下。

一、vi 编辑器进行 Java 开发

讲解案例:在Linux下 使用Vi 编辑器开发一个简单的Java 程序 Hello.java ,并且在 Linux 下运行

1. 开机进入Linux 控制台界面,如果开机默认进入的是图形界面,可按Ctrl +Alt + Shift +F1组合键进入控制台界面

2. 新建名称为 Hello.java 的文件

键入   vi  Hello.java

3.  此时进入 vi 编辑器,自动新建Hello.java 文件并打开

4.  此时键入 i 键,进入插入模式,这样才能够像在windows 下使用记事本一样编辑内容

5.  输入Hello.java 文件的内容,

 

6.  编辑好后输入 ESC 键退出

7.  输入  :wq   回车进行保存

8.  编译Hello.java:  javac Hello.java

9.  成功编译后生成 Hello.class 文件,运行Hello.class:  java Hello

二、vi 编辑器进行 C 开发

讲解案例:在Linux下 使用Vi 编辑器开发一个简单的C 程序 Hello.cpp ,并且在 Linux 下运行

1. 开机进入Linux 控制台界面,如果开机默认进入的是图形界面,可按Ctrl +Alt + Shift +F1组合键进入控制台界面

2. 新建名称为 Hello.cpp的文件

键入   vi  Hello.cpp

3.  此时进入 vi 编辑器,自动新建Hello.cpp文件并打开

4.  此时键入 i 键,进入插入模式,这样才能够像在windows 下使用记事本一样编辑内容

5.  输入Hello.cpp文件的内容,

 

6.  编辑好后输入 ESC 键退出

7.  输入  :wq   回车进行保存

8.  编译Hello.cpp:  g++ Hello.cpp    (gcc Hello.cpp  命令不能通过  )

9.  成功编译后生成 a.out 文件,运行a.out :  ./a.out

 说明:g++  -o Hello  Hello.cpp

编译生成文件:Hello

遇到的问题:

问题一:

操作: 使用  gcc Hello.cpp  命令编译文件出错

错误提示:/tmp/ccytkpsi.o(.eh_frame+0x11):undefined reference to `__gxx_personality_v0'
               collect2: ld returned 1 exit status

错误原因:gcc通过文件的后缀名来决定如何处理该文件,gcc 把.c后缀当成c语言源代码文件处理;把.C或.cc或.cpp 后缀文件当成C++ 文件来处理

解决方案:不使用gcc  命令,改用 g++  命令:g++ Hello.cpp 

 

问题二:

问题现象:使用vi  编辑器时对于代码的关键字没有彩色显示

解决方案:

第一步:使用命令#rpm -qa|grep vim 查下是否已经安装了vi

如果提示not install则需安装如下rpm包:

vim-enhance-版本号.rpm

vim-common-版本号.rpm

vim-minimal-版本号.rpm

如果没有提示not install 只是显示3行文件,如上面三行,则进行第二步

第二:然后修改 #vi /etc/bashrc 在最后面另起一行加入“alias vi=vim”然后wq保存退出。

这样在shell里面敲入vi时候就自动打开vim了(vim是vi improve的简称)

第三:最后修改 #vi /etc/vimrc在如下语句中加入“syntax on”,之后重启vi,就可以开启高亮显示了。

if &t_Co > 2 || has("gui_running")
               syntax on
              set hlsearch
endif

注意:如果有的话则不必再添加。

第四:用 #init 6 重启一下linux 服务器。

重启完成后,可以高亮显示了。

 

C#简单变色龙游戏 /// /// 创建一副52张的新牌 /// /// public static System.Collections.ArrayList Creat() { System.Collections.ArrayList list = new System.Collections.ArrayList(); for (int i = 3; i <= 6; i++) { for (int j = 1; j <= 13; j++) { Poker p = new Poker(); switch (j) { case 1: p = new Poker((PokerStyle)i, "A", j, 11); break; case 2: p = new Poker((PokerStyle)i, j.ToString(), j, 10); break; case 11: p = new Poker((PokerStyle)i, "J", j, 11); break; case 12: p = new Poker((PokerStyle)i, "Q", j, 2); break; case 13: p = new Poker((PokerStyle)i, "K", j, 3); break; default: p = new Poker((PokerStyle)i, j.ToString(), j, j); break; } list.Add(p); } } return list; } /// /// 洗牌 /// /// /// public static System.Collections.ArrayList shuffle(System.Collections.ArrayList list)//洗牌 { System.Random r = new Random(); for (int i = 0; i <= 7; i++) { int rightOrRight = r.Next(1, 3); Poker[] leftPoker = new Poker[list.Count / 2]; Poker[] rightPoker = new Poker[list.Count % 2 == 0 ? list.Count / 2 : list.Count / 2 + 1]; list.CopyTo(0, leftPoker, 0, list.Count / 2); list.CopyTo(list.Count / 2, rightPoker, 0, list.Count % 2 == 0 ? list.Count / 2 : list.Count / 2 + 1); if (rightOrRight == 1)//左边插右边 { list.Clear(); for (int j = 0; j <= leftPoker.Length - 1; j++) { list.Add(rightPoker[j]); list.Add(leftPoker[j]); } if (leftPoker.Length != rightPoker.Length) { list.Add(rightPoker[rightPoker.Length - 1]); } } else { list.Clear(); for (int j = 0; j <= leftPoker.Length - 1; j++) { list.Add(leftPoker[j]); list.Add(rightPoker[j]); } if (leftPoker.Length != rightPoker.Length) { list.Add(rightPoker[rightPoker.Length - 1]); } } } return list; }
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值