一、起因

下午,我打开 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. CentOS7详细安装教程(图文)

    CentOS7安装过程:(图文详解) 为了做实验,装台Linux的虚拟机,手上有这个7的ISO文件就懒得去下载8的了. 0X01.虚拟机配置 0X02.CentOS7系统配置安装 分别创建/boot区 ...

  2. Linux中ls的用法

    在linux系统中,可以说一切皆文件.文件类型包含:普通文件,目录,字符设备文件,块设备文件,符号链接文件等 我们可以用file这个命令来查看文件的属性: 这里可以看到1.sh是个脚本文件 下面开始介 ...

  3. 8、WindowServer离线安装.NET Framework 3.5

    WindowsServer 默认是不安装 .netframework3.5 的. 8.1.WindowsServer2012R2: 1.把镜像目录下的"sources"目录复制到 ...

  4. linux进程后台运行的几种方法 - nohup/setsid/&

    linux进程后台运行的几种方法 - nohup/setsid/& [转载]   我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务 ...

  5. Spring:Spring-IOC三种注入方式、注入不同数据类型

    一.Spring IOC(依赖注入的三种方式): 1.Setter方法注入 package com.jpeony.spring.setter; import com.jpeony.spring.com ...

  6. 剖析虚幻渲染体系(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光 ...

  7. 密码学系列之:memory-bound函数

    密码学系列之:memory-bound函数 目录 简介 内存函数 内存受限函数 内存受限函数的使用 简介 memory-bound函数可以称为内存受限函数,它是指完成给定计算问题的时间主要取决于保存工 ...

  8. 矩阵按对角线打印---python

    将一个矩阵(二维数组)按对角线向右进行打印.(搜了一下发现好像是美团某次面试要求半小时手撕的题)Example:Input:[[1,2,3,4],[5,1,2,3],[9,5,1,2]]Output: ...

  9. CA和SSL证书介绍

    一.什么是CA? CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心.CA是负责签发证书.认证证书.管理已颁发证书的机关.CA 拥有一个证书(内 ...

  10. 序-WEB方向指南

    WEB 这个方向其实是目前从业人员最多的方向,也是学习安全门槛最低的方向,当然也是最容易恰饭的方向. 我从入行到现在也依旧没有脱离它,毕竟在我这个小城市.小圈子里,不干这个好像就要没饭吃了,但是你说它 ...