NOI_Linux
干货向。。。
0x01 基础使用
Ctrl+Alt+T
召唤终端。
新建文件的指令是 touch+文件名
。
time ./code
可以在运行的同时显示运行所需的时间。
请注意,这个功能只能在 Linux 下使用。
而且要注意 Linux 下有特殊意义的不是 \
而是 /
。
0x02 VSCode 的使用技巧
现在给一些在英文环境下使用 VSC 的指北。
预先配置:
左下角有一个设置按钮,点开,第二行的 Settings。
然后点第一行 Text Editor,再点第三行 Font,选择 Font Size,选择至合适大小(这里在 Windows 下 30 比较合适)。(直接搜索 font size)
然后是 Text Editor 下倒数第三行的 Minimap,Maxcolumn 调整为 240(差不多罢),然后下面的 Scale 调整为 3。(直接搜索 minimap,maxcolumn,scale)
然后右下角空格缩进 4 改为 2。(设置的时候直接搜 Tab size 然后把 4 改成 2。)
大概可以了,在 NOI Linux 的环境下应该可以较为正常的使用了。
基础快捷键:
然后 VSC 里撤销是
Ctrl+Z
,恢复上一步操作是Ctrl+Shift+Z
。VSCode 里
shift+{
可以把选中的内容套上大括号,小括号同理,方括号不行。Ctrl+{
可以减去区域的整体缩进,Ctrl+}
可以增加区域的整体缩进。终端打开:
有两种方法,一种是
Ctrl+~
可以打开 VSC 内的一个控制系统的终端,不好的地方在于需要cd
文件夹,除非考场上直接把选手文件夹建在主文件夹,这个东西有一点费事。还有一种是直接
Ctrl+Shift+C
,直接打开一个文件下的终端,比较爽(很可惜 Linux 下没法使用)。行内操作:
删除当前行:
Ctrl+Shift+K
。移动当前行:
Alt+Up/Down
。复制粘贴行:
Ctrl+C Ctrl+V
,注意这个真的会覆盖剪切板。剪切一行:
Ctrl+X
。跳到指定行:
Ctrl+G
,如果用鼠标的话当我没说,想用这个快速换行可以实时调整(?)。在上面插入一行:
Ctrl+Shift+Enter
。在下面插入一行:
Ctrl+Enter
。折叠行:
Ctrl+Shift+{
。展开行:
Ctrl+Shift+}
。自动换行:
Alt+Z
,不会真的换行,只是更改显示。编辑器视图相关:
关闭当前视图:
Ctrl+W
。拆分视图:
Ctrl+\
,向左拆分的,好像用处不大。切换编辑器视图:
Alt+数字
。切换组:
Ctrl+数字
。切换视图的水平/垂直布局:
Shift+Alt+0
。放大和缩小:
Ctrl+ +/-
。查找搜索相关:
替换:
Ctrl+H
,退出的话点Esc
。查找下一个:
F3
。查找上一个:
Shift+F3
。切换区分使用大小写:
Alt+C
。选择:
一般选择:
Shift+U/D/L/R
。选择单词:
Ctrl+Shift+Left/Right
。选择整行:
Alt+Shift+Right+Right
。删除单词:
Ctrl+Backspace
。删除当前行中光标后的东西:
Ctrl+Del
。选中所有相同的匹配项:
Ctrl+F2
。选择后复制到行上:
Shift+Alt+Up
。选择后复制到行下:
Shift+Alt+Down
。退回到上一个光标的位置:
Ctrl+U
。很可惜没有找到使用键盘快速移动光标的方法(想要至少能赶上鼠标滚轮的速度/kk,不然使用
Ctrl+G
实际上还是有一点鸡肋)。
0x03 gdb 的相关使用
然后再补充一些指令,以及 gdb 的使用。
gdb 最强大的地方在于可以快速找到段错误(除 0,数组越界,爆栈等),我们可以直接在 gdb 下运行,然后就可以直接给你返回出错的地方。
然后还有一些它的调试功能。
在编译时使用该指令:
g++ -g code.cpp -o code -Wall
然后我们在调试的时候这样:
gdb code
这样我们就能进入 gdb 的调试。
r
可以直接运行。如果想要干大事,可以 start
,从 main 函数的第一行开始执行,然后不断地 n
(执行下一行)即可。disp ans
可以一直显示 ans 的值,方便调试。
s
可以进入函数内部。
b
可以设置断点,还有一些附加比如:
b 34 if i==4
在 i==4 的时候断点才会起作用。
d
可以删除所有断点。
当然有的时候也需要在调试时使用 s
,表示执行时进入函数内部,看内部的使用。
u
会执行当前行直到当前行对应的循环结束。
finish
运行到当前函数结束,如果有返回值,会输出返回值。
return
强行 return,可以返回指定的值。
p x=4
,将此时的 x 赋值 4。
l
可以显示代码。l,r
显示区间代码,l
显示 l 附近的 10 行代码。
q
可以退出调试。
还有一个东西叫做 Ctrl+C
。
0x04 Windows 下实现指令编译(主要是为了适应 Windows 下的 VSC 编程并且避免使用其插件)
一些比较神奇的东西。。。在 Windows 下装 MinGW 其实完全不需要重新下载,只要找到 Dev-Cpp 的路径,然后把里面 MinGW 的 bin 路径赋值到系统变量 path 里就完事了。。。弄了半天。。。
学校 hwc 机房里的 MinGW 居然是 1999 年的令我大为震撼,这时指令只可以使用 gcc
。
然后 Win7 的路径修改还和 Win10 不太相同,其实就是多一个 ;
隔开每一条路径而已。
另外,一定注意编译的路径是英文的,千万不能有中文符号,否则编译一次真的可以爽上一年。
0x05 Windows 日常操作指北
打开文件资源管理器:Win+R explorer.exe
,然后上下键或者直接键入首字母都是可以的。
退回上一级文件:Alt+Left
,下一级就是 Alt+Right
。
删除文件可以直接 Del
。
重命名文件可以直接 F2
(不知道这玩意曾经把我累死过一次。。。)。
反正能少用不少次鼠标/ts。