一、起因

下午,我打开 noi 官网准备报名 csp j/s,一看官网展板:“noi linux 2.0 发布” 我就兴奋了起来。(9 月 1 日起开始使用,

也就意味着 csp j/s 使用 noi linux 2.0)

啪的一下很快啊,我点击了这个图片链接。

一看这个配置:Ubuntu 20.04.1、vscode、sublime、code::blocks、gcc-9,

同时也去除了辣鸡 IDE(GUIDE)。

相比于之前的 noi linux,这简直是天堂啊!

回想去年参加 csp,使用的是老版的 noi linux,回想起来真是一把辛酸泪啊:那个老旧的 Ubuntu 14.04、莫名其妙卡死的桌面、

不能称之为 IDE 的 IDE(GUIDE)、gdb 崩溃......我当时用的 emacs 和 vim(emacs稍微好一些,但是我比较习惯 vim),比赛前

还特意查了 vim 的用法、背了配置文件。真是难以言表。

难道 CCF 终于了解到 OIer 们的痛点了吗?他终于醒悟了吗?

二、安装系统

抱着试试看的心态,我下载了 noi linux 2.0 的 iso 文件(3.4G),使用 VirtualBox 安装了虚拟机(vmware 我感觉不好用),

当然也可以实体机安装双系统,网上教程一大堆,自行搜索。

这里注意,新的 Ubuntu 20.04 是 64 位系统(32位的可以歇歇了),RAM 最少需要开 2048 MB(否则系统无法启动)。

安装系统就一路默认(一开始语言选的是中文,后来我后悔了,最好选英文),键盘布局选择 Chinese - Chinese 就行。

大概 20 分钟左右系统安装完成,重启后弹出虚拟光驱进入系统。

三、使用系统

整个系统给我第一眼的印象感觉还行(可以在桌面右键点击

更换壁纸),但是系统似乎没有网络模块,所以无法联网。

点击左下角的点,打开 VS Code、Terminal、Sublime Text、Code::Blocks。我写了一份测试代码(本人 C++ 党)。

#include <cstdio>
#include <cctype>
#include <vector>
using namespace std; #define reg register // 快读模板
int readInt() {
reg int x = 0, f = 1; char ch = getchar();
while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); }
while (isdigit(ch)) { x = x * 10 + ch - 48; ch = getchar(); }
return x * f;
} int main(void) {
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout); vector<int> v;
int n = readInt();
for (reg int i = 0; i < n; i++) v.push_back(read());
for (auto el& : v) printf("%d ", el);
puts(""); fclose(stdin); fclose(stdout);
return 0;
}

保存在 ~/test.cpp

同时创建 ~/test.in 并输入以下内容

5
1 2 3 4 5

在终端中输入

$ g++ test.cpp -o test -std=c++11 -O2  # C++11 和 O2 优化
$ ./test

打开 ~/test.out 查看,输出为:

1 2 3 4 5

VS Code、Sublime Text、Code::Blocks 我都进行了测试,并得出以下结论:

  • VS Code 默认安装了 C/C++、Python、Pylance、Jupyter 插件,但是由于 C/C++ 插件安装后需要从 github 下载依赖文件,而系统又无法联网,所以 C/C++ 插件基本无用,这也导致了 VS Code 在 noi linux 下尴尬的境地。(但是不得不说 VS Code 在其他地方非常好用,平常用来写代码非常方便,同时跨平台支持,上手难度非常低,想使用的话教程网上都有)所以在这里不推荐使用 VS Code。
  • Sublime Text 是另一款轻量化编辑器,和 VS Code 一样颜值高,在 noi linux 下有 C++ 的语法提示,同时支持单文件编译,其万能搜索栏(Ctrl+Shift+P)也是非常顺手。推荐使用 Sublime Text。
  • Code::Blocks 是一款 C/C++ IDE(集成开发环境)。同时可以支持 C++ 语法提示,支持单文件编译,但是颜值非常朴素(与 Dev-C++ 类似)。Code::Blocks 跨平台支持,使用难度低,可以平时在其他系统使用。推荐 Code::Blocks。
  • Vim/Emacs 上手难度较高,简洁高效,但是在不熟悉其快捷键的时候效率非常低。所以这里并未使用 Vim/Emacs 进行测试。

建议平时刷题的时候使用 Code::Blocks,可以抛弃老旧的 Dev-C++ 了。

小提示:Linux 的命令行非常高效,建议熟练掌握其常见命令,有时甚至在比赛时可以救你一命(亲身经历)

四、总结

noi linux 2.0 相比旧版本做了很大的改动,其使用更加方便,更加适合 OIer。

编程工具建议使用 Code::Blocks 和 Sublime Text。两者都有较好的语法提示和单文件编译功能。

CCF 终于开窍了!

noi linux 2.0 体验的更多相关文章

  1. Linux系统部署体验中心

    Linux系统部署体验中心 安装Linux虚拟机 1.  下载安装VMware,安装64位Linux系统(Ubuntu),要求:CPU双核,2G内存,60G硬盘 2.  安装系统时,选择安装ssh服务 ...

  2. VMware EXSI 6.0 体验

    VMware EXSI 6.0 体验 导读 VMware 作为虚拟化行业的老大,占据了80%的市场份额.而在服务器虚拟化就不得不说 VMware vSphere ,这个组合包括了VMware EXSI ...

  3. NetCore1.1+Linux部署初体验

    1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...

  4. 第三次随笔--安装虚拟机及学习linux系统初体验

    第三次随笔--安装虚拟机及学习linux系统初体验 ·学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 首先按照老师的提示步骤进行VirtualBox虚拟 ...

  5. ubuntu简易教程(如何使用noi linux)

    目录 linux环境下的基础操作 命令行操作 编辑器 程序编译 程序调试 gdb的使用 对拍 在提高组的考试中要求使用noi linux,因此了解一下如何在linux环境下编程是很有必要的. linu ...

  6. Red Hat Enterprise Linux 8.0 安装

    Red Hat Enterprise Linux 8.0 安装 本次安装通过使用VMware Workstation 15 pro 进行. 1.新建虚拟机 2.点击首页的创建新的虚拟机,或者点击标签栏 ...

  7. 致萌新与不会用 NOI Linux 的 OIer

    全文绝大部分转载自:这篇好文章啊. 目录 1:GUIDE 2:Gedit 原文 打开 编译运行 3.Vim 3-1:这东西咋开啊 3-2:这东西咋用啊 4.编译与运行 5.调试 6.CSP竞赛中编写代 ...

  8. NOI Linux 快速入门指南

    目录 关于安装 NOI Linux 系统配置 网络 输入法 编辑器 1. gedit 打开 配置 外观展示 2. vim 打开 配置 使用 makefile 编译运行 1. 编写 makefile 2 ...

  9. Kali Linux 2.0配置并安装常用的工具

    Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 2.0是基于Debian ...

随机推荐

  1. Tkinter 吐槽之二:Event 事件在子元素中共享

    背景 最近想简单粗暴的用 Python 写一个 GUI 的小程序.因为 Tkinter 是 Python 自带的 GUI 解决方案,为了部署方便,就直接选择了 Tkinter. 本来觉得 GUI 发展 ...

  2. git schnnel failed to receive handshake, SSLTLS connection failed

    git schnnel failed to receive handshake, SSLTLS connection failed 报错,查看原因为git安装时ssl选择的不是openssl.重新安装 ...

  3. 41、解决du与df统计不一致的解决方法

    41.1.案例说明: 通过df -hT和du -sh /.du -h --max-depth=1 /命令 发现磁盘的使用不量不一致,使用'df -hT'命令查看磁盘的使用量要 比使用'du -sh / ...

  4. IE浏览器 AjaxForm文件上传错误:Stream ended unexpectedly

    错误日志: 1 org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet requ ...

  5. Gym 101206L Daylight Saving Time 根据年月日计算星期

    题意: [3月的第二个周日02:00:00 , 3月的第二个周日03:00:00) 这个区间都不是PST或PDT,[11月的第一个周日01:00:00 , 11月的第一个周日02:00:00) 这个区 ...

  6. 二维动态规划&&二分查找的动态规划&&最长递增子序列&&最长连续递增子序列

    题目描述与背景介绍 背景题目: [674. 最长连续递增序列]https://leetcode-cn.com/problems/longest-continuous-increasing-subseq ...

  7. 0shell变量

    1.定义变量 2.使用变量 3.修改变量的值 4.将命令的结果赋值给变量 5.只读变量 6.删除变量 一.变量 1.定义变量 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时 ...

  8. 剖析虚幻渲染体系(06)- UE5特辑Part 2(Lumen和其它)

    目录 6.5 Lumen 6.5.1 Lumen技术特性 6.5.1.1 表面缓存(Surface Cache) 6.5.1.2 屏幕追踪(Screen Tracing) 6.5.1.3 Lumen光 ...

  9. CentOS 8 已经不再支持,Rocky Linux 才是未来

    2020年12月8日,红帽公司宣布,他们将停止开发CentOS,而在此之前CentOS一直作为红帽企业Linux的生产型分支及下游版本,此后他们将转而开发该操作系统的一个更新的上游开发变种,即 &qu ...

  10. Java on Visual Studio Code的更新 – 2021年6月

    Nick Zhu from Microsoft VS Code Java Team 大家好,欢迎来到 Visual Studio Code Java 更新的特别年中版.作为这篇文章的重点,我们将看看接 ...