我的 NOI Linux 配置
关于系统
首先 NOI Linux 2.0 于 2021年9月1日 正式启用 NOI Linux 2.0发布,将于9月1日起正式启用! , 阉割版 Ubuntu 20.04.1(话说正经的 Ubuntu20 是 Ubuntu 20.04.03 LTS)
下载: NOI Linux 2.0版 大概 3.4GB 。 注意 安装系统时请断开网络 (不然会自动更新一些软件,导致与实际比赛时不同)
软件简表:
类别 | 软件/模块 | 版本 | 备注说明 |
---|---|---|---|
系统 | Kernel | 5.4.0-42-generic | 64位 |
语言环境 | GCC | 9.3.0 | C编译器 |
G++ | 9.3.0 | C++编译器 | |
FPC | 3.0.4 | Pascal编译器 | |
Python | 2.7 | 非竞赛语言 | |
3.8 | 非竞赛语言 | ||
调试工具 | GDB | 9.1 | |
DDD | 3.3.12 | ||
集成开发环境 | Code::Blocks | 20.03 | C/C++集成开发环境 |
Lazarus | 2.0.6 | Pascal集成开发环境 | |
Geany | 1.36 | C/C++/Pascal(轻量级)集成开发环境 | |
文本编辑工具 | VS Code | 1.54.3 | |
Emacs | 26.3 | ||
Gedit | 3.36.2 | ||
Vim | 8.1 | ||
Joe | 4.6 | ||
nano | 4.8 | ||
sublime text | 3.2.2 | ||
其他软件 | Firefox | 79.0 | 网页浏览器 |
Midnight Commander (mc) | 4.8.24 | 终端 | |
XTerm (UXTerm) | 3.5.3 | 终端 | |
Arbiter-local | 1.02 | 程序评测工具单机版 |
值得注意的是:
- 有 VS Code,装了一个 不全 的 C++ 插件, 没有中文包 ,还装了 python 插件(不知道想干啥)。 (upd: 事实证明这个插件等于没装,没有代码补全、C++调试,甚至连最基本的补全都被整没了 ,你最好 禁用该插件 ,以获得较为正常的 vscode 体验)
- G++ 版本很高,
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
默认编译是-std=c++14
,不过没事现在评测也是 C++14 了。 - GDB 版本也挺高的,
GNU gdb (Ubuntu 9.1-0ubuntu1~20.04) 9.1
应该是好事。
Vscode
Ctrl+, 打开设置。
Text Editor > Cursor Blinking:
expand
Text Editor > Cursor Smooth Caret Animation:
true
Text Editor > Font Family:
monospace
Text Editor > Font Size:
16
Test Editor > Smooth Scrolling:
true
1 | { |
Ctrl+K Ctrl+T 改主题
一些有用的快捷键:
-
编辑:
- Ctrl+C、Ctrl+X、Ctrl+V、Ctrl+Z、Ctrl+Y 复制、剪切、粘贴、回撤、恢复
- Ctrl+U 光标回撤
- Ctrl+F、Ctrl+H 搜索、替换
- Ctrl+/ 行注释
- F2 改名 (由于插件挂了,用不了)
-
选择:
- Ctrl+D 选择相同字段
- Ctrl+L 选择行
- Ctrl+Shift+K 删除行
- Alt+Up、Alt+Down 向上移行、向下移行
- Ctrl+Enter、Ctrl+Shift+Enter 行中向下换行、行中向上换行
-
查看:
- Ctrl+` 打开/隐藏 终端
- Ctrl+B 打开/隐藏 侧边栏
- F12 转到定义 (由于插件挂了,用不了)
- Shift+F12 参看所有引用 (由于插件挂了,用不了)
-
命令面板, Ctrl+Shift+P 打开面板,
注意最左边的字符:- 无: 搜索文件
>
搜索命令:a,b
转到 a 行 b 列@
转到函数、全局变量
编译
编译参数:
1 | g++ a.cpp -o a -Wall -Wextra -Wshadow -fsanitize=undefined -g3 |
-Wall
显示警告-Wextra
显示更多警告-Wshadow
若局部变量与全局变量重名,显示警告-fsanitize=undefined
开启未定义行为检测(运行速度会变慢,测速时关掉)-g3
生成调试信息,3
表示生成最大限度的调试信息(包括宏定义)
Vscode 没有一键编译,我们写个脚本 R.sh
:
1 |
|
-
将该文件建在主目录下,即
~/R.sh
-
加可执行权限
1
chmod +x ~/R.sh
-
编辑
~/.bashrc
添加快捷命令,在结尾加上一句:1
alias R='~/R.sh'
-
重新打开终端,若要编译
hello.cpp
,先到对应目录,然后1
R hello
从
in.txt
输入,输出到out.txt
,可以:1
R hello < in.txt > out.txt
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jason Fan.!
评论